- •Содержание
- •17.2.2. Свойства 130
- •17.6.2. Свойства 133
- •17.7.2. Свойства 134
- •18. Меню 139
- •Основные понятия ооп
- •Объекты
- •Классы объектов
- •Свойства
- •События
- •Три основных принципа ооп
- •Инкапсуляция
- •Наследование
- •Полиморфизм (имеющий много форм)
- •Визуальное проектирование интерфейса
- •Событийно-управляемое программирование
- •Процесс создания приложений
- •Интегрированная среда разработки (иср) visual basic
- •Общая организация программы в vb
- •Структура проекта vb
- •Структура событийной процедуры
- •Общее описание среды vb
- •Краткая характеристика элементов управления, используемых при создании простых приложений
- •Основные свойства, методы и события объектов vb
- •Основные элементы языка Vb
- •Типы данных
- •Переменные
- •Объявление переменных
- •Explicit-объявление
- •Константы
- •Выражения и операции
- •Стандартные подпрограммы
- •Математические функции vb
- •Функции преобразования данных vb
- •Операторы
- •Простые операторы
- •Оператор присваивания
- •Операторы вызова процедур
- •Оператор безусловного перехода
- •Системные диалоговые окна
- •Диалоговое окно ввода информации InputBox
- •InputBox(Приглашение,Заголовок,НачЗначение),
- •Окно сообщения MsgBox
- •Ввод и вывод данных в vb
- •Ввод данных
- •Вывод результатов
- •Функция Format
- •Структурные операторы
- •Условные операторы
- •Оператор выбора Select … Case
- •Операторы повтора
- •Циклы с параметром
- •Элемент управления Slider
- •Циклы с условием
- •Использование рекуррентной формулы для вычисления суммы ряда
- •Использование функции Timer
- •Подпрограммы пользователя
- •Пользовательские процедуры
- •Способ передачи аргументов
- •Функции пользователя
- •Массивы
- •Оператор Option Base
- •Динамические массивы
- •Функции lBound и uBound
- •Функция Rnd
- •Оператор Erase
- •Типовые задачи на обработку одномерных массивов
- •Формирование массива с помощью функции Split
- •Линейная сортировка массива
- •Уплотнение массива
- •Вставка элемента в массив
- •Изменение положения элементов на некотором отрезке
- •Кольцевой сдвиг элементов массива
- •Двумерные массивы
- •Ввод и вывод двумерных массивов
- •Формирование двумерного массива с помощью диалогового окна InputBox и функции Split
- •Вывод двумерного массива с помощью элемента управления msFlexGrid
- •Типовые задачи на обработку двумерных массивов
- •Преобразование двумерных массивов
- •Типовые задачи с квадратными матрицами
- •Массивы в качестве формальных параметров в процедурах и функциях пользователя
- •Данные строкового типа
- •Операции над строками
- •Функции, предназначенные для работы со строками
- •Функция Split
- •Функция Join
- •Оператор Mid
- •Типовые задачи на обработку строк
- •Анализ символьных строк
- •Изменение строк (замена, удаление, вставка символов)
- •Функции и операторы для работы с файлами
- •Открытие файлов
- •Закрытие файлов
- •Работа с файлами последовательного доступа
- •Чтение данных
- •Запись данных
- •Элемент управления CommonDialog
- •Графика в vb
- •Методы графики в vb
- •Задание цвета
- •Свойства объектов, влияющих на графические методы:
- •Применение метода Scale
- •Построение графика функции
- •Некоторые дополнительные элементы управления, которые часто используются в проектах.
- •Объект управления Shape (Фигура)
- •Свойства
- •Объект управления Timer
- •События
- •Свойства
- •Окна общего диалога
- •Создание меню
- •Свойства
- •Работа с несколькими формами
-
Закрытие файлов
Все открытые файлы по окончании работы с ними необходимо закрыть!
Синтаксис оператора закрытия файлов
Close [FileNamberList]
FileNamberList – список закрываемых файлов, представленных номерами файлов и перечисляемых через запятую. Если список файлов опущен, то закрываются все открытые файлы.
-
Работа с файлами последовательного доступа
Файлы последовательного доступа – это, как правило, текстовые файлы, т.е. последовательности ASCII-символов, организованные в строки.
При открытии таких файлов возможны три режима доступа:
-
Input – открыт для последовательного чтения данных;
-
Output – открыть файл для последовательной записи данных, при этом информация записывается всегда с начала файла (предыдущая затирается, если в файле уже что-то записано);
-
Append – открыть файл для добавления данных к уже имеющимся в файле (записи добавляются в конец файла).
-
Чтение данных
Если файл открывается для чтения, то он должен существовать, иначе возникнет ошибка!
Чтение данных из файла последовательного доступа выполняется с помощью функции Input и операторов Input # и Line Input #.
Функция Input считывает из файла заданное количество символов и обычно используется для чтения данных, записанных в файл оператором Print #.
Синтаксис
Input(number, #filenumber),
где
number - целое число, которое задает количество считываемых из файла символов;
filenumber - номер файла.
При использовании этой функции следует иметь в виду, что необходимо знать количество считываемых символов. Поэтому предварительно необходимо вычислить длину считываемого файла с помощью функции Fileline.
Оператор Input # используется, когда необходимо прочитать данные, имеющие структуру с разделителями (в качестве разделителей - запятые). Такие файлы получаются при использовании оператора записи Write #.
Синтаксис
Input #filenumber, varlist,
где
filenumber - номер файла,
varlist - список переменных.
При работе этого оператора сначала считывается целая строка, а затем подстроки, отделенные разделителями (запятыми), помещаются в соответствующие переменные списка.
Для чтения всего содержимого файла необходимо организовать циклическое считывание данных из файла, поскольку в переменные данные считываются этим оператором по строкам.
Оператор Line Input # используется для построчного чтения данных из последовательного файла, обычно записанного оператором Print #.
Синтаксис
Line Input #filenumber, varname,
где
filenumber - номер файла,
varname - имя переменной.
Оператор посимвольно считывает всю строку данных из файла и помещает ее в строковую переменную. При этом разделителем строк в файле служит стандартный разделитель строк символ возврата каретки CHR(13) или последовательность символов возврата каретки и перевода строки CHR(13)+CHR(10), причем в переменную varname эти разделители не вставляются.
Для того, чтобы прочитать все данные из файла при помощи этого оператора, необходимо организовать цикл чтения данных из файла.
-
Запись данных
Данные в файл последовательного доступа записываются с помощью операторов
Print # и Write #.
Оператор Write # дополнительно автоматически вставляет в файл разделители.
Еще раз. Каждая из функций записи работает в паре с определенной функцией чтения. Для оператора Print # это функция Input или оператор Line Input #, а для оператора Write # – это оператор Input #.
Синтаксис
Print #filenumber, [outputlist]
Write #filenumber, [outputlist]
где filenumber – номер файла,
outputlist – список выражений или переменных для записи.
При выполнении записи данных в файл оператор и Write # автоматически вставляет символ перевода каретки CHR(13) и символ новой строки CHR(10).
Замечание. Write # и Input # лучше применять для файлов бинарных и прямого доступа.
Переход на заданную позицию в файле
Переход на заданную позицию в файле можно организовать с помощью оператора Seek.
Синтаксис
Seek #filenumber, position
где filenumber – номер файла,
position – целочисленное выражение, задающее позицию указателя в файле. Позиционирование при этом выполняется посимвольно.
Оператор Seek устанавливает указатель на требуемую позицию. Если после этого использовать функции чтения или записи, то действие этих функций будет выполняться, начиная с позиции указателя, найденного оператором Seek.
Примеры операторов работы с файлами
-
Запись файла с помощью оператора Print #
Dim pathfile As String
Private Sub Command1_Click()
pathfile = "C:\WINDOWS\Рабочий стол\primer\primer.txt" ‘имя файла
Open pathfile For Output As #1 ‘открытие файла на запись
Print #1, " Проверка работы с файлами VB " ‘запись в файл
For i = 1 To 3
Print #1, i ‘запись в файл
Next
Close #1
End Sub
Запись идет по строкам, если в Print использовать «;» запишется одна строка.
Каждый раз при выполнении программы файл будет перезаписываться заново.
Если необходимо добавлять записи в файл, нужно открыть его на дозапись
Open pathfile For Append As #1
При выполнении программы новые строки будут записываться в конец файла.
-
Чтение файла с помощью функции Input
Private Sub Command2_Click()
Open pathfile For Input As #1 ‘открытие файла на чтение
len_str = FileLen(pathfile) ‘определение числа символов в файле
strfile = Input(len_str, #1) ‘считывание всех символов файла в строку
Text2.Text = strfile ‘вывод строки в TextBox
Close #1
End Sub
-
Чтение файла с помощью оператора Line Input #
Private Sub Command2_Click() Open pathfile For Input As #1 ‘открытие файла на чтение Do While Not EOF(1) ‘организация цикла на чтение файла до конца Line Input #1, strfile ‘построчное чтение записей из файла в переменную Text2.Text = Text2.Text + strfile + Chr(13) + Chr(10) ‘формирование очередной строки TextBox Loop Close #1 End Sub |
|
TextBox имеет свойство MultiLine =True |
-
Запись файла с помощью оператора Write #
Dim pathfile As String
Private Sub Command1_Click()
pathfile = "C:\WINDOWS\Рабочий стол\primer\primer.txt" 'имя файла
Open pathfile For Output As #1 'открытие файла на запись
Write #1, "Проверка работы с файлами" 'запись в файл
For i = 1 To 3
Write #1, "Строка", i 'запись в файл
Next
Close #1
End Sub
-
Чтение файла с помощью оператора Input #
Private Sub Command2_Click() Open pathfile For Input As #1 Do While Not EOF(1) Input #1, strfile Picture1.Print strfile Loop Close #1 End Sub |
|