Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Memoeintrag hinzufügen (erweitert)

  Alt 21. Nov 2010, 23:46
Na das geht doch schon mal mit den Fehlermeldungen, tut doch gar nicht weh
Um diesen Umwandlungsfehler zu umgehen, gibt es Delphi-Referenz durchsuchenStrToFloatDef

Weiterhin greifst du auf eine Zeile im Memo zu, die es nicht gibt.
Wenn i den Wert von Memo1.Lines.Count - 1 hat, dann willst du aber auf Memo1.Lines[ i + 1 ] zugreifen und das geht nicht.

Also darfst du i nicht so hoch zählen lassen.

Bei einer vernünftigen Formatierung fällt das auch etwas schneller ins Auge.

Des Weiteren würde ich Memo2 auch vorher löschen und dann mit Add statt mit Insert arbeiten.

Um es richtig schön zu machen und die Performance zu steigern, unterbindet man auch noch das ständige Aktualisieren von Memo2
Delphi-Quellcode:
procedure TForm1.Differenz;
var
  i : integer;
  k: double; // doppel var kann man sich schenken
begin
  k:=0;
  Memo2.Lines.BeginUpdate;
  try
    Memo2.Lines.Clear;
    for i:=0 to Memo1.Lines.Count - 2 do
      begin
        k := k + ( StrToFloatDef( Memo1.Lines[ i + 1 ], 0 ) - ( StrToFloatDef( Memo1.Lines[ i ], 0 ) ) );
        Memo2.Lines.Add( FloatToStr( k ) );
      end;
  finally
    Memo2.Lines.EndUpdate;
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat