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

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

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



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

СообщениеДобавлено: Пн Фев 18, 2013 6:38 pm    Заголовок сообщения: помогите с run command Добавить ответ со ссылкой на данный текст

не получается выполнить команду run command. Не могу понять в чем ошибка. Программа должна сохранять все выбранные таблицы в заданную проекцию.

for i=1 to numtables()
nt=text(i) 'массив, заполненный именами таблиц
pro="zona_"+ text(i) 'zona чтобы новые сохр. таблицы начинались со слова zona
cmnd="Commit Table nt As pro TYPE NATIVE CoordSys Earth Projection 1, 0 Interactive"
note cmnd
Interactive
run command cmnd
next

Пишет ошибку "Не определена переменная или поле"
Если то же самое делать без run command, то все получается.
(хочу использовать run command, что бы потом можно было выбирать проекцию в окне выбора, но пока даже так не работает, хотя в справке написано что текстовые переменные можно использовать)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
thegeo



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

СообщениеДобавлено: Вт Фев 19, 2013 11:55 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Попробуйте так:
...
nt=text(i)
pro="""c:\zona_"+ text(i) & """
cmnd="Commit Table " & nt & " As " & pro & " TYPE NATIVE CoordSys Earth Projection 1, 0 Interactive"
run command cmnd
...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
sysrepos



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

СообщениеДобавлено: Вт Фев 19, 2013 1:08 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

сохранил 1 файл как zona_+ text(i) & ...
что означает &? в справке не нашел ничего
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
thegeo



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

СообщениеДобавлено: Вт Фев 19, 2013 1:28 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Посмотрите в справке "Работа со строками".
Символ & является оператором конкатенации (объединения) двух строк. В MB для этих целей также допустимо использование оператора +.

Подправьте в предыдущем коде
pro="""" & "c:\zona_" & nt & """"
(внимание на число обрамляющих кавычек)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
sysrepos



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

СообщениеДобавлено: Вт Фев 19, 2013 2:26 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

спасибо, разобрался. Я правда решил это вот так:

nt=chr$(34)+text(i)+chr$(34) ' chr$(34) символ ковычки
pro=chr$(34)+"zona_"+ text(i)+chr$(34)
cmd="Commit Table "+ nt +" As " + pro + " TYPE NATIVE "+ strp+" Interactive"
run command cmd

Ваш вариант тоже работает.

Странно только почему """" возвращают одну кавычку
""-возвращают пробел
"+"-возвращают символ
логично было бы что кавычку должны возвращать три кавычки """
А четыре кавычки должны бы были возвращать пробел.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Sibit



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

СообщениеДобавлено: Ср Фев 27, 2013 5:12 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

sysrepos писал(а):

Странно только почему """" возвращают одну кавычку


Наоборот, все логично. Кавычка в строке обозначается двойной кавычкой. Станьте на место компилятора т представте как будете разбирать строку:
Код:

"bla-bla-bla ""В кавычках надпись"" bla-bla-bla "

или
Код:

"до кавычки надпись "" после кавычки надпись "

Соответственно вариант """" - тот же второй вариант , но с пустыми строками до и после кавычки.

sysrepos писал(а):

""-возвращают пробел

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

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


Top.Mail.Ru