Смекни!
smekni.com

Програмирование на Visual Basic (стр. 12 из 30)

На рис. 2.29 показано окно Menu Design Windows в момент проектирования. Выделен элемент меню “Копировать” (свойство Caption - ^.Копировать, имя - mnuEdifCopy, “горячая” клавиша -Ctrl+C). Вставка символа “&” означает задание “горячей” клавиши. Символы “....” обозначают переход на следующий уровень иерархии пунктов меню (“Копировать” является подпунктом меню “Файл”) и задаются кнопками изменения уровня пунктов меню.

Аналогично имени mnuEditCopy образуются имена остальных пунктов меню, которые используются для записи программы (nmuEditCut, mnuEditPaste, mnuFileExit, mnuHelpAbout, mnuFileNew, mnuFileOpen, mnuFileSave, mnuFileSaveAs, mnu File Exit}.

Тексты процедур обработки событий следующие:

Sub Form_Resize ()

txtEditBox.Height = ScaleHeight txtEditBox.Width = ScaleWidth

End Sub

Sub mnuEditCopy_Click ()

Clipboard.Clear 'очистить буфер

Clipboard.SetText txtEditBox.SeiText

'поместить 'выделенный текст в буфер End Sub

Sub mnuEditCut_Click ()

Clipboard.Clear 'очистить буфер Clipboard.SetText txtEditBox.SeiText

'поместить 'выделенный текст в буфер txtEditBox.SeiText = “”

'удаление выделенного

'текста End Sub

Sub mnuEditPaste_Click ()

txtEditBox.SeiText = Clipboard.GetText() End Sub

Sub mnuFileExit_Click ()

If MsgBox(“Выход?”,1+32,”Подтвердить”)=lThen End

End Sub

Sub mnuHelpAbout_Click ()

MsgBox “Мой редактор на Visual Basic”,64,”О программе” • End Sub

Sub Form_Unload (Cancel As Integer)

Cancel = 1

mnuFileExit_Click End Sub

Процедура Form_Resiy (обработка события изменения размера формы) обеспечивает автоматическое изменение размеров текстового окна при изменении размеров формы.

Процедура mnuEditCopy_Click (обработка события щелчка мыши по пункту меню “Копировать”) обеспечивает запись выделенного текста в буфер. Используются рассмотренные выше методы для объекта Clipboard и методы для текстового окна (операторы Clipboard. Clear и Clipboard.SetText txtEditBox. SeiText). Во втором операторе txtEditBox. SeiText присваивается выделенный текст.

Рис. 2.29

Процедура mnuEditCut_Click (обработка события щелчка мыши по пункту меню “Вырезать”) обеспечивает перед удалением сохранение выделенного текста в буфере.

Процедура mnuEditPaste_Click (обработка события щелчка мыши по пункту меню “Вставить”) обеспечивает вставку текста из буфера (в данном случае отсутствие при вставке выделения означает вставку в позицию курсора).

Процедура mniiFileExit_Click (обработка события щелчка мыши по пункту меню “Выход”) обеспечивает выход из редактора. Оператор End обеспечивает корректный выход из приложения (закрывает файлы и освобождает память). В процедуре используется функция MsgBox для вывода окна сообщения. Синтаксис ее применения следующий:

MsgBox сообщение [, тип окна] [, заголовок окна]

где

сообщение - текст сообщения;

тип окна - это сумма значений, определяющих число и тип кнопок на диалоговом окне, стиль пиктограмм, используемых в окне, и др. спецификации. В таблице приведены некоторые значения аргументов и их описание:

Значение типа Описание
0 Выводить только кнопку OK
| Выводить кнопки OK и Cancel
2 Выводить кнопки Abort, Retry, Ignore
3 Выводить кнопки Yes, No, Cancel
4 Выводить кнопки Yes, No
5 Выводить кнопки Retry, Cancel
16 Выводить пиктограмму “Стоп”
32 Выводить пиктограмму “?”
48 Выводить пиктограмму “!”
64 Выводить пиктограмму информации
0 Кнопка по умолчанию - первая
256 Кнопка по умолчанию - вторая
512 Кнопка по умолчанию - третья
0 Программное ведущее диалоговое окно
4096 Системное ведущее диалоговое окно

Первая группа значений (0-5) описывает номер и тип кнопок, отображаемых в диалоговом окне; вторая группа (16, 32, 48, 64) описывает стиль пиктограммы (иконки); третья группа (0, 256, 512) определяет кнопки по умолчанию; четвертая группа (0, 4096) определяет выводимые окна сообщения (0 - окно ввода для окончания работы приложения, 4096 - окно ввода для окончания работы системы).

В качестве значения аргумента может указываться сумма значений типа по одному из каждой группы. Например, в операторе

MsgBox “Удалить ?”, 52

значение аргумента 52 является суммой 48 и 4 (48 - вывод пиктограммы с восклицательным знаком, 4 - кнопки “Yes” и “No”). Функция MsgBox возвращает следующие значения:

Константа
vbOK 1 ОК
2 Cancel
vbAbort 3 Abort
vbRetry 4 Retry
vblgnore 5 Ignore
vbYes 6 Yes
vbNo 7 No

Эти значения можно использовать для обработки результата работы пользователя с окном MsgBox.

Процедура mnuHelpAbout_Click (обработка события щелчка мыши по пункту меню “О программе”) обеспечивает вывод окна сообщения.

Процедура Form_Unload (Cancel As Integer) (обработка события щелчка мыши по кнопке “Закрыть” раскрывающегося стандартного меню формы) обеспечивает выход с подтверждением. Закрытие формы не обеспечивает корректного завершения приложения. В этом случае присвоение Cancel =1 предотвращает закрытие формы и обеспечивает корректный выход через процедуру mnuFileExit_Click.

Рис. 2.30

Разработанная программа имеет меню пользователя и обеспечивает функции удаления, вставки и копирования при редактировании и выдачу сообщения о программе (рис. 2.30—2.32).

Рис. 2.31

Рис. 2.32 Глава 3. Программирование на VISUAL BASIC 4

3.1. АЛФАВИТ

Visual Basic является языком программирования. Как любой другой язык, например, русский, английский или язык программирования Pascal, он имеет свой алфавит, используемый для написания операторов или предложений Visual Basic. Алфавит Visual Basic включает:

  • 26 латинских букв: А, В, С, D, Е, F, G, H, I, J, К, L, М, N, О, Р, Q, R, S, Т, U, V, W, X, Y, Z;
  • 10 арабских цифр: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0;
  • 26 символов: !#$%&л*()+-/&bsol;<>=?@_|:'.,“ ” пробел.

Другие символы, определенные на клавиатуре, включая русские, можно использовать только в строках символов.

3.2. ДАННЫЕ

3.2.1. Классификация данных

Данные характеризуются типом и организацией. Тип данных обобщает следующие понятия:

  • размещение в ЭВМ;
  • способ представления;
  • прикладной смысл.

Размещение. Данные и программа в момент выполнения размещаются в оперативной памяти (ОП) ЭВМ, которая состоит из пронумерованных ячеек, каждая из которых вмещает 1 байт данных (1 байт состоит из 8 битов, каждый из которых может содержать элемент двоичных данных - 0 или 1). Номер определенной ячейки называется адресом. Одного байта для хранения данного как правило недостаточно и данное занимает непрерывную последовательность байтов (2, 4, 8 байтов).

Способ представления. Последовательность битов в байтах данного кодирует всю необходимую информацию, определяющую данное. Правила кодирования и их реализация в разных ЭВМ определяют способ представления данного. Так, для числовых данных существует способ представления с фиксированной точкой и с плавающей точкой.

Прикладной смысл. Определяет возможность использования данных для тех или иных целей (с арифметическими данными можно производить вычисления, из символов можно строить слова и предложения).

В Visual Basic 4 определены следующие типы данных:

  • байт (BYTE);
  • логический (BOOLEAN);
  • дата (DATE);
  • короткий целый ( INTEGER);
  • длинный целый (LONG);
  • простой вещественный (SINGLE);
  • удвоенной точности вещественный (DOUBLE);
  • коммерческий (CURRENCY);
  • строковый (STRING);
  • объект (OBJECT);
  • переменный (VARIANT).

В табл. 3.1 приводятся характеристики этих типов данных:

Таблица 3.1

Тип данных Описание Диапазон значении Занимаемая память
Byte Двоичные данные От 0 до 255 1 байт
Boolean Логический True или False 2 байта
Integer Целые числа От -32768 до 32767 2 байта
Long Целые числа (длинные) От -2 147 483 648 до +2 147 483 647 4 байта
String (variable-length) Символьный (переменной длины) От О до 2000000000 символов 10 байт + длина строки
String (fixed-length Символьный (фиксированной длины) От 0 до 2000000000 символов 1 байт на 1 символ
Currency Число с фиксированной десятичной точкой От -22337203685477,58 до 922337203685477,58 8 байтов
Date Дата От January 1, 100 до December 31, 9999 8 байтов
Object Объект 4 байта
Single Вещественные числа От± 1.4* Ю-45 до + 3.4*104-38 4 байта
Double Вещественные числа От+ 4.94* Ю-324 до+ 1.79* Ю-“308 8 байтов
Variant Произвольный тип Любой из перечисленных выше Зависит от значения

Data (Дата) - определяет дату (месяц, день, год).

Object (Объект) - ссылка на объект (OLE).

String (Строка) - последовательность ASCII-символов.

Саггепсу (Валюта) предназначен для финансовых расчетов и имеет фиксированную точность до четвертого знака после запятой (округляется).

Variant (Варьируемый) способен принимать любые значения (состоят из двух частей: собственно значения и кода, указывающего исходный тип данного).