ListBox в MapBasic

MapInfo, MapBasic
Ответить
Марина

ListBox в MapBasic

Сообщение Марина » 28 апр 2004, 12:41

Доброго времени суток всем, кто читает мое сообщение!

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

Ведьмак
Участник
Сообщения: 65
Зарегистрирован: 29 окт 2003, 17:12
Статьи: 4
Репутация: 0
Откуда: Москва
Контактная информация:

Сообщение Ведьмак » 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

Спасибо, Ведьмак.

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

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость