Страница 1 из 1

ListBox в MapBasic

Добавлено: 28 апр 2004, 12:41
Марина
Доброго времени суток всем, кто читает мое сообщение!

Недавно начала пользоваться МэпБэйсиком под МэпИнфо. Возникла такая задача: необходимо сформировать ЛистБокс с переменным количеством строк. А именно, необходимо в качестве строк в ЛистБоксе выбрать строки одного поля таблицы .tab. Количество же строк в этой таблице может меняться.
Пробовала формировать из значений поля таблицы массив, предварительно посчитав количество ее строк, но, оказалось, что МэпБэйсик не позволяет задавать массив с переменным количеством эл-тов.
Пробовала формировать строку Title в объявлении списка, а затем вызывать ее с помощью Run Command. Но тоже не получилось.
Может кто-то уже решал такую задачу? Буду благодарна за помощь.

Добавлено: 28 апр 2004, 14:52
Ведьмак
Здравствуйте, Марина.
Вот эта процедура реализует такой диалог на основе именно изменения размерности строкового массива. Успеха!

Код: Выделить всё

Sub 
	Dim myArray() As String
	Dim i As Integer
	              Open table "С:\CLA.TAB" As CLA
		Fetch First from CLA
		i = 0
		While not EOT(CLA)
			i = i + 1
			ReDim myArray(Ubound(myArray)+1)
			myArray(i) = CLA.Col(3)
	 		Fetch Next From CLA
		Wend
                              Close Table CLA
		Dialog Title "Dialog"
			Control ListBox
		         	           Title From Variable myArray
			Control OKButton
			Control CancelButton
End Sub

Добавлено: 28 апр 2004, 18:08
Гость
Спасибо, Ведьмак.

Действительно, "век живи - век учись".