Функции и операторы для работы с файлами
Файлы
End Sub
End If
Else
End Sub
End Sub
Else
End Select
Case Else
S1 = S1 + a 'Добавление символа строки s в строку s1 без преобразования
Next i
Пример 4. Получить новую строку S1 из введенной строки S такую, чтобы между словами был только один пробел. Вывести сообщение о количестве удаленных пробелов.
Фрагмент кода программы:
Private Sub Command1_Click()
S = Text1.Text
S = Trim(S) 'Удаление пробелов вначале и в конце заданной строки
S1 = ""
For i = 1 To Len(S) - 1 'Цикл для поиска пробелов
If Mid(S, i, 1) <> " " Then
S1 = S1 + Mid(S, i, 1) 'Переписывание символов,
отличных от проделов в строку s1
'Запись в строку s1 одного пробела, если следующий за ним символ не пробел
If Mid(S, i + 1, 1) <> " " Then S1 = S1 + " "
EndIf
Next i
S1 = S1 + Mid(S, Len(S), 1) 'Переписывание последнего символа
k = Len(S) - Len(S1) 'Подсчет количества удаленных пробелов
Text2.Text = S1
Text3.Text = Str(k)
Пример 5. В заданной строке S заменить все слова «всегда» на «часто».
Фрагмент кода программы:
Private Sub Command1_Click()
s=Text1.Text
s=Replace(s, "Всегда", "Часто", 1)
s=Replace(s, "всегда", "часто", 1)
Text2.Text=s
Пример 6. Преобразовать заданную строку S в массив слов и вывести его в поле Text.
Фрагмент кода программы:
Private Sub Command1_Click()
Dim i, k As Byte
Dim s As String
Dim m(1 To 127) As String 'Описание массива для хранения слов
s – заданная строка
s = Text1.Text
Text2.Text = ""
k = 1 'Задание начального номера элемента массива
For i = 1 To Len(s) 'Цикл для поиска пробелов
If (Mid(s, i, 1) <> " ") And (Mid(s, i, 1) <> ".") And
(Mid(s, i, 1) <> "!") And (Mid(s, i, 1) <> "?") Then
m(k) = m(k) + Mid(s, i, 1)'Формирование очередного элемента массива
k = k + 1 'Увеличение номера элемента массива
Next i
For i = 1 To k
Text2.Text = Text2.Text + m(i) + Chr(13) + Chr(10)
Nexti
В зависимости от организационной структуры хранения информации в файле и способа доступа к этой информации принято выделять три типа файлов:
1. Файлы последовательного доступа. Как правило, это текстовые файлы. Структурной единицей таких файлов является строка. Данные в них хранятся в виде цепочки ASCII кодов и могут обрабатываться любым текстовым редактором. Запись и считывание данных при работе с такими файлами происходит строго последовательно (нельзя получить доступ ко второй записи, не прочитав первой).
2. Файлы произвольного доступа. Это структурированные файлы, которые содержат информацию в виде записей. Например, файлы баз данных. Компоненты (поля) в записях таких файлов могут иметь разные типы. Но все записи файлов последовательного доступа имеют постоянную длину и порядковый номер. Это позволяет получить доступ сразу к нужной записи без последовательного просмотра всех предыдущих.
3. Бинарные (двоичные) файлы. Это могут быть файлы последовательного доступа, но информация в них представлена в виде байтов или блоков байтов. К таким файлам можно отнести файлы с расширением exe, т.е. программные. Это могут быть файлы произвольного доступа: размер записи у них всегда равен 1 байту, и любой байт можно считать по его порядковому номеру.
Выполняемое действие | Функции, операторы | Действия |
Открыть или создать файл | Open | Открывает файл |
Закрыть файл | Close Reset | Закрывает файл Закрывает все открытые файлы, записывает содержимое буферов |
Определение параметров вывода данных | Format Spc Tab Width # | |
Скопировать файл | FileCopy | Копирует файл |
Получить информацию о файле | EOF FileAttr FileDateTime FileLen FreeFile GetAttr Loc LOF | Определяет метку конца файла Возвращает режим доступа открытого файла Возвращает дату и время создания файла Возвращает размер файла в байтах Получает атрибуты файла Возвращает номер текущей позиции в файле Возвращает размер открытого файла в байтах |
Организовать управление файлами | Dir Kill Lock Unlock Name | Возвращает содержимое текущей директории Удаляет файл Блокирует файл при работе в многопользовательской среде Снимает блокировку с файла Задает (переименовывает) имя файла |
Прочитать данные из файла | Input # Get # Line Input # | Чтение данных из файла Чтение строки из файла |
Установить атрибуты файла | SetAttr | Устанавливает атрибуты файла |
Найти позиции в файле | Seek | Устанавливает указатель на заданную номером позицию |
Записать данные в файл | Print # Put # Write # | Записывает данные в файл |
Работа с каждым из перечисленных выше типов файлов имеет свои особенности. Однако есть два действия, общие для всех типов – их открытие и закрытие.