![]() |
Inhalt eines Memos zusammenrechnen
Hallo,
ich habe ein Memo in dem Zahlenwerte stehen (mit kommastellen) diese möchte ich gerne zusammenrechnen. Ich habe leider keine informationen gefunden wie ich die einzelnen Zeilen addieren kann. Vielen Dank im voraus MFG |
Re: Inhalt eines Memos zusammenrechnen
Geh die Zeilen in einer Schleife durch (von 0 bis Lines.Count - 1), wandele den String in eine Float um und addiere auf.
|
Re: Inhalt eines Memos zusammenrechnen
Habe das jetzt mal so gemacht:
Delphi-Quellcode:
es funktioniert nur leider nicht, die Variabelen habe ich alle als Real deklariert.
for i := 0 to memo2.Lines.Count do begin
i++ b2:= strtofloat(memo2.Lines.Strings[i]); summe2:= summe2 + b2; label1.Caption:= floattostr(summe2); Es kommt dieser Fehler: Zitat:
MFG |
Re: Inhalt eines Memos zusammenrechnen
Delphi-Quellcode:
Statt
for i := 0 to memo2.Lines.Count - 1
Code:
i++
Delphi-Quellcode:
inc(i);
|
Re: Inhalt eines Memos zusammenrechnen
Nicht die Sprachen durcheinanderwerfen, i++ ist C-Syntax ;) und eine Änderung der Laufvariablen ist bei For-Schleifen sowieso nicht erlaubt.
Delphi-Quellcode:
[edit] TryStrToFloat und StrToFloatDef durcheinandergeworfen :oops: [/edit]
for i := 0 to memo2.Lines.Count - 1 do begin //letzte Zeile hat den Index Count - 1
b2:= strtofloatdef(memo2.Lines[i],0); //sicherheitshalber summe2:= summe2 + b2; end; label1.Caption:= floattostr(summe2); //nach Abarbeitung der Schleife sollte reichen |
Re: Inhalt eines Memos zusammenrechnen
Zitat:
Abgesehen davon: Welche Zeile in deinem Quelltext entspricht der Zeile 63 aus der Fehlermeldung? |
Re: Inhalt eines Memos zusammenrechnen
Ich bekomme es einfach nicht hin. :oops:
Hier einmal der ganze Quellcode der dahinter steckt. in memo2 sind die zahlen immer so eingetragen: z.b. 16.95 Jedoch bleibt der wert im label immer 0 :(
Delphi-Quellcode:
Vielen Dank im voraus
procedure TForm3.Button1Click(Sender: TObject);
var zahl,b, i : integer; b2: real; begin eancode := InputBox('Eancode','Bitte den Eancode einscannen!',''); q := 'Select * From artikel Where ean='+eancode+';'; FResult := FMysql.query(q, true, ex); memo1.Lines.Add(FResult.FieldValue(1)) ; memo2.Lines.Add(FResult.FieldValue(2)); for i := 0 to memo2.Lines.Count - 1 do begin //letzte Zeile hat den Index Count - 1 b2:= strtofloatdef(memo2.Lines[i],0); //sicherheitshalber summe2:= summe2 + b2; end; label1.Caption:= floattostr(summe2); //nach Abarbeitung der Schleife sollte reichen end; MFG TheRoad |
Re: Inhalt eines Memos zusammenrechnen
hoi,
Zitat:
Delphi-Quellcode:
um herauszufinden ob es so ist, die werte an sich kannst du ja denn wo anders ändern ...
b2:= strtofloatdef(StringReplace(memo2.Lines[i],'.',',',[rfReplaceAll]),0);
cya |
Re: Inhalt eines Memos zusammenrechnen
Zitat:
|
Re: Inhalt eines Memos zusammenrechnen
Laut Definition gehört eines hin, auch wenn die meissten DBMS ein Fehlen ignorieren
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 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