AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Blank im Edit-Control für Integer/Float-Werte

Ein Thema von Abrand · begonnen am 16. Jan 2006 · letzter Beitrag vom 16. Jan 2006
 
marabu

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

Re: Blank im Edit-Control für Integer/Float-Werte

  Alt 16. Jan 2006, 15:16
Hallo Alex,

die Geschichte mit dem Leerzeichen ist mysteriös. Mir scheint, du suchst nach einer Möglichkeit die Eingabe von Festkommazahlen sicher zu gestalten, wobei eine Eingabe auch ganz unterbleiben kann. Da gibt es mehrere Strategien:
  • Unbeschränkte Eingabe und spätere Prüfung
  • Unbeschränkte Eingabe und visuelle Rückmeldung
  • Eingabebeschränkung
Der erste Ansatz gefällt wohl niemandem so recht. Michael hat den letzten Fall aufgegriffen, wenn auch anders als du mit der Edit-Maske. Ich erwärme mich mehr für den zweiten Fall, der quasi einen Kompromiss darstellt. Wenn du magst ziehe eine TEdit-Komponente auf eine Form und trage in den Ereignissen OnChange(), OnEnter() und OnExit() die folgenden Code-Zeilen ein um zu sehen was ich meine:

Delphi-Quellcode:
procedure TDemoForm.EditChange(Sender: TObject);
var
  fTest: Extended;
begin
  with Sender as TEdit do
  if Focused then
  begin
    if (Text = '') or TryStrToFloat(Text, fTest) then
    begin
      Color := clWhite;
      Font.Color := clBlack;
    end else
    begin
      Color := clRed;
      Font.Color := clWhite;
    end;
  end;
end;

procedure TDemoForm.EditExit(Sender: TObject);
begin
  with Sender as TEdit do
    Text := Format('%.2n', [StrToFloat(Text)]);
end;

procedure TDemoForm.EditEnter(Sender: TObject);
begin
  with Sender as TEdit do
  begin
    Text := StringReplace(Text, ThousandSeparator, '', []);
    SelectAll;
  end;
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz