Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Memory Funktion Taschenrechner

  Alt 22. Mai 2017, 22:51
Denk dir folgende zwei Zeilen hinzu und überleg dir nochmal, was dein Programm wirklich macht, mit so einer lokalen Variable.
Delphi-Quellcode:
procedure TForm1.MemoryFunction(Sender: TObject);
var mem: String;
begin
  mem := ''; // <<<<<<<<<< die LOKALE Variable ist zu Beginn leer
  if Sender is TSpeedButton then
    case TSpeedButton(Sender).Name of
      'TsbMR': mem := label1.Caption;
      'TsbMC': begin
               mem := '0';
               label1.Caption := '0';
               end;
      'TsbMMinus': label1.Caption := FloatToStr(StrToFloat(label1.Caption) - StrToFloat(mem));
      'TsbMPlus': label1.Caption := FloatToStr(StrToFloat(label1.Caption) + StrToFloat(mem));
    end;
  mem := ''; // <<<<<<<<<< die LOKALE Variable wird am Ende der Prozedur gelöscht
end;
[edit]
Ich glaube ich hätte zwischendurch mal F5 drücken sollen, wenn die DP schon keine RedBox anzeigt.
$2B or not $2B

Geändert von himitsu (22. Mai 2017 um 22:53 Uhr)
  Mit Zitat antworten Zitat