Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Taschenrechner : ' ' ist kein Gleitkommawert (https://www.delphipraxis.net/161889-taschenrechner-ist-kein-gleitkommawert.html)

p80286 29. Jul 2011 16:39

AW: Taschenrechner : ' ' ist kein Gleitkommawert
 
Du hast zwei Hinweise bekommen wie Du Deine Probleme in den Griff bekommen könntest.
Aber immer noch steht bei Dir:
Delphi-Quellcode:
function TForm1.IsValidFloat(AValue1: String): Boolean;
 var
   i: Integer;
 begin

  Result := false;
     {
     Gegeben: String, Gesucht: Boolean}

    if AValue1 <> '' then
     begin
       for i := 0 to Length(AValue1) do
       begin
         if AValue1[i] in ['0'..'9', ','] then
           begin
             Result := true;
           end;
       end;
     end else
      begin
       ShowMessage('String ist leer.');
      end;
 end;
Gruß
K-H

himitsu 29. Jul 2011 16:56

AW: Taschenrechner : ' ' ist kein Gleitkommawert
 
So, zu der Nummernprüfung wurde eigentlich schon alles gesagt...






Unnötige Konstanten besser vermeiden.
Delphi-Quellcode:
procedure TForm1.cmd_0Click(Sender: TObject);
begin
  txt_rechnung.Text := txt_rechnung.Text + IntToStr(0);
end;
Aber du weißt ja eh schon, was IntToStr liefern wird.
Delphi-Quellcode:
procedure TForm1.cmd_0Click(Sender: TObject);
begin
  txt_rechnung.Text := txt_rechnung.Text + '0';
end;
Und dann gibt es eine "Regel" (OK, eigentlich mehr Hinweis/Tipp), daß man doppelten Code vermeiden sollte.
In Sender steckt die Komponente, von welcher der Aufruf kommt, also welche den Befehl gesendet hat.

In .Hint kann man nun das Zeichen "verstecken":
Delphi-Quellcode:
procedure TForm1.cmd_NumClick(Sender: TObject);
begin
  txt_rechnung.Text := txt_rechnung.Text + TButton(Sender).Hint;
end;
Außerdem hätte jede Komponente .Tag, welches man auch verwenden könnte.
(wird nicht von Delphi genutzt und kann von dir verwendet werden, wofür du auch willst)
Delphi-Quellcode:
procedure TForm1.cmd_NumClick(Sender: TObject);
begin
  txt_rechnung.Text := txt_rechnung.Text + IntToStr(TButton(Sender).Tag);
end;
Nun muß man nur noch diese Methoden allen Nummern-Buttons zuweisen und im OI, bei diesen Buttons, das .Hint oder .Tag entsprechend setzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.
Seite 3 von 3     123   

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