Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Русский_Проект:Изучение Visual Basic


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Русский_Проект:Рассылка Четвертый выпуск

Содержание
1 Новости сайта
2 Алгоритмы
3 Функции API

Новости сайта

Примеры
Приемы работы с текстовым полем-выделение текста при получении фокуса и замена символа вставкой

Алгоритмы

И снова об алгоритмах.Сегодня поговорим о перемешивании.Данный алгоритм может понадобиться в играх,например для перемешивания колоды карт,костей домино и т.д. Для этого создаем строку из символов,где каждому символу будет соответствовать своя фишка,карта или костяшка

Итак,сначала словесный алгоритм.
1.Начинаем с первого символа
2.Меняем его с произвольно выбранным символом
3.Делаем то же самое со вторым символом,и так далее,пока не дойдем до конца строки.
Теперь напишем данный алгоритм на VB

Dim sPhrase as String 'строчка из 10 символов
Dim sSaveString as String 'для временного хранения
Dim I as Integer
Dim LenPhrase as Integer 'длина строки
Dim Num as Integer
Randomize
sPhrase="1234567890" 'перемешаем эти цифры
LenPhrase=Len(sPhrase) 'вычисляем длину строки
 For I=1 to LenPhrase 'начинаем цикл
   Num=Int(LenPhrase*Rnd)+1
   sSaveString=Mid(sPhrase,I,1)
   Mid(sPhrase,I,1)=Mid(sPhrase,Num,1)
   Mid(sPhrase,Num,1)=sSaveString
 Next I
Debug.Print sPhrase 'выводим результат

Функции API

Функция ChangeDisplaySettings

ChangeDisplaySettings изменяет текущие параметры настройки экрана. Эта функция может менять текущее разрешение экрана и разрядность цвета:
Declare Function ChangeDisplaySettings Lib "user32.dll" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long

Пример
' Меняем текущее разрешение экрана
' на 640*480 и сохраняем установки в реестре.
' Тестируем,поддерживает ли видеоадаптер новое
' разрешение. Если необходима перезагрузка,
' то информируем пользователя. Установите на форме
' кнопку Command1

Private Sub Command1_Click()
 Dim dm As DEVMODE  ' настройки экрана
 Dim retval As Long ' возвращаемое значение

' Инициализируем структуру
 dm.dmSize = Len(dm)

' Получаем текущие настройки экрана
 retval = EnumDisplaySettings(vbNullString, ENUM_CURRENT_SETTINGS, dm)
' Меняем разрешение на 640*480
 dm.dmPelsWidth = 640
 dm.dmPelsHeight = 480
' Проверяем,возможно ли это
 retval = ChangeDisplaySettings(dm, CDS_TEST)
   If retval <> DISP_CHANGE_SUCCESSFUL Then
  Debug.Print "Нельзя устанавливать такое разрешение!"
 Else
' Меняем и сохраняем новые параметры
         retval = ChangeDisplaySettings(dm, CDS_UPDATEREGISTRY)
  Select Case retval
 Case DISP_CHANGE_SUCCESSFUL
   Debug.Print "Новое разрешение установлено!"
 Case DISP_CHANGE_RESTART
   Debug.Print "Необходима перезагрузка,чтобы изменения вступили в силу"
 Case Else
   Debug.Print "Не могу изменить настройки!"
 End Select

End If
End Sub
Полный текст с описанием этой функции вы найдете в новой версии справочника по функциям API,который скоро появится на сайте!

Не стесняйтес,высылайте ваши предложения по адресу vbasic@rambler.ru
Посетите сайт Русский_Проект,где вы найдете другую интересную информацию
Давайте делать рассылку вместе! Удачи!


http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное