Die einfachste Möglichkeit läuft über das
OnGetText-Event.
Wenn man es richtig macht, kann man ALLE Boolean-Felder so umstellen.
(einmal programmieren, so oft wie gebraucht verwenden)
Jedes Feld hat ein OnGetText-Event über das man den Text, den ein Feld liefert
beliebig verändern kann:
Delphi-Quellcode:
procedure TForm1.BooleanJaNeinGetText(Sender: TField; var Text: string; DisplayText: Boolean);
const JaNein : array[Boolean] of string = ('Nein', 'Ja');
begin
Text := JaNein[Sender.AsBoolean];
end;
Jetzt muss man noch dafür sorgen, dass dieser Eventhandler von den Felder auch benützt wird:
Delphi-Quellcode:
procedure TForm1.SetupJaNeinEventHandler(fields:TFields);
ver
i : Integer;
f : TField;
begin
for i:= 0 to fields.Count-1 do
begin
f := fields[i];
if f.FieldType=ftBoolean then
f.OnGetEvent := self.BooleanJaNeinGetText;
end;
end;
Wenn man diese Mehode im Event AfterOpen aufruft
Delphi-Quellcode:
procedure TForm1.Query1AfterOpen(dataset.TDataset);
begin
SetupJaNeinEventHandler(dataset.Fields);
end;
dann ist man fertig.
(Code ohne Hilfe einer Delphi IDE erstellt; kleine Syntaxfehler sind moglich)