www.map-info.ru :: Просмотр темы - Каа сосчитать данные таблицы в Delphi
                               РќР° главную страницу сайта

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

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



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

СообщениеДобавлено: Пн Мар 19, 2007 10:01 am    Заголовок сообщения: Каа сосчитать данные таблицы в Delphi Добавить ответ со ссылкой на данный текст

Столкнулся с проблемой. Мне необходимо создать в Delphi таблицу StringGrid и заплонить данными из таблицы MapInfo. Что-то вроде окна списка. Однако сосчитать данные из таблицы MapInfo оказалось не возможно. В MapBasic можно извлекать данные из текущей записи используя выражение к примеру table.column. Как эти данные вытянуть в Delphi? :?:
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
FedorinoFF



Зарегистрирован: 01.02.2007
Сообщения: 272
Откуда: Санкт-Петербург

СообщениеДобавлено: Пн Мар 19, 2007 6:34 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

А чем Eval('имятаблицы.имяполя') не устраивает для получения значения поля текущей записи?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
fursov



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

СообщениеДобавлено: Пн Мар 19, 2007 7:23 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Eval не работает, т.к. значение поля присваивается какой-нибудь объявленной переменной. К тому же Eval работает только с процедурами, функциями, свойствами , но не со значениями полей( переменных).
Вообще у меня появилась одна мыслишка. Что если открыть дополнительно новую таблицу с одной колонкой типа string и затем присваивать этому имени значения из записей таблицы, предворительно переведя их в тип string. а затем уже считывать с помощью Eval имя этой колонки. Довольно муторно, но видимо другого выхода нет.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
FedorinoFF



Зарегистрирован: 01.02.2007
Сообщения: 272
Откуда: Санкт-Петербург

СообщениеДобавлено: Пн Мар 19, 2007 9:17 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Еще вчера Eval() работал для всего. Может за сегодня что изменилось? Може Вы просто не умеете его готовить?

mi:= CreateOleObject('Mapinfo.Application');
...
mi.Do('fetch first from имятаблицы')
while not (mi.Eval('EOT(имятаблицы)') = 'F') do
begin
s:= mi.Eval('имятаблицы.имяполя')
mi.Do('fetch next from имятаблицы')
end
...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
fursov



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

СообщениеДобавлено: Вт Мар 20, 2007 6:49 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

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

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


Top.Mail.Ru