Нетипизированные файлы
Текстовые файлы
Содержимым текстовых файлов является последовательность строк произвольной длины, которые были созданы при помощи какого-либо текстового редактора. При этом в конце строки находится особое сочетание символов, которое обозначает ее окончание и состоит из “возврата каретки” (код в таблице символов =13) и “перевода строки”(код =26).
Операции с текстовыми файлами выполняются построчно, при этом после обработки очередной строки указатель автоматически перемещается на следующую строку. Если в ходе выполнения программы необходимо проверять достижение конца файла, то следует применять функцию Eof(номер), результатом которой является логическое значение (True или False).
Для того, чтобы открыть текстовый файл, используется оператор Open следующего формата:
Open путь For назначение As номер
Здесь, в качестве назначения для открываемого файла используются:
Input – файл открывается для считывания из него информации;
Output – файл открывается для редактирования его содержимого;
Append – файл открывается для добавления новых строк.
При использовании в операторе Open ключевого слова Input открываемый файл должен существовать, служебные слова Output и Append можно применять как для открытия, так и для создания текстовых файлов. При этом, если файл уже открыт для извлечения данных (Input), то для добавления строк его необходимо вначале закрыть (Close), а затем открыть с указанием соответствующего назначения (Append).
Для добавления новых строк в файл используется оператор Print, формат которого следующий:
Print #номер, переменная
При выполнении данного оператора в конец файла с указанным номером, открытого при помощи ключевого слова Append, будет добавлена новая строка из переменной.
Для изменения содержимого имеющегося текстового файла его необходимо вначале открыть с помощью служебного слова Output, а затем воспользоваться оператором Print. В этом случае изменения будут внесены в начало файла.
Для занесения в программные переменные строк из файла используется оператор Line Input:
Line Input #номер, переменная
Для извлечения в строковую переменную заданного количества символов из файла используется функция Input, результатом которой является указанное число символов, скопированных из файла с определенным номером:
Input(число , номер)
Информация в таких файлах хранится в виде набора одинаковых записей определенной структуры. Размер одной записи является значением суммы размеров всех ее полей.
Для открытия файла записей используется оператор Open, в котором необходимо указать размер записей, которые содержатся в файле:
Open путь [For Random] As номер Len=размер
Для занесения записей в файл используется оператор Put, для извлечения – оператор Get , как и при работе с двоичными файлами, под позицией понимается порядковый номер записи в нетипизированном файле.
ПРИЛОЖЕНИЕ 1
Интерфейс:
Программный код.
Dim sngX As Single, sngY As Single, sngZ As Single
Private Sub cmd1_Click()
sngX = CSng(txt1.Text)
sngY = CSng(txt2.Text)
sngY = sngX ^ 2 + sngY ^ 2
txt3.Text = CStr(sngY)
End Sub
Private Sub cmd2_Click()
End
End Sub
Результаты работы программы:
ПРИЛОЖЕНИЕ 2
Интерфейс:
Программный код.
Dim sngX As Single, sngY As Single
Private Sub cmd1_Click()
sngX = CSng(txt1.Text)
If sngX < 0 Then
sngY = -1
Else
If sngX = 0 Then
sngY = 0
Else
sngY = 1
End If
End If
lbl2.Caption = "При X= " & sngX & " y= " & sngY
End Sub
Private Sub cmd2_Click()
End
End Sub
Результаты работы программы:
ПРИЛОЖЕНИЕ 3
Интерфейс:
Программный код.
Dim sngX As Single, sngY As Single
Dim sngA As Single, sngB As Single, sngH As Single
Private Sub cmd2_Click()
sngA = CSng(txt1.Text)
sngB = CSng(txt2.Text)
sngH = CSng(txt3.Text)
For sngX = sngA To sngB Step sngH
sngY = sngX ^ 2
Print " X= " + Format(sngX, "#0.0#"); " Y=" + Format(sngY, "#0.0#")
Next sngX
End Sub
Private Sub cmd1_Click()
End
End Sub
Результаты работы программы:
ПРИЛОЖЕНИЕ 4
Интерфейс:
Программный код.
Dim intI As Integer, sngS As Single, sngA As Single
Private Sub cmd1_Click()
intI = 0
sngS = 0
sgnA = intI ^ 3 / (intI + 1)
Do While sgnA <= 10
sgnS = sgnS + sgnA
intI = intI + 1
sgnA = intI ^ 3 / (intI + 1)
Loop
txt1.Text = Left(Str(sgnS), 7)
End Sub
Private Sub cmd2_Click()
End
End Sub
Private Sub Form_Load()
frmWhile.Move (Screen.Width - frmWhile.Width) / 2, (Screen.Height - frmWhile.Height) / 2
End Sub
Результаты работы программы: