Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Punkte im TDBEdit entfernen

  Alt 6. Nov 2005, 16:14
Hallo Claus,

deine Anforderungen kannst du sehr einfach mit den Ereignissen OnGetText() und OnSetText() der Feldkomponenten umsetzen. Ich verwende folgenden Code bei Integer Feldern, den du sicher an deine Bedürfnisse anpassen kannst:

Delphi-Quellcode:
procedure TDataForm.IntegerFieldGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  Text := Format('%.0n', [Sender.AsFloat]);
end;

procedure TDataForm.IntegerFieldSetText(Sender: TField;
  const Text: String);
begin
  Sender.AsString := Without(Text, '.');
end;
Die Funktion Without() liefert einen string zurück, aus dem bestimmte Zeichen entfernt wurden:

Delphi-Quellcode:
function Without(s, chars: string): string;
var
  i: integer;
begin
  Result := s;
  if chars <> 'then
    for i := Length(Result) downto 1 do
      if Pos(s[i], chars) <> 0 then
        Delete(Result, i, 1);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat