Где имена таблиц
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 мар 2009, 09:24
- Репутация: 0
Где имена таблиц
В процедуре требуется выбрать нужные из открытых таблиц, хотел поместить их имена в выпадающий список не могу найти где взять их. В самом МапИнфо при открытии таблиц или создании есть же где-то список имен как до него добраться подскажите кто знает?
- Parlament
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 11 сен 2008, 14:51
- Репутация: 0
- Контактная информация:
Re: Где имена таблиц
Я так понимаю речь идет о этом?
Теория
Назначение
Часть оператора Dialog. Отвечает за создание раскрывающегося меню.
Синтаксис
Control PopupMenu
[ Position x , y ]
[ Width w ]
[ ID control_ID ]
[ Calling handler ]
[ Title { str_expr | From Variable str_array_var } ]
[ Value i_selected ]
[ Into i_variable ]
[ Disable ]
x, y – координаты левого верхнего угла окошка меню в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора Dialog);
w – ширина окошка в единицах измерения диалога, по умолчанию 80;
control_ID – целое число, которое должно быть уникальным по отношению к остальным идентификаторам элементов активного диалога;
handler – имя процедуры-обработчика, которая запускается при изменении выбора в списке;
str_expr – строковое выражение, которое задает текст строк списка меню, где элементы списка разделены точкой с запятой (;);
str_array_var – имя массива строковых переменных;
i_selected – короткое целое число, задающее номер элемента списка меню , который будет показан в окошке при открытии диалога, по умолчанию будет показан первый элемент;
i_variable – имя переменной типа SmallInt, которая будет использоваться для сохранения номера выбранного в меню элемента после закрытия диалога.
Ключевое слово Disable делает меню недоступным для выбора (закрашивается серым).
Описание
Ключевое слово PopupMenu в предложении Control оператора Dialog позволяет создавать в диалоге меню, представляющее собой однострочное окошко с кнопкой справа. Нажатие на кнопку раскрывает комбинированное окошко списка, в котором пользователь может выбрать строчку. Выбранная строка будет отображена в окошке.
Предложение Title задает список элементов меню. Если за словом Title задан список текстов в кавычках, через точку с запятой, то каждый текст будет определять одну строчку списка. Например:
Title "Город;Область;Территория;Регион;Вся страна"
Список в предложении Title можно также задавать массивом. В следующем фрагменте "s_optionlist" – имя строкового массива.
Title From Variable s_optionlist
Пример
Control PopupMenu
Title "Город;Область;Территория;Регион;Вся страна"
Value 2
ID 5
Into mapscope
Position 10, 150
Вообще заводишь массив.. и суешь его в этот PopupMenu... и дальше работаешь с массивом =)
P.S. Вроди так..
Теория
Назначение
Часть оператора Dialog. Отвечает за создание раскрывающегося меню.
Синтаксис
Control PopupMenu
[ Position x , y ]
[ Width w ]
[ ID control_ID ]
[ Calling handler ]
[ Title { str_expr | From Variable str_array_var } ]
[ Value i_selected ]
[ Into i_variable ]
[ Disable ]
x, y – координаты левого верхнего угла окошка меню в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора Dialog);
w – ширина окошка в единицах измерения диалога, по умолчанию 80;
control_ID – целое число, которое должно быть уникальным по отношению к остальным идентификаторам элементов активного диалога;
handler – имя процедуры-обработчика, которая запускается при изменении выбора в списке;
str_expr – строковое выражение, которое задает текст строк списка меню, где элементы списка разделены точкой с запятой (;);
str_array_var – имя массива строковых переменных;
i_selected – короткое целое число, задающее номер элемента списка меню , который будет показан в окошке при открытии диалога, по умолчанию будет показан первый элемент;
i_variable – имя переменной типа SmallInt, которая будет использоваться для сохранения номера выбранного в меню элемента после закрытия диалога.
Ключевое слово Disable делает меню недоступным для выбора (закрашивается серым).
Описание
Ключевое слово PopupMenu в предложении Control оператора Dialog позволяет создавать в диалоге меню, представляющее собой однострочное окошко с кнопкой справа. Нажатие на кнопку раскрывает комбинированное окошко списка, в котором пользователь может выбрать строчку. Выбранная строка будет отображена в окошке.
Предложение Title задает список элементов меню. Если за словом Title задан список текстов в кавычках, через точку с запятой, то каждый текст будет определять одну строчку списка. Например:
Title "Город;Область;Территория;Регион;Вся страна"
Список в предложении Title можно также задавать массивом. В следующем фрагменте "s_optionlist" – имя строкового массива.
Title From Variable s_optionlist
Пример
Control PopupMenu
Title "Город;Область;Территория;Регион;Вся страна"
Value 2
ID 5
Into mapscope
Position 10, 150
Вообще заводишь массив.. и суешь его в этот PopupMenu... и дальше работаешь с массивом =)
P.S. Вроди так..
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
- Parlament
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 11 сен 2008, 14:51
- Репутация: 0
- Контактная информация:
Re: Где имена таблиц
SelectionInfo(SEL_INFO_TABLENAME)
Узнаем имя таблицы =)
Узнаем имя таблицы =)
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 мар 2009, 09:24
- Репутация: 0
Re: Где имена таблиц
Благодарю. Вот как раз PopupMenu им и пользуюсь, но что бы массивчик то заполнить надо взять от куда-то эти имена таблиц. Дело в том что не я их открываю. Мое приложение работает как отдельное дополнение к обычной работе MapInfo. т.е. оператор может что угодно делать открывать какие угодно таблицы и создавать объекты, но для обработки моему приложению нужно сунуть две именно те таблицы. Есть простой выход обзывать нужные таблицы всегда одними и теми же именами тогда я не буду морочить голову и буду брать их по именам. Но это не, так сказать, грамотно и ограничивает свободу оператору. Вот если бы знать где есть функция или как зовут ее, что бы она возвращала, например, список ВСЕХ имен открытых таблиц. А текущую таблицу одну мне не трудно узнать.
-
- Гуру
- Сообщения: 4205
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: 433
- Откуда: Париж
Re: Где имена таблиц
NumTables( ) function
Purpose
Returns the number of tables currently open.
----------------
TableInfo( ) function
Purpose
Returns information about an open table.
Syntax
TableInfo( table_id, attribute )
table_id is a string representing a table name, a positive integer table number, or 0 (zero).
attribute is an integer code indicating which aspect of the table to return.
TAB_INFO_NAME - String result, indicating the name of the table.
----
цикл от 1 до NumTables( ) - и будет вам ваш список.
Purpose
Returns the number of tables currently open.
----------------
TableInfo( ) function
Purpose
Returns information about an open table.
Syntax
TableInfo( table_id, attribute )
table_id is a string representing a table name, a positive integer table number, or 0 (zero).
attribute is an integer code indicating which aspect of the table to return.
TAB_INFO_NAME - String result, indicating the name of the table.
----
цикл от 1 до NumTables( ) - и будет вам ваш список.
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 мар 2009, 09:24
- Репутация: 0
Re: Где имена таблиц
Спасибо, с последним ответом получилось, мап в порядковом возрастании устанавливает id для каждой из открытых таблиц. А по TableInfo имена можно получить. Благодарю.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей