Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB.doc
Скачиваний:
23
Добавлен:
12.11.2018
Размер:
2.66 Mб
Скачать
        1. Вывод двумерного массива с помощью элемента управления msFlexGrid

В среде VB для вывода массивов используется компонент MSFlexGrid , представляющий собой таблицу, который подключается с помощью диалогового окна Components (Рис. 7). Таблица может иметь полосы прокрутки, причем заданное число первых строк и столбцов может быть фиксированным и не подвергаться прокрутке. Таким образом, можно задать заголовки столбцов и строк, постоянно присутствующих в окне компонента. Каждой ячейке таблицы может быть поставлен в соответствии некоторый объект.

Рис. 7 – Диалоговое окно Components

Свойства компонента MSFlexGrid:

Свойство

Значение

Rows

Общее количество строк таблицы

Cols

Общее количество столбцов таблицы

Row

Номер строки

Col

Номер столбца

Text

Содержимое ячейки таблицы, адрес которой определяется в свойствах Col и Row. Имеет тип String

ColWidth(j)

Ширина j-ой колонки

RowHeight(i)

Ширина i-ой строки

Пример. Двумерный массив размерностью n*m заполняется случайными числами. Для вывода полученного массива используется элемент управления MSFlexGrid(Рис. 8).

Рис. 8 – Форма с компонентом MSFlexGrid

Программный код приложения:

Dim A(30,30) As Single 'Описание двумерного массива

Dim i As Integer,j As Integer,n As Integer,m As Integer

'Процедура заполнения двумерного массива случайными числами

Private Sub Command1_Click()

Randomize

n = Val(Text1.Text) 'Количество строк

m = Val(Text2.Text) 'Количество столбцов

'Заполнение массива случайными значениями целых чисел

For i = 0 To n – 1

For j = 0 To m – 1

'Присвоение элементу массива случайного числа из отрезка [-10,10]

a(i,j) = Int(21 * Rnd - 10)

Next j

Next i

End Sub

'Процедура вывода двумерного массива в таблицу

Private Sub Command2_Click()

MSFlexGrid1.Rows= n+1 'Общее количество строк в таблице

MSFlexGrid1.Cols= m+1 'Общее количество столбцов

'Формирование заголовков столбцов

MSFlexGrid1.Row=0 'Установка на нулевую строку

For j:=0 To m 'Цикл для вывода номеров столбцов

MSFlexGrid1.Col=j 'Установка на столбец с номером j

MSFlexGrid1.ColWidth(j)=700 'Установка ширины столбцов

MSFlexGrid1.Text=j 'Вывод номеров столбцов

Next j

'Формирование заголовков строк

MSFlexGrid1.Col=0 'Установка на нулевой столбец

MSFlexGrid1.ColWidth(0)=300 'Установка ширины нулевого столбца

For i:=0 To n 'Цикл для вывода номеров строк

MSFlexGrid1.Row=i 'Установка на строку с номером i

MSFlexGrid1.Text=i 'Вывод номеров строк

Next i

'Вывод элементов массива в таблицу по строкам

For i:=0 To n-1 'Цикл по строкам

MSFlexGrid1.Row=i+1 'Установка на i+1-ую строку

For j:=0 To m-1 'Цикл по столбцам

FlexGrid1.Col=j+1 'Установка на j+1-ый столбец

MSFlexGrid1.Text=a(i,j) 'Вывод aij в ячейку таблицы i+1, j+1

Next j

Next i