AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt eines Memos zusammenrechnen

Ein Thema von theroad · begonnen am 15. Nov 2008 · letzter Beitrag vom 18. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
theroad

Registriert seit: 8. Feb 2008
33 Beiträge
 
#1

Inhalt eines Memos zusammenrechnen

  Alt 15. Nov 2008, 15:53
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

Re: Inhalt eines Memos zusammenrechnen

  Alt 15. Nov 2008, 15:55
Geh die Zeilen in einer Schleife durch (von 0 bis Lines.Count - 1), wandele den String in eine Float um und addiere auf.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
theroad

Registriert seit: 8. Feb 2008
33 Beiträge
 
#3

Re: Inhalt eines Memos zusammenrechnen

  Alt 15. Nov 2008, 16:54
Habe das jetzt mal so gemacht:
Delphi-Quellcode:
  for i := 0 to memo2.Lines.Count do begin
  i++
  b2:= strtofloat(memo2.Lines.Strings[i]);
  summe2:= summe2 + b2;
  label1.Caption:= floattostr(summe2);
es funktioniert nur leider nicht, die Variabelen habe ich alle als Real deklariert.

Es kommt dieser Fehler:
Zitat:
[DCC Fehler] Unit3.pas(63): E2064 Der linken Seite kann nichts zugewiesen werden
[DCC Fehler] Project2.dpr(7): F2063 Verwendete Unit 'Unit3.pas' kann nicht compiliert werden
Vielen Dank im Voraus
MFG
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Inhalt eines Memos zusammenrechnen

  Alt 15. Nov 2008, 16:58
for i := 0 to memo2.Lines.Count - 1 Statt
Code:
i++
inc(i);
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#5

Re: Inhalt eines Memos zusammenrechnen

  Alt 15. Nov 2008, 16:59
Nicht die Sprachen durcheinanderwerfen, i++ ist C-Syntax und eine Änderung der Laufvariablen ist bei For-Schleifen sowieso nicht erlaubt.
Delphi-Quellcode:
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
[edit] TryStrToFloat und StrToFloatDef durcheinandergeworfen [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Inhalt eines Memos zusammenrechnen

  Alt 15. Nov 2008, 16:59
Zitat von theroad:
Habe das jetzt mal so gemacht:
Delphi-Quellcode:
  for i := 0 to memo2.Lines.Count do begin
  i++
  b2:= strtofloat(memo2.Lines.Strings[i]);
  summe2:= summe2 + b2;
  label1.Caption:= floattostr(summe2);
es funktioniert nur leider nicht, die Variabelen habe ich alle als Real deklariert.
Mal so ne Frage ... was macht das i++ da? Davon abgesehen ist Deine for Schleife nicht korrekt. Arrays, Listen etc. beginnen normalerweise bei 0 an zu zählen und nicht bei 1. Wenn Du also durchläufst, würdest du versuchen irgendwann auf memo2.lines[memo2.lines.count] zuzugreifen. Das wäre aber nicht das letzt Element in der Liste, sondern das Letzte + 1, weil wie gesagt nicht von 1 angefangen wird zu zählen, sondern bei 0.

Abgesehen davon: Welche Zeile in deinem Quelltext entspricht der Zeile 63 aus der Fehlermeldung?
Fridolin Walther
  Mit Zitat antworten Zitat
theroad

Registriert seit: 8. Feb 2008
33 Beiträge
 
#7

Re: Inhalt eines Memos zusammenrechnen

  Alt 17. Nov 2008, 23:18
Ich bekomme es einfach nicht hin.
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:
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;
Vielen Dank im voraus
MFG
TheRoad
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#8

Re: Inhalt eines Memos zusammenrechnen

  Alt 18. Nov 2008, 07:09
hoi,

Zitat:
die zahlen immer so eingetragen: z.b. 16.95
ich vermute du erhälst das richtige ergebnis wenn es 16,95 sein würde, also versuch mal

b2:= strtofloatdef(StringReplace(memo2.Lines[i],'.',',',[rfReplaceAll]),0); um herauszufinden ob es so ist, die werte an sich kannst du ja denn wo anders ändern ...


cya
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Inhalt eines Memos zusammenrechnen

  Alt 18. Nov 2008, 07:28
Zitat von theroad:
q := 'Select * From artikel Where ean='+eancode+';';
Seit wann brauch man bei einer SQL-Anweisung ein ";" am ende?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Inhalt eines Memos zusammenrechnen

  Alt 18. Nov 2008, 07:36
Laut Definition gehört eines hin, auch wenn die meissten DBMS ein Fehlen ignorieren
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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