Лабораторный практикум № 3.

 

Часть 1

 

Требуется, чтобы стандартный массив названий предметов считывался из файла Standart.txt, а итоговый массив названий предметов, которые в настоящий момент времени изучает пользователь, записывался в файлMySubject.txt.

Предварительно создадим файл Standart.txt и запишем в него с помощью отдельной процедуры массив из 16 наименований предметов. Будем использовать для этого оператор Write #.

Dim S(15) As String

Dim intFH As Integer

Dim i As Integer

S(0) = "родной язык"

S(1) = "литература"

S(2) = "алгебра"

S(3) = "геометрия"

S(4) = "физика"

S(5) = "химия"

S(6) = "иностранный язык"

S(7) = "биология"

S(8) = "география"

S(9) = "информатика"

S(10) = "технология"

S(11) = "музыка"

S(12) = "изобразительное искусство"

S(13) = "физкультура"

S(14) = "астрономия"

S(15) = "психология"

intFH = FreeFile

Open "Standart.txt" For Output As intFH

For i = 0 To 15

Write #intFH, S(i)

Next i

Close #intFH

В приведенном листинге используется "короткое" имя файла Standart.txt. Имеется в виду относительная адресация. (Проект запускается из текущего каталога и файл Standart.txt помещается в этот же каталог). Если же вы загружаете проект из среды VB, то нужно прописывать полный путь файла Standart.txt.

Теперь рассмотрим, какие изменения нам придется произвести в проекте. Нам придется изменить процедуру Inpt( ), которая находится в модуле кода, так, чтобы массив наименований предметов считывался из файла Standart.txt. Считывать информацию из файла будем с помощью оператора Input #,так как записана она была оператором Write #. Тогда процедура примет вид:

Public Sub Inpt( )

Dim intFH As Integer

Dim i As Integer

intFH = FreeFile( )

Open "Standart.txt" For Input As intFH

Do Until EOF(intFH)

Input #intFH, nameSubject(i)

i = i + 1

Loop

Close #intFH

End Sub

Во второй форме frmMySubj необходимо предусмотреть возможность записи значений полученного пользователем массива nameSubject. Для этого поместим на вторую форму еще одну командную кнопкуcmdWrite с значением свойства Caption “Запись в файл”. Составим соответствующий код:

Private Sub cmdWrite_Click( )

Dim i As Integer

intFH = FreeFile

Open "MySubject.txt" For Output As intFH

For i = 0 To 15

Write #intFH, nameSubject(i),

Next i

Close #intFH