Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi tntedit mit stringfield laden (https://www.delphipraxis.net/76148-tntedit-mit-stringfield-laden.html)

sancho1980 30. Aug 2006 15:50

Datenbank: firebird • Zugriff über: ibx, ibexpert

tntedit mit stringfield laden
 
hi
zuerst die positive nachricht: hab gerade durch stöbern in etlichen foren herausgefunden, dass man den ibx-kompos sehr wohl unicode beibringen kann; wenn man mit ihnen persistente datenbankfelder anlegt, sind diese zwar vom Typ TIBStringField, aber es gibt folgenden workaround:

Delphi-Quellcode:
var
  IBDataSet1Feld: TIBStringField;

...

procedure TForm1.IBDataSet1AfterOpen(DataSet: TDataSet);
begin
  self.TntEdit1.Text := UTF8Decode(self.IBDataSet1Feld.AsString);
end;

...

procedure TForm1.PostButtonClick(Sender: TObject);
begin
  self.IBDataSet1.Edit();
  self.IBDataSet1ASTERM.AsString := UTF8Encode(self.TntEdit1.Text);
  self.IBDataSet1.Post();
  self.IBDataSet1.Close();
  self.TntEdit1.Clear();
end;
Schätze das bedarf keiner weiteren Erläuterung. Mein Problem ist aber folgendes: Ich würd gern so komfortabel mit datensensitiven Controls auf die DB zugreifen; kann man dieses Konvertieren irgendwie automatisieren, damit ich gleich Datenbank-Controls verwenden kann oder muss ich mir die Controls dazu selbst schreiben?

Vielen Dank,

Martin

sancho1980 31. Aug 2006 11:27

Re: ibx kann unicode!
 
Kann mir echt keiner weiterhelfen?
Ich meine, alles was ich versuche ist folgendes: Angenommen ich habe beispielsweise ein

Delphi-Quellcode:
var
  Edit: TTntDBedit;
Dieses ist dann beispielsweise verbunden mit

Delphi-Quellcode:
var
  Source: TDataSource;
und

Delphi-Quellcode:
var
  Feld: TIBStringField;
Wenn sich Edit und Feld jetzt voneinander updaten, soll eben statt des normalen Codes, einfach folgendes ausgeführt werden:

Delphi-Quellcode:
Edit.Text := UTF8Decode(Feld.AsString);
Und andersrum genauso:

Delphi-Quellcode:
Edit.AsString := UTF8Encode(Edit.Text);
Nur an welcher Stelle muss ich die zwei Zeilen Code reinschreiben? Welches Event gehört dazu, bzw. wie macht man sowas?

Danke,

Martin

sakura 31. Aug 2006 11:53

Re: ibx kann unicode!
 
Zitat:

Zitat von sancho1980
Kann mir echt keiner weiterhelfen?

Denke mal über Deinen Threadtitel nach, der schaut so aus, als hättest Du kein Problem und somit werden es viele überlesen ;)

...:cat:...

P.S.: 24 Stunden sind auch noch lange nicht rum ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz