Właśnie robie komunikator, wszystko ładnie pięknie, ale mam problem z wyświetlaniem rozmowy.
Jak wiadomo, w DBGridzie znalezione rekordy są wyswietlane poziomo, co w kontekscie komunikatorea wygląda tak:
Jacek napisał: bla bla bla
A ma wyglądać tak:
Jacek napisał:
bla bla bla
Moje zapytanie wygląda tak:
procedure TForm2.FormShow(Sender: TObject);
begin
adoquery1.close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('SELECT tekst, nadawca FROM chat_talk WHERE nadawca='''+form1.edit1.text+''' ORDER BY godzina ASC;');
adoquery1.Open;
I działa.
PRÓBUJE wyświetlać znalezione pola tak:
while not ADOQuery1.eof do
begin
Memo1.lines.add(adoquery1.fieldbyname('nadawca').asstring+' napisal(-a):');
Memo1.lines.add(adoquery1.fieldbyname('tekst').asstring);
Memo1.lines.add('');
end;
end;
Ale forma się zawiesza (nie pokazuje się). Ba! Zawiesza się cały program.
Ma ktoś pomysł jak to rozwiązać?
A, i jeszcze jedno:
Jak sprawdzać co 1s, czy ktos do nas napisał ?</delphi>