Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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 Заголовок сообщения: |
|
|
Да действительно, я так сначала и сделал, но оказывается ошибся в ситаксисе. Сейчас всё заработало. Спасибо. |
|
Вернуться к началу |
|
|
|