Опубликован: 04.07.2006 | Уровень: для всех | Доступ: свободно
Лекция 3:

Работа с устройствами, папками, файлами

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >

Практическая работа 20. Контрольное задание

  • Создать 2 массива (m1(2), m2(2)) данных типа String, создать 3-й массив m3(2), элементы которого получаются попарным склеиванием данных типа String, вводимых в текстовые поля,
  • выполнить сравнение (оператор Like ) операнда, вводимого в текстовое поле с шаблоном - элементами массива m3(2),
  • записать 6 элементов массивов в файл в 2 строки,
  • стартовать процедуру Timer1_Timer () после создания 4-ого массива mf(2),
  • сделать переход к форме 2,
  • считать все данные из файла по 3 элемента в массив,
  • вывести на экран в массив поля списка.

Последовательность действий:

  1. создать на форме 2 поля списка для вывода массивов m1(2), m2(2) и процедуру Form_Load (),
  2. создать на форме 2 массива текстовых полей из 2-х элементов для ввода данных и поле List3 для вывода элементов 3-его массива, см. процедуру Command1_Click(),
  3. создать на форме текстовое поле Text3 для ввода операнда, сравниваемого с шаблоном и поле метки Label1 для вывода результатов сравнения, см. прцедуру Command2_Click(),
  4. записать данные в файл, см. процедуру Command3_Click(),
  5. ввести процедуру Timer1_Timer (),
  6. создать вторую форму и на ней - массив поля списка для вывода результатов считывания данных из файла (см. процедуры Command1_Click() и Command2_Click() второй формы) и 2 командные кнопки,
  7. ввести код, данный ниже, пояснения даны под комментариями. Для перехода ко второй форме сделать щелчок на первой форме, см. процедуру Form_Click () первой формы.
Схема формы

Рис. 3.5. Схема формы

Form1

(General) (Declarations)
Dim j As Integer
' описание переменных для хранения значений операнда и 
' шаблона
Dim op1 As String, sch As String 
Dim res As Boolean ' переменная для работы с оператором Like
Dim m1(2) As String, m2(2) As String, m3(2) As String 
Dim a As Integer, b As Integer
' описание вспомогательного массива и переменных, 
' используемых для старта процедуры Timer1_Timer()
Dim mf(2) As Integer 
Dim ffa As String, ffb As Integer

Private Sub Form_Load() ' создание массивов и вывод его элементов
For j = 0 To 1
a = Int(Rnd * 10 + 60): m1(j) = Chr(a): List1.List(j) = m1(j)
b = Int(Rnd * 10 + 70): m2(j) = Chr(b): List2.List(j) = m2(j)
Next j
End Sub

Private Sub Command1_Click()
' создание 3-его массива в диалоговом режиме
For j = 0 To 1
m3(j) = Text1(j).Text & Text2(j).Text: List3.List(j) = m3(j)
Next j

' создание массива, обеспечивающего старт процедуры 
' Timer1_Timer()
For j = 0 To 1 
ffa = m3(j): ffb = Asc("ffa"): mf(j) = ffb
Next j
End Sub

' работа оператора Like и вывод результатов
Private Sub Command2_Click()
op1 = Text3.Text ' ввод операнда
For j = 0 To 1
sch = m3(j): res = op1 Like sch
If res Then Label1.Caption = "ДА": GoTo 300
Next j
Label1.Caption = "НЕТ"
300 End Sub

Private Sub Command3_Click() ' запись в файл
Open "ff.txt" For Output As #1
Write #1, m1(0), m1(1), m2(0)
Write #1, m2(1), m3(0), m3(1)
Close #1
End Sub

' процедура, обеспечивающая перемещение поля метки после 
' создания массива
Private Sub Timer1_Timer()
Label2.Left = Int(200 * Rnd * mf(0))
Label2.Top = Int(150 * Rnd * mf(1))
End Sub

Private Sub Form_Click()
Unload Me
Form2.Show
End Sub

Form2

General Declarations
Dim m4(6) As String, j As Integer, i As Integer
Dim k1 As String, k2 As String, k3 As String

Private Sub Command1_Click() ' чтение из файла по 3 элемента
Open "ff.txt" For Input As #1
j = 0
Do While Not EOF(1)
Input #1, k1, k2, k3
m4(j) = k1: m4(j + 1) = k2: m4(j + 2) = k3
j = j + 3
Loop
Close #1
End Sub

Private Sub Command2_Click() ' вывод в массив ListBox 
For i = 0 To 2
For j = 0 To 1
List1(i).List(j) = m4(2 * i + j)
Next j, i
End Sub
< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Константин Новков
Константин Новков

Лекция 3: 2

Для создания возможности использования объектов файловой системы нужно подключить библиотеку DLL, содержащую эти объекты: меню Разработать > Ccылки > Microsoft Scriptlet Component (сделать щелчок на соответствующем элементе управления CheckBox).

Не могу найти меню Разработать (Develop)>Links и т.д.

антонина квасова
антонина квасова