Слайд 1Работа с текстовыми файлами
1. Работа с текстовыми файлами
последовательного доступа.
2. Работа с текстовыми файлами собственных форматов с произвольным доступом.
Слайд 21. Работа с текстовыми файлами последовательного доступа.
Для хранения и обработки
информации часто вместо базы данных удобнее использовать текстовые файлы. Самый простой тип – это текстовый файл произвольного формата последовательного доступа.
Чтобы создать такой текстовый файл, можно просто воспользоваться любым текстовым редактором и разместить каждый элемент данных в отдельной строке
Слайд 31. Работа с текстовыми файлами последовательного доступа.
Например: Создать
текстовый файл под именем “текст.txt” в папке “Мои документы” следующего содержания:
Понедельник - программирование
Вторник – другие занятия
Среда – другие занятия
Четверг – не знаю
Пятница - программирование
Суббота – выходной
Воскресенье – выходной
Слайд 41. Работа с текстовыми файлами последовательного доступа.
Чтобы прочитать
информацию из файла, необходимо выполнить следующие действия:
открыть файл для ввода данных в программу;
прочитать из файла строку и сохранить её в текстовой переменной;
повторить пункты 1-2 для каждой строки файла;
закрыть файл.
Для осуществления этих действий необходимы следующие операторы и функции:
Слайд 51. Работа с текстовыми файлами последовательного доступа.
Оператор открытия текстового файла
для чтения информации:
Open “имя файла” for Input as #номер файла
где:
имя файла – имя созданного текстового файла;
номер файла – номер по порядку открытия файла.
В нашем случае :
Open “c:\Мои документы\текст.txt” for Input as #1
Слайд 61. Работа с текстовыми файлами последовательного доступа.
Оператор чтения из файла
в текстовую переменную:
Line Input #1,имя переменной - считать всю строку с кавычками в текстовую переменную;
Input #1,имя переменной – считать всю строку без кавычек;
Функция Input (n ,#1) – считывает только n символов.
Оператор закрытия текстового файла:
Close #1
Слайд 71. Работа с текстовыми файлами последовательного доступа.
Для создания текстового
файла в приложении VB существуют два режима:
в режиме Append данные добавляются в существующий файл, а при его отсутствии создается новый:
Open “имя файла” for Append as #1
- в режиме Output всегда создается новый файл, при этом содержимое старого файла затирается:
Open “имя файла” for Output as #1
Слайд 81. Работа с текстовыми файлами последовательного доступа.
Запись в файл осуществляется с
помощью двух различных операторов:
Print # номер файла, выражение
Write # номер файла, выражение
(оператор Write автоматически вставляет при вводе символы-разделители и символы-ограничители).
Например:
1). Print #1,”Иванов”,”Николай”
2). Write #1,”Иванов”,”Николай”
Результат выполнения:
1). Иванов Николай
2). Иванов,Николай
Слайд 9Пример работы с текстовым файлом
Создать форму из следующих элементов:
Command1 (запись), Command2 (чтение), Command3(дозапись), Text1 (отображение строки из файла), List1 (список вводимых строк), List2 (список считываемых строк)
Слайд 10Пример работы с текстовым файлом
Программный код:
Dim a, b As String
Private
Sub Command1_Click()
Open "Test1.txt" For Output As #1
Do
a = InputBox(«Введите запись", «новая строка")
Print #1, a
List1.AddItem a
Loop Until a = ""
Close #1
End Sub
Слайд 111. Работа с текстовыми файлами последовательного доступа.
Private Sub Command2_Click()
Open "Test1.txt" For
Input As #1
n = 0
Do Until EOF(1)
n = n + 1
Input #1, b
List2.AddItem b
Text1.Text = b
Loop
Close #1
End Sub
Слайд 121. Работа с текстовыми файлами последовательного доступа.
Private Sub Command3_Click()
Open "Test1.txt" For
Append As #1
Do
a = InputBox («Введите запись", «новая строка")
Print #1, a
List1.AddItem a
Loop Until a = ""
Close #1
End Sub
Слайд 142. Работа с текстовыми файлами собственных форматов с произвольным доступом.
Пример обращения
к полям:
Dim emp1 As Recordes
emp1.Number =12345
emp1.LName =”фамилия”
emp1.FName =”имя”
emp1.Gruppa =”код”
Таким образом доступ к полям записи аналогичен доступу к отдельным объектам.
Слайд 152. Работа с текстовыми файлами собственных форматов с произвольным доступом.
При открытии
файла с собственным форматом необходимо указать длину записи:
Dim emp1 As Recordes
Open “имя файла” for Random as #1 Len=Len(emp1)
Для записи информации в файл используется функция InputBox и операторы Print #1 или Write #1.
Слайд 162. Работа с текстовыми файлами собственных форматов с произвольным доступом.
Пример программного
кода:
For i=1 to 5
emp1.LName = InputBox(“введи фамилию”)
emp1.FName = InputBox(“введи имя”)
emp1.Title = InputBox(“введи код”)
emp1.Empid = InputBox(“введи число”)
Print #1, emp1
Next i
Т.е. отдельно вводим все поля записи и затем заносим эту запись в файл.
Слайд 172. Работа с текстовыми файлами собственных форматов с произвольным доступом.
Для чтения
информации из файла необходимо его открыть:
Open “имя файла” for Input as #1 Len=Len(emp1)
А затем можно считывать всю запись или её поля:
Line Input #1, emp1.FName
Закрывается файл обычным способом: Close #1
Слайд 18Пример работы с текстовым файлом собственного формата
Добавим на предыдущую форму ещё
две кнопки Command4 (запись1), Command5 (чтение1) – для записи и считывания строк пользователь- ского формата.
Слайд 19Пример работы с текстовым файлом собственного формата
Описание типа переменной Element (составляющие
поля: номер, имя, фамилия, группа)
Private Type Stroka
Number As Integer
LName As String * 10
FName As String * 10
Gruppa As String * 5
End Type
Dim Element As Stroka
Слайд 20Пример работы с текстовым файлом собственного формата
Private Sub Command4_Click()
Open "Test1.txt" For
Output As #1 Len = Len(Element)
Do
Element.Number = InputBox(«введите номер", «ввод")
Element.LName = InputBox(«введите имя", «ввод")
Element.FName = InputBox(«введите фамилию", «ввод")
Element.Gruppa = InputBox(«введите группу", «ввод")
Print #1, Element.Number, Element.LName, Element.FName,
_ Element.Grupp
Loop Until a = ""
Close #1
End Sub
Слайд 21Пример работы с текстовым файлом собственного формата
Private Sub Command5_Click()
Open "Test1.txt" For
Input As #1 Len =Len(Element)
n = 0
Do Until EOF(1)
n = n + 1
Input #1, Element.FName, Element.Grupp
List2.AddItem Element.FName
Text1.Text = Element.Grupp
Loop
Close #1
End Sub
Слайд 22Заключение
Дома внимательно во всем разобраться и выполнить предложенный пример.
Желаю удачи!