Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi 100 + 100 + 123,59 = 26??? (https://www.delphipraxis.net/8875-100-100-123-59-%3D-26-a.html)

Illuminator-23-5 14. Sep 2003 14:01

Re: 100 + 100 + 123,59 = 26???
 
das mit den arrays is ganz einfach:
Delphi-Quellcode:
var
  i: array[0..19] of integer;
...
procedure Button40Click(Sender: TObject);
begin
  Ergebnis20:=0;
  for i[18]:=0 to Memo39.Lines.Count-1 do
  begin
    Ergebnis20:=Ergebnis20+StrToFloat(Memo39.Lines[i[18]]);
  end;
  Edit59.text:=FloatToStr(Ergebnis20);
end;
anders gehts auch:
(Hier ohne array)
Delphi-Quellcode:
procedure Button40Click(Sender: TObject);
var
  i: integer;
begin
  Ergebnis20:=0;
  for i:=0 to Memo39.Lines.Count-1 do
  begin
    Ergebnis20:=Ergebnis20+StrToFloat(Memo39.Lines[i]);
  end;
  Edit59.text:=FloatToStr(Ergebnis20);
end;

TheMiller 14. Sep 2003 14:07

Re: 100 + 100 + 123,59 = 26???
 
achso, habe ich vergessen zu sagen. Links daneben ist noch ein Memo-Feld, dass die nur die Beträge einliest (ohne Datum)

Sorry, mein Fehler

axelf98 14. Sep 2003 14:21

Re: 100 + 100 + 123,59 = 26???
 
Zitat:

Zitat von DJ-SPM
achso, habe ich vergessen zu sagen. Links daneben ist noch ein Memo-Feld, dass die nur die Beträge einliest (ohne Datum)
Sorry, mein Fehler

Genau dieses Memo kann man sich sparen:
Stell dir einen Array of Array of Extended wie eine Tabelle vor;

0 1 2
1 ...
2 ..
3 ...

0-3: Erste Dimension, 0-2 Zweite.. Ist eine Zuordnung!

Delphi-Quellcode:
...

var Ergebnis : Array of Extended; // Die Endergebnisse
    Summen : Array of Array of Extended;  //2 Dimensionaler Array für die Einzelnen Zahlen
    a : integer;

setlength(Ergebnis,ANZAHL DER DATENSÄTZE); // Array in den Speicher geben

for a := 0 to ANZAHL DER DATENSÄTZE do   // Array in den Speicher geben
 setlength(Summen, a, ZAHL DER JEWEILIGEN SUMMANDEN);
.
.
.

Procedure Button5Click(Sender);
var i : integer;
begin
 for i := 0 to high(Summen[5]) do    // 0-der Anzahl der Summanden (oben)
Ergebnis[5] := Ergebnis[5] + Summen[5,i]; // Addition

end;

TheMiller 14. Sep 2003 20:59

Re: 100 + 100 + 123,59 = 26???
 
Ohweia,

das sieht ja etwas kompliziert aus... Ich werde es mal ausprobieren. Habe vorher noch NIE mit Arreys gearbeitet.

Bei der Stelle
Delphi-Quellcode:
setlength(Ergebnis,ANZAHL DER DATENSÄTZE);
(Anzahl der datensätze) was mus sich da eingeben??

Vielen Danke für eure Hilfe bisher

axelf98 14. Sep 2003 21:43

Re: 100 + 100 + 123,59 = 26???
 
Zitat:

Zitat von DJ-SPM
(Anzahl der datensätze) was mus sich da eingeben??

Das entspricht der Zahl der Datensätze die du Maximal hast .. In deinem Programm waren es 20... Es können aber auch 100.000 sein!


ZAHL DER JEWEILIGEN SUMMANDEN
Das entspricht den MemoX.lines.count-1 .. Die Zahl müsstest du aus deinen Dateien herbekommen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:45 Uhr.
Seite 2 von 2     12   

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