Реферат: Програмирование на Visual Basic
Рис. з.зо
вывода результата и предупреждении о не заполнении необходимых текстовых окон. Коммандные кнопки “Начало/Ввод”, “Просмотр файла”, “Ввод запроса”, “Обработка запроса”. “Конец” (имена соответственно Command I, Command2, Command3, Command4, Command5) обеспечивают переход к функциональным алгоритмам. Оператор объявления пользовательского типа данных помещаются в модуль module l.bas. Работа программы иллюстрируется на рис. 3.31—3.33.
Текст процедуры обработки событий:
Type Primer
Familia As String * 20
Dolgnost As String * 20
Podrazdelenie As String * 20
Zarpiata As String * 10 End Type
Dim Nzapisi, Nzapisil As Integer Dim Peremen As Primer Private Sub Coirimandl_Cllck ()
Nzapisi = 1
Nzapibil 1
Open “TestFile” For Random Access Read Write As #10 Len = 70
Textl.Enabled - True
Text2.Enabled -= True
Text3.Enabled—True
Text 4.Enablea = True
Text?.Enabled - True
Textl.SetFocus
Commandl.Enabled -= False End Sub
Private Sub Command2_Click ( ) Dim Peremen As Primer Textl.Text = “” Text2.Text - “” Text3.Text - “” Text4.Text = “” If Nzapisil <” Nzapisi Then Get #10, Nzapisil, Peremen Textl.Text = Peremen.Familia Text2.Text =- Peremen.Dolgnost Text3.Text = Peremen.Podrazdeleni Text4.Text = Peremen.Zarplata End If
Nzapisil = Nzapisil + 1 End Sub
Private Sub Command3__Click()
Textl.Text = “”
Text2.Text = “”
Text3.Text =• “”
Text4.Text = “”
Text5-Enabled = True
Text 6.Enabled = True
Text5.Text = “”
TextG.Text = “”
Text5.SetFocus End Sub
Private Sub Conmand4_Clic1 Dim Peremen As Primer
Dim Zaprosi As baring - ^.u, ^аргоь^ as String * 20, Sum As Sinqie
Dim Pri As Integer, Pr2 As Integer, Koi As Integer, Rez As Single
Pri - -1: Pr2 - -1: Nzapisil = 1: Kol = 0: Sum - О
Zciprosi - Text’).Text: Zapros2 = Text6.Text Do While N^dpibil “•’zapisi ‘^rit #1’, Nzdpisil, Peremen If Peremen. Pcmra^aeienie - Z^prosi Th>.’n t’rl -= 1 End If
If Peremen.Dolgnost = Zapros2 Then Pr2 - 1 End If
If Peremen. Podrazdelenie - Zciprosi And Peremen.Dotqnosr Zdpros2 Then
Kol k’)i + 1 : Sun suit + Val ( E’fc r emen . Zdrplata ) : Rez - iiiim / Koi End If
N?apisil - ^Zcioisil + 1 Loop II: Pri < (• T^hen
MsqBox “Tai- ого псдразд&ления нет” Tex^J.rext - “”: GoTo l-mishb End If If Pr2 < 0 Then MsgBox “Такой допкно ••ти нет”
r^xtt.rex”- - “”: u^Tu Finishfa End I*
Text /.It >;r Str$ ;Re.i) i”^mmdndb . Fn,jbi( ci =- ‘I rue F i n i a n о :
End Sub
briV.itt S л1 ‘ .:l”LcU!f.t^ CLlCK(,
^1оъе #1-;
Kill “Tebtr.i-“ Enci bnd Suo
Private Suo ruriii L’^ad () Comricinal .Enabit ‘•i True Coi’mdnd2 . Er.JDied r.aisp Command i. EnaO-l ed - i-alse Command4 . Eriab i-ed - ‘: ^lae Commands.Enabled = False Textl.Enabled =- False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Text5.Enabled = False Text6.Enabled = False Text7.Enabled = False End Sub
Private Sub Textl_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
If Textl.Text = “” Then
Label7.Caption = “Предупреждение” Text7.Text = “Введите фамилию” Textl.SetFocus GoTo Finish End If
If Label7.Caption = “Предупреждение” Then Label7.Caption = “Результат” Text7.Text = “” End If Text2.SetFocus End If Finish:
End Sub
Private Sub Text2 Keypress(KeyAscii As Integer) If KeyAscii ^ 13 Then
If Text2.Text = “” Then
Label7.Caption = “Предупреждение” Text7.Text = “Введите должность” Text2.SetFocus GoTo Finishi End If
If Label7.Caption = “Предупреждение” Then Label7.Caption = “Результат” Text7.Text = “” End If
Text3.SetFocus End If Finishi:
End Sub
Private Sub Text3 Keypress(KeyAscii As Integer) If KeyAscii ~= 13 Then
If Text3.Text = “” Then
Label7.Caption = “Предупреждение” Text7.Text - “Введите подразделение Text3.SetFocus GoTo Finish2 End If
If Label7.Caption = “Предупреждение” Then Ldbei7.Caption = “Результат” Text 7.Text = “” End If Text4.SetFocus End If Finish2:
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer) Dim Peremen As Primer
If KeyAscii =. 1 3 Then
It Text 4.Text = “” Then
Labei7.Caption = “Предупреждение” Text7.Text = “Введите зарплату” Text4.SetFocus GoTo Finish3 End If
If Labei7.Caption = “Предупреждение” Then Label7.Caption = “Результат” Text7.Text = “” End If Finish3:
Peremen.Familia = Textl.Text
Peremen.Dolgnost = Text2.Text Peremen.Podrazdelenie = Text3.Text
Peremen.Zarplata = Text4.Text Put #10, Nzapisi, Peremen Nzapisi = Nzapisi + 1
Command2.Enabled = True Command3.Enabled = True
Рис 332
Глава 4. ПРОГРАММИРОВАНИЕ ГРАФИКИ 4.1 ГЕНЕРАЦИЯ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ
Изображение на экране дисплея складывается из множества отдельных точек, которые называются пикселами (pixel — образуется аббревиатурой английских слов picture elements — элементы картинки) Изображение на экране является образом видеопамяти — специальный блок памяти, с которым работает видеоконтроллер Количество точек на экране и информация по каждой из точек определяют режим работы дисплея и требуемый объем видеопамяти. В монохромных дисплеях 1 пиксел требует 1 бит видеопамяти (бит содержит 1 — соответствующая ему точка экрана светится, бит содержит О—не светится) При разрешении экрана, например, 640*320 (очень плохое разрешение) требуется уже 640*320 = 204 800 бит видеопамяти (25 600 байт).
В цветных дисплеях каждый пиксел кодируется несколькими битами, определяющими цвет Любой цвет создается смешением красного, зеленого и синего цветов различной интенсивности В зависимости от видеоконтроллера на 1 пиксел требуется от 4 до 32 бит, определяющих возможность передачи оттенков цветов (например, 256 или более цветов), и объем видеопамяти достигает 4 Мбайт
Для задания цвета графических объектов в Visual Basic используется специальная функция RGB, название которой образовано по первым буквам английских слов Red (красный). Green (зеленый) и Blue (голубой) Функция использует три целочисленных параметра (аргумента), которые могут принимать значения от 0 до 255 Первый параметр определяет интенсивность красного цвета, второй — интенсивность зеленого, третий — интенсивность голубого При значении параметра 0 — соответствующий цвет полностью отсутствует, 255 — максимальная интенсивность
В табл. 4 1 приводятся значения параметров RGB-функции Для наиболее распространенных цветов.
Теоретически функция RGB
позволяет работать с 16 млн. Цветов, но реально цветовая гамма определяется
видеоплатой компьютера.
Рис 331
Text 1.Text = “”
Text2.Text = “”
Text3.Text = “”
Text4.Text = “” Textl.Setbocus End If End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer) If KeyAscii - 13 Then
If TextS.Text = “” Then
Label7.Caption = “Предупреждение” Text7.Text - “Введите подразделение” Texi-S.SetFocus GoTo Finish4 End If
If Label7.Caption = “Предупреждение” Then Label7.Caption = “Результат” Тех!”7. Text = “” End If Text6.SetFocus t End If Finish4:
End Sub
Рис 332
Таблица 4 3
Значения свойства ScaleMode | Единицы измерения |
0 | Определяются пользователем |
1 | twips (no умолчанию) |
2 | Пункты (0 035 см) |
3 | Пикселы (зависит от разрешения дисплея) |
4 | Символы (1/6 дюйма по вертикали и 1/12 дюйма по горизонтали) |
5 | Дюймы |
6 | Миллиметры |
7 | Сантиметры |
Единицы измерения координат и размеров объектов на форме определяются значением свойства ScaleMode для формы В табл 4 3 приводятся значения свойства ScaleMode и соответствующие им единицы измерения.
При значении ScaleMode равном 0 можно задать собственную систему единиц Для этого также нужно настроить свойства ScaleHeight (шкала по Y) и ScaleWidth (шкала по X) Если, например, ScaleWidth приравнять 100 и ScaleHeight приравнять 200, то ширина формы будет равна 100 единицам, а высота 200 единицам Если для размещаемого после этого на форме текстового окна свойству Width присвоить значение 25, то оно будет занимать четверть ширины формы
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37