![]() |
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
|
Re: Inhalt eines Memos zusammenrechnen
Also statt . ein , zu setzen (16,95) zählt er schonmal also ich bekomme in meinem Label einen Wert jedoch ist der flasch sobald ich nocheinen Artikel draufrechne stimmt der wert nicht mehr dann habe ich schon 3 mal 16,95 ausgerechnet obwohl ich nur 2Artikel drinn habe. Er rechnet irgendwie zweimal.
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 summe:= summe + b2; end; label1.Caption:= floattostr(summe); //nach Abarbeitung der Schleife sollte reichen end; MFG |
Re: Inhalt eines Memos zusammenrechnen
bin mir gerade nicht so sicher aber ich würde mal testen deinem i den wert 1 zuzuweisen und nicht bei 0 anzufangen.
|
Re: Inhalt eines Memos zusammenrechnen
Du setzt "summe" ja auch nicht vorher auf 0. Btw: merkwürdige Einrückung :gruebel:
|
Re: Inhalt eines Memos zusammenrechnen
Was willst du eigentlich mit dem Memos erreichen.
Währe das nicht einfacher die Summe direkt aus der DB zu hohlen |
Re: Inhalt eines Memos zusammenrechnen
Auf jeden Fall schneller ;)
|
Re: Inhalt eines Memos zusammenrechnen
Danke für den Hinweis.
Ich hohle jetzt die werte direkt aus der DB jetzt gehts... Wenn man sich zu sehr auf eine Sache konzentriert denkt man nicht über andere Möglichkeiten nach :-D Vielen Dank euch allen! MFg TheRoad |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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