Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi taschenrechner Zahleneingabe Kommentar (https://www.delphipraxis.net/135011-taschenrechner-zahleneingabe-kommentar.html)

safak67 3. Jun 2009 07:59


taschenrechner Zahleneingabe Kommentar
 
hallo erstmal,

ich würd gern wissen was diese Zeilen machen..
Delphi-Quellcode:
procedure TFormTR.SpZahlClick(Sender: TObject);
VAR Nr : INTEGER;
begin
   if LabelAnzeige.caption='0' then LabelAnzeige.caption:='';
   if LabelAnzeige.caption='Error' then LabelAnzeige.caption:='';
   FOR Nr := 0 TO 9 DO
       if Sender = SpArray[Nr]
          then LabelAnzeige.caption:=LabelAnzeige.caption+chr(Nr+ord('0'));
   if sender = SpDecimalSep then LabelAnzeige.caption:=LabelAnzeige.caption+',';
end;

Luckie 3. Jun 2009 08:04

Aussagekräftiger Titel
 
Bitte gib deinem Beitrag einen aussagekräftigen Titel. Der jetzige Titel lässt nicht erkennen, um was für ein Problem oder Frage es sich handelt. Um den Titel zu ändern, editiere einfach deinen ersten Beitrag. Damit erleichters du das Auffinden deines Beitrages mit der Suche und ersparst anderen Mitglieder ein unnötiges Öffnen deines Beitrages.

mkinzler 3. Jun 2009 08:09

Re: taschenrechner Zahleneingabe Kommentar
 
Was genau verstehst du nicht?

safak67 3. Jun 2009 08:13

Re: taschenrechner Zahleneingabe Kommentar
 
Delphi-Quellcode:
if LabelAnzeige.caption='0' then LabelAnzeige.caption:='';
   if LabelAnzeige.caption='Error' then LabelAnzeige.caption:='';
und

[delphi]LabelAnzeige.caption:=LabelAnzeige.caption+chr(Nr+ord('0'));[/delphi]

das untersrichene bzw. das fette

mkinzler 3. Jun 2009 08:18

Re: taschenrechner Zahleneingabe Kommentar
 
Ord() liefert den ASCII-Code eines Zeichens
Chr() erzeugt aus dem ASCII-Code ein Zeichen

Satty67 3. Jun 2009 08:51

Re: taschenrechner Zahleneingabe Kommentar
 
Mir ist gerade eingefallen, das auch in Pascal viele Wege zum Ziel führen (wenn das N.W. wüsste)

Vielleicht ist eine andere Variante besser verständlich für den TS:
Delphi-Quellcode:
procedure TFormTR.SpZahlClick(Sender: TObject);
VAR Nr : INTEGER;
begin
   if (LabelAnzeige.caption='0') or (LabelAnzeige.caption='Error') then
     LabelAnzeige.caption:='';

   // dann so
   if sender = SpDecimalSep then
     LabelAnzeige.caption:=LabelAnzeige.caption+','
   else
     FOR Nr := 0 TO 9 DO
       if Sender = SpArray[Nr] then
         LabelAnzeige.caption:=LabelAnzeige.caption+IntToStr(Nr);

   // oder so, wenn die Buttons entspr. benannt sind (aber das ist nicht fein, sieht nur fein aus)
   LabelAnzeige.caption := LabelAnzeige.caption + (Sender as TSpeedButton).caption;

   // oder so, wenn die Tags passend initialisiert sind
   Nr := (Sender as TComponent).Tag;
   case Nr of
     0..9 : LabelAnzeige.caption:=LabelAnzeige.caption+IntToStr(Nr);
     10   : LabelAnzeige.caption:=LabelAnzeige.caption+DecimalSeperator;
   end;
end;
(Ja, mir war ein Moment lang langweilig und wahrscheinlich hab' ich auch noch einen doofen Fehler eingebaut)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:05 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