- •Содержание
- •Лабораторна робота № 1. Оболонка системи програмування visual basic. Заняття 1
- •1. Запустите Visual Basic и произведите необходимую настройку.
- •2. Задайте различные свойства формы:
- •3. Запустите программу на выполнение.
- •17. Запустите программу на выполнение и проверьте ее работу.
- •20. Сохраните проект на рабочем диске.
- •Лабораторна робота № 1.Этапи розробки windows-додатків в середовищі програмування visual basic (на прикладі створення простого додатку). Заняття 2.
- •1. Постановка задачи
- •3. Напишите программные коды
- •4. Отладьте6 программу
- •Завдання до самостійної роботи № 1 (в,лс,вс).
- •I. Содержательная постановка задачи.
- •II. Математическая постановка задачи.
- •III. Разработка пользовательского интерфейса.
- •Лабораторна робота № 2. Дані в visual basic. Типи даних.
- •Завдання на самостійну (в) й практичну роботу (вс, лс)
- •Лабораторна робота № 3. Область видимості змінної.
- •ИмяФормы. ИмяПеременной
- •Лабораторна робота № 4. Арифметичні вырази й вбудовані функції visual basic
- •Лабораторная работа № 5. Введення-виведення даних. Функція inputbox и msgbox. Вікно й функція inputbox.
- •Лабораторна робота №6. Проектування додатків vb6, що містять лінійні алгоритмічні структури
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота № 7. Проектування додатків vb6, що містять галужені алгоритмічні структури. Заняття 1
- •Завдання на самостійну (в) й практичну роботу (вс, лс)
- •Лабораторна робота 7. Проектування додатків vb6, що містять галужені алгоритмічні структури. Заняття 2
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №8. Проектування додатків vb6, що містять циклічні алгоритмічні структури. Заняття 1. Цикли з лічильником
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №8. Проектування додатків vb6, що містять циклічні алгоритмічні структури. Заняття 2. Цикли з умовою
- •Завдання на самостійну роботу(в,вс,лс)
- •Завдання на практичну роботу (вс,лс)
- •Лабораторна робота №9. Проектування додатків vb6, що містять вкладені циклічні алгоритмічні структури. Заняття 1.
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №9. Проектування додатків vb6, що містять вкладені циклічні алгоритмічні структури. Заняття 2
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №10. Проектування додатків vb6, у яких дані організовані у вигляді одновимірних масивів. Заняття 1.
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №10. Проектування додатків vb6, у яких дані організовані у вигляді одновимірних масивів. Заняття 2
- •Завдання на самостійну (в) й практичну роботу (вс,лс)
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №10. Проектування додатків vb6, у яких дані організовані у вигляді одновимірних масивів. Заняття 3. Сортування елементів масиву. Обмін значеннями.
- •Ilорядок действий
- •Завдання на самостійну роботу(в,вс,лс)
- •Завдання на практичну роботу(вс,лс)
- •Лабораторна робота №11. Проектування додатків vb6, у яких дані організовані у вигляді двовимірних масивів
- •Завдання на самостійну роботу(в, вс,лс)
- •Завдання на практичну роботу (вс,лс)
- •Завдання на самостійну роботу(вс,лс)
- •Лабораторна робота №12. Проектування додатків vb6, у яких дані організовані у вигляді структур. Користувальницький тип даних.
- •VbExclamation, "Столько друзей не бывает"
- •VbExclamation, "Поиск не дал результатов"
- •VbExclamation, "Поиск не дал результатов"
- •Мid(Друзья(j).BirthDay, 4, 2) завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №13. Модульне програмування. Заняття 1.
- •Завдання на самостійну (в) та практичну роботу (вс,лс) завдання с13.4
- •Лабораторна робота №13. Модульне програмування. Заняття 2
- •InputВох("Задайте любой вопрос", "????")
- •Завдання на самостійну (в) й практичну роботу (вс,лс)
- •Лабораторна робота № 14. Налагодження програм
- •Лабораторна робота № 15. Обробка символьної інформації.
- •Завдання на самостійну роботу(в,вс,лс)
- •Контрольний опрос на практичному занятті (Лс,Вс).
- •Лабораторна робота № 16. Проектування додатків vb6, у яких дані організовані у вигляді файлів на магнітних носіях.
- •Завдання на самостійну роботу(в,вс,лс)
- •Контрольний опрос на практичному занятті (Вс, Лс)
- •Лабораторна робота № 17. Графіка
Контрольний опрос на практичному занятті (Лс,Вс).
Уровень 1
1. Составить программу удаления сдвоенных букв во введенной фразе.
2. Ввести строку и определить, сколько слов начинается с той же буквы, с которой начинается первое слово.
3. Из заданной строки получить новую, заменив все запятые на точки.
4. Из заданной строки получить новую, удалив все символы, не являющиеся буквами латинского алфавита.
Уровень 2
1. Среди натуральных чисел от 1 до N найти такие, запись которых совпадает с последними цифрами записи их квадpaтов:(5 и 25,6 и 36, 25 и 625 т.д.).
2. В заданной строке поменять местами первую букву "а" и первую букву "б". Выдать сообщение, если хотя бы одной из них нет.
3. Определить наименьшую длину слова в заданной строке (слова отделяются друг от друга пробелами).
4. Подсчитать, сколько слов в заданной фразе оканчиваются на букву "я", если известно, что после слова стоит пробел или точка.
Лабораторна робота № 16. Проектування додатків vb6, у яких дані організовані у вигляді файлів на магнітних носіях.
Существуют следующие типы доступа к файлам: последовательный, произвольный, двоичный (в данной работе не рассматривается). В таблице 16.1 приведены функции и операторы VB для работы с файлами.
Таблица 16.1. Функции и операторы VB для работы с файлами.
Функция, оператор |
Описание |
Тип файла |
Open |
Открывает файл |
П,Пр |
Close |
Закрывает все файлы |
П,Пр |
Close # |
Закрывает файл по идентификатору (дескриптору) |
П,Пр |
Reset |
Закрывает все открытые файлы, записывает содержимое буферов |
П,Пр |
Print tt |
Записывает данные в файл |
П |
FileCopy |
Копирует файл |
П,Пр |
EOF |
Определяет метку конца файла |
П,Пр |
FileAttr |
Возвращает режим доступа открытого файла |
П,Пр |
FileDateTime |
Возвращает дату и время создания файла
|
П,Пр |
FileLen |
Возвращает размер файла в байтах |
П,Пр |
FreeFile |
Возвращает номер свободного идентификатора файла (дескриптора) |
П,Пр |
GetAttr |
Получает атрибуты файла |
П,Пр |
SetAttr |
Устанавливает атрибуты файла |
П,Пр |
Loc |
Возвращает номер поточной позиции в файле |
Пр |
LOF |
Возвращает розмер открытого файла в байтах |
П,Пр |
Seek |
Устанавливает на заданную номером позицию или запись в файле |
П,Пр |
Dir |
Возвращает содержимое поточной папки |
П,Пр |
Kill |
Удаляет файл |
П,Пр |
Lock |
Блокирует файл при роботе в многопользовательской среде |
П,Пр |
Unlock |
Снимает блокирование файла в многопользовательской среде |
П,Пр |
Name |
Задает (переименовывает) имя файла |
П,Пр |
Get # |
Читает данные из файла |
Пр |
Input |
Читает данные из файла |
П |
Input # |
Читает данные из файла |
П |
Line Input # |
Читает строку из файла |
П |
Put # |
Записывает данные в файл |
Пр |
Write # |
Записывает данные в файл |
П |
ПОСЛЕДОВАТЕЛЬНЫЙ (SEQUENTIAL) ДОСТУП.
При последовательном доступе записи считываются последовательно одна за другой.
Информация в них сохраняется в текстовом формате (в виде цепочки кодов ASCII). Для того, чтобы создать последовательный файл необходимо: 1) открыть файл оператором OPEN для доступа к нему и вывода или дозаписи в него данных; 2) записать данные в файл операторами PRINT или WRITE; 3) закрыть файл оператором CLOSE.
Для того, чтобы прочитать последовательный файл необходимо: 1) открыть его оператором OPEN для доступа к нему и вывода из него данных; 2) считать данные из файла в програму, используя INPUT, LINE INPUT# или INPUT#; 3) закрыть файл оператором CLOSE. |
OPEN pathName FOR режим AS #номер_файла %
|
Открытый файл после работы с ним должен быть закрыт, и тот же самый номер может быть использован снова.
WRITE # номер_файла%, [список значений] PRINT # номер_файла%, [список значений]
|
Выражения в списке разделяются запятой, пробелами или точкой с запятой. Если список значениай отсутствует, в файл будет занесена пустая строка.
Оператор WRITE. Разделителем в списке значений является запятая. Элементы списка заносятся в файл в одну текстовую строку. Символьные данные (String) записывают в кавычках. Эта команда сама заносит запятые между полями и более экономно размещает данные на носителях. Пасле записи последнего элемента строки автоматически записываются символы “возврата каретки” (13) и “переход на новую строку” (10).
Оператор PRINT. Разделителями в списке значений являются:
запятая — значения записываются в 14-символьные зоны вивода (после каждого данного автоматически заносится символ табуляции);
точка с запятой — значения записываются подряд, без промежутков между ними.
PRINT удобен для тщательного редактирования текста выходного файла, а WRITE лучше использовать в том случае, когда выходной файл будет использоваться дальше как входной для других программ.
CLOSE [#номер_файла] [,#номер_файла…] |
Оператор CLOSE без параметра закрывает все файлы, открытые в этот момент в программе.
Читать данные можно различными способами:
с помощью операторов INPUT# и LINE INPUT#
с помощью функции INPUT
Каждая из функций записи работает в паре с определенной функцией чтения. Для Print # — это Input или Line input #, а для Write # — это Input#
LINE INPUT# номер_файла%, переменная
|
INPUT# номер_файла%, список переменных
Если текст поля заключен в кавычки, эти кавычки при чтении файла отбрасываются, отбрасывается также запятая, разделяющая поля. Переменные, используемые в операторе, могут быть как строкового,типа так и числового. |
Для того чтобы прочитать все данные из файла при помощи операторов Input # или Line Input #, необходимо организовывать циклическое считывание данных из файла, поскольку данные считываются этими операторами по строкам.
INPUT (n,# номер_файла%)
|
Необходимо иметь в виду,что функция INPUT требует знания количества считываемых символов. Поэтому для чтения данных из файла необходимо предварительно вычислить его длину при помощи функции FileLen. Переход на заданную позицию в файле можно организовать при помощи оператора Seek
Seek,# номер_файла%, position
|
Позиционирование при этом выполняется посимвольно. Оператор Seek устанавливает указатель на необходимую позицию. Если после этого использовать функции считывания или записи, то действие этих функций будет выполняться, начиная с позиции указателя, найденого оператором Seek.
EOF (номер_файла) — возвращает "ІСТИНА" при достижении канца файла. LOF (номер_файла) – возвращает длину файла |
ЗАДАНИЕ 16.1. Постановка задачи. СОЗДАЙТЕ ПРИЛОЖЕНИЕ, ДЕМОНСТРИРУЮЩЕЕ ЗАПИСЬ И ЧТЕНИЕ ИЗ ТЕКСТОВОГО ФАЙЛА «СВЕДЕНИЙ О СОТРУДНИКАХ» – СТРОК, КАЖДАЯ ИЗ КОТОРЫХ СОДЕРЖИТ ИДЕНТИФИКАЦИОННЫЙ НОМЕР, ФИО, ДАТУ РОЖДЕНИЯ И МЕСТО РОЖДЕНИЯ СОТРУДНИКА. СТРОКИ ОБРАЗУЮТ ТАБЛИЦУ, КОТОРУЮ НА ЭКРАННОЙ ФОРМЕ БУДУТ ИМИТИРОВАТЬ 4 ЭЛЕМЕНТА УПРАВЛЕНИЯ ComboBox (рис. 16.1), ОБРАЗУЮЩИЕ МАССИВ ОБЪЕКТОВ Combо(i), У КОТОРЫХ СВОЙСТВО Style ИМЕЕТ ЗНАЧЕНИЕ 1 – SimpleCombo.
Массив объектов — это группа объектов, имеющих одно имя(свойство Name), тип и общую процедуру обработки. В массив может входить до 332768 объектов. Порядковый номер элемента называется индексом и записывается в скобках сразу после имени массива. Объекты, входящие в массив, имеют свойство Index. Это свойство равно порядковому номеру элемента массива. Использование массивов объектов часть позволяет значительно упростить программный код.
Порядок действий
1. Расположите на форме объекты в соответствии с рис. 16.1.
Рис. 16.1. Экранная форма с 4 элементами ComboBox, имитирующими таблицу
Меню приложения Edit должно вызывать подменю, содержащее 5 команд редактирования: Добавить запись, Удалить запись, Вставить запись, Изменить запись, Очистить таблицу. Остальные команды меню (рис.16.1) не нуждаются в комментариях.
2. Наберите программный код проекта:
Dim numb As Integer, fio As String, bdate As Date, bloc As String
‘ Синхронизация выделения записи таблицы:
Private Sub Comb_Click(Index As Integer)
i% = Combo(Index).ListIndex
For j% = 0 To 3
Combo(j).Text = Combo(j).List(i):
Combo(j).ListIndex = i
Next j
End Sub
‘ Добавление новой записи в таблицу:
Private Sub mnuAdd_Click()
For j% = 0 To 3
XC = Combo(j).Text
Combo(j).AddItem XC
Next j
End Sub
‘ Удаление записи из таблицы:
Private Sub mnuRemove_Click()
i% = Combo(0).ListIndex
If i < 0 Then
MsgBox "Выделите удаляемую строку", vbExclamation
Else
For j% = 0 To 3
Combo(j).RemoveItem i
Next j
End If
End Sub
‘ Вставка новой записи в таблицу:
Private Sub mnuInsert_Click()
i% = Combo(0).ListIndex
If i < 0 Then
MsgBox "Выделите строку для вставки перед ней", vbExclamation
Else
Combo(0).AddItem InputBox("Введите номер"), i
Combo(1).AddItem InputBox("Введите фио"), i
Combo(2).AddItem InputBox("Введите дату рожд."), i
Combo(3).AddItem InputBox("Введите место рожд."), i
End If
End Sub
‘ Изменение записи в таблице:
Private Sub mnuUpdate_Click()
i% = Combo(0).ListIndex
If i < 0 Then
MsgBox "Выделите изменяемую строку", vbExclamation
Else
Combo(0).List(i) = InputBox("Введите номер",, Combo(0).List(i))
Combo(1).List(i) = InputBox("Введите фио",, Combo(1).List(i))
Combo(2).List(i) = InputBox("Введите дату рожд.",, Combo(2).List(i))
Combo(3).List(i) = InputBox("Введите место рожд.",, Combo(3).List(i))
End If
End Sub
‘ Очистка всей таблицы:
Private Sub mnuClear_Click()
For j% = 0 To 3
Combo(j).Clear
Next j
End Sub
‘ Заполнение таблицы сведениями из текстового файла:
Private Sub mnuLoad_Click()
mnuClear_Click
Open "person.txt" For Input As #1
Do Until EOF(1)
Input #1, numb, fio, bdate, bloc
Combo(0).AddItem numb
Combo(1).AddItem fio
Combo(2).AddItem bdate
Combo(3).AddItem bloc
Loop
Close #1
End Sub
‘ Запись сведений таблицы в текстовый файл:
Private Sub mnuSave_Click()
N% = Combo(0).ListCount
Open "person.txt" For Output As #1
For i = 0 To N - 1
numb = Val(Combo(0).List(i))
fio = Combo(1).List(i)
bdate = CDate(Combo(2).List(i))
bloc = Combo(3).List(i)
Write #1, numb, fio, bdate, bloc
Next i
Close #1
End Sub
‘ Завершение работы приложения:
Private Sub mnuExit_Click()
End
End Sub
3. Проверьте работу проекта
4. Сохраните проект и форму в папке ЛАБ50 с именами Лр50_Зад1_P_Фамилия и Лр50_Зад1_F_Фамилия соответственно.
