Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как можно результаты изысканий копонента Query передать в Table? [D5, Paradox]


Zilog ©   (2004-01-31 22:06:00) 

Как можно результаты изысканий копонента Query передать в Table? Дело в том, что в Table есть обработка нужного мне события поля, OnGetText.

Логика такая - для формирования данных таблицы я использую SQL. Всё хорошо, но мне надо некторые значения подменять на лету. А это я могу сделать через использования Table. Но тогда выпадает Query...


Val   (2004-02-09 11:07:00) [1]

>residen007 (07.02.04 23:00) [15]
к чему? реклама "живых" запросов? :)


residen007   (2004-02-07 23:00:00) [2]

Живой(обновляемый) запрос -- свойство: Query.RequestLive:=True


Кщд   (2004-02-06 13:52:00) [3]

либо IsNull + F1


Zilog   (2004-02-06 12:39:00) [4]

разобрался... грубо говоря ...
обработка исключения короче нужна.


Zilog   (2004-02-06 10:53:00) [5]

Вобчем замутил подмену текста - но, если таблица пустая, т.е. свежесозданная, то при запуске проги грит Invaldi Variant Type Conversion.
подмена выглядит так:

case Sender.Value of
0 : Text := "новый текст1";
1 : Text := "новый текст2";
end;

Может способ есть как обработать ошибку?


Zilog   (2004-02-05 15:28:00) [6]

2 Карелин Артем:
а почему именно класса?
я сделал, только вызываю не так как ты написал... Если точнее, то сдлелал так: Q1.FieldByName("Tра-ля-ля").OnGetText:= MyClass.MyProc;


Val   (2004-02-05 15:18:00) [7]

..у любого класса..
это необязательно


Карелин Артем   (2004-02-05 14:46:00) [8]

Пишешь у любого классапроцедуру.
procedure OnShowDataFields(Sender: TField; var Text: String;
DisplayText: Boolean);

И точно так же вызываешь
try
s:=Screen.ActiveCustomForm;
if s=nil then exit;
for i:=0 to s.ComponentCount-1 do
begin
if ((s.Components[i] as TDataSet).Fields[j] is TDateField) then
(s.Components[i] as TDataSet).Fields [j].OnGetText:=OnShowDataFields;
end;
except
end;


Zilog   (2004-02-05 14:33:00) [9]

Q1.FieldByName("Tра-ля-ля").OnGetText:=... ????

Дак а как мне свою процедуру туда прописать, если ему надо TFieldGetTextEvent ???


Zilog   (2004-02-05 13:10:00) [10]

Биг сенкс, дружище!!!


Карелин Артем   (2004-02-05 13:03:00) [11]

Q1.FieldByName("Tра-ля-ля").OnGetText:=...


Zilog   (2004-02-05 12:57:00) [12]

>> Зато Field есть и у Query

А как их динамически создать?
Если я не компонент кладу на форму, а перменную задаю...


Zilog   (2004-02-01 05:09:00) [13]

За-то спасибо =)


Anatoly Podgoretsky   (2004-01-31 23:45:00) [14]

Зато Field есть и у Query


Zilog   (2004-01-31 23:10:00) [15]

зато есть у Field"а.
к нему то и лезу через Table...


Anatoly Podgoretsky   (2004-01-31 22:20:00) [16]

У TTable нет события OnGetText


Наверх

Титульная страница Поиск, карта сайта Написать письмо