www.map-info.ru :: Просмотр темы - Непонятки с синтаксисом MapBasic-а
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
pryg



Зарегистрирован: 19.10.2011
Сообщения: 1

СообщениеДобавлено: Пн Ноя 07, 2011 3:11 pm    Заголовок сообщения: Непонятки с синтаксисом MapBasic-а Добавить ответ со ссылкой на данный текст

Получаю список полей в таблице, через запятую, предварительно вставляю вперёд будущее новое поле:
sListField = "Код," + MakeColList$(gsCurTable,sDelim)
Где MakeColList$, доступна в MISTDLIB в сэмплах.
sListField - точно строка, через запятую с именами полей.

Далее меняю таблицу
Alter Table gsCurTable (
Add Код Char(5)
Order sListField
) Interactive
При выполнении пишет ошибку:
"Результатом выражения не является имя колонки или таблицы. Название поля должно состоять из букв..." и т.д.
Как вот быть? Если писать:
Order Код,Наименование,...
Прокатывает, но смысл в том, что пользователь выбирает таблицу из списка и программа добавляет поля автоматом, какие вздумается пользователю.
Ка вот нормаль вставить в ордер строку в виде переменной?

Ладно, предположим отказались от сортировки полей, после Alter Table, слой с таблицей закрывается.
Открываем его обратно, и пытаемся вернуть ему сохранённые заранее настройки.
Скажем было Два параметра:
iLayInfoDisplay = LayerInfo(giWindowID, iNumCurLay, LAYER_INFO_DISPLAY)
sLayInfoGSymbol = LayerInfo(giWindowID, iNumCurLay, LAYER_INFO_OVR_SYMBOL)

iLayInfoDisplay будет равно 2, а LayInfoGSymbol выглядит вообще как строка "Symbol ("<filename>",0,24,0)".
Вроде то что надо. Пытаемся впехнуть это в Set Map

Открываем слой:
Add Map Window giWindowID Auto Layer gsCurTable
Далее пытаюсь выполнить:
Set Map
Display iLayInfoDisplay
Global sLayInfoGSymbol
Оно даже не компилируется.
Пишет гадости типа: "Missing '=' in assignment to iLayInfoDisplay."
Как вот тогда вернуть слой на место, если его отрубает после, изменения структуры таблицы.
Может я чего-то не понимаю в этом бейсике?
Подскажите пожалуйста правильный подход?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
reasonat



Зарегистрирован: 01.07.2009
Сообщения: 224
Откуда: Екатеринбург

СообщениеДобавлено: Пн Ноя 14, 2011 12:48 pm    Заголовок сообщения: Re: Непонятки с синтаксисом MapBasic-а Добавить ответ со ссылкой на данный текст

в таких случаях правильно подходить через команду Run Command:
Код:
 str = "Alter Table gsCurTable (Add Код Char(5) Order "
Run Command str + sListField + ") Interactive"

во втором случае так же
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru