Студопедия
rus | ua | other

Home Random lecture






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


Date: 2015-10-07; view: 368.


D. Ввод данных в диалоговом режиме, запись, чтение блоками по нескольку элементов

Записать данные типа String в файл по 3 элемента в строку, считать данные из файла в массив группами по 2 элемента.

Private Sub Form_Load() ' объявление: "Ввести данные !!"Label2.BackColor = RGB(200, 0, 0)Label2 = "Input !!"End Sub ' введенные в диалоговом режиме в 6 текстовых полей ' данные, присвоить значениям переменных а1 - а6Private Sub Text1_Change()a1 = Text1End SubPrivate Sub Text2_Change()a2 = Text2End SubPrivate Sub Text3_Change()a3 = Text3End SubPrivate Sub Text4_Change()a4 = Text4End SubPrivate Sub Text5_Change()a5 = Text5End SubPrivate Sub Text6_Change()a6 = Text6End Sub Private Sub Command7_Click()' запись в файл по 3 элемента в строкуOpen "file44.txt" For Output As #1 Write #1, a1, a2, a3Write #1, a4, a5, a6Close #1End Sub Private Sub Command8_Click() ' считать из файла по 2 элемента в массив и ' вывести на экранOpen "file44.txt" For Input As #1j = 0Do While Not EOF(1)Input #1, a1, a2mass(j) = a1: mass(j + 1) = a2List3.List(j) = mass(j): List3.List(j + 1) = mass(j + 1)j = j + 2LoopClose #1End Sub

· Создать 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

Лекция 4:


<== previous lecture | next lecture ==>
С. Доступ Random: запись, чтение | Практическая работа 21. Базы данных; элемент управления Data (считать таблицу в двумерный массив и вывести на экран в массив поля списка). Использование стандартного модуля
lektsiopedia.org - 2013 год. | Page generation: 0.221 s.