Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listbox Elemente Addieren und im Label ausgeben? (https://www.delphipraxis.net/101693-listbox-elemente-addieren-und-im-label-ausgeben.html)

Davin89 17. Okt 2007 13:47


Listbox Elemente Addieren und im Label ausgeben?
 
Hallo

Ich brauche ein wenig Hilfe von euch bei einem Programmteil. Und zwar schreibe ich grad ein Programm, bei dem nun
das Problem auftrat Elemente aus einer Listbox zusammenzuzählen. d.h. Es läuft so:

1.Zahl wird per Edit1.text in Listbox hinzugefügt - Fertig
2.Alle Zahlen aus der Listbox sollen addiert werden und in einem Label als Summe ausgegeben werden. -> Wie geht das?

Könnte vllt. jemand beschreiben wie man das macht oder vllt. ein Quellcode dazuschreiben mit beliebigen Variablen?

Wäre echt nett wenn jemand helfen könnte. Danke

quendolineDD 17. Okt 2007 13:51

Re: Listbox Elemente Addieren und im Label ausgeben?
 
Willkommen in der DP :)
Eventuell solltest du dir den Grundlagen-Thread mal anschauen ;)

Delphi-Quellcode:
for i:= 0 to ListBox.Items.Count -1 do
summe := strtoint(ListBox.Items[i]) + summe;

Label.Caption := inttostr(summe);
Frei geschrieben und nicht getestet. summe musst du noch als Integer deklarieren.

Logisch gesehen ganz einfach. Alle Elemente in der ListBox sind Strings, daher musst du diese zum addierne erstmal in Integer konvertieren.
Dies machst du gleich beim Additionsaufruf, wobei du dich aber verlassen musst, das wirklich nur integer Werte als Strings in der ListBox eingetragen sind ;)
Danach lässt du eine Schleife durchlaufen, welche so oft, wie Einträge in der ListBox vorhanden sind, diese Zeilenweise durchläuft und alle Werte nach und nach addiert.
Zu allerletzt werden die addierten Werde dann in das Label eingetragen.

Grüße

Davin89 17. Okt 2007 14:34

Re: Listbox Elemente Addieren und im Label ausgeben?
 
vielen dank das funktioniert super.

Wenn ich jetz aber die Summe durch 100 rechnen will, sagt der immer Integer und Extended geht nicht. Wie muss man denn die 100 schreiben? ich hatte das so:

Delphi-Quellcode:
gesamt:=summe/100;
Kann die Gesamtzahl dann noch gespalten werden in 2 Teile? Euro und Cent meinetwegen? Geht sowas?

DeddyH 17. Okt 2007 14:39

Re: Listbox Elemente Addieren und im Label ausgeben?
 
Delphi-Quellcode:
EineFloatVariable := summe/100

Aurelius 17. Okt 2007 14:54

Re: Listbox Elemente Addieren und im Label ausgeben?
 
Wie DeddyH schon geschrieben hat:

Bei dem Operator "/" muss die Variable, dem der Wert zugewiesen wird, ein Floatwert sein.

Es gibt noch 2 weitere Arten zu "teilen", nämlich "div" und "mod", bei beiden kann die Variable auch ein integer sein.
Allerdings sind diese Operatoren nicht das selbe wie "/"

"10 div 6" ergibt z.B. "1", da 6 einmal in die 10 "reinpasst"
"10 mod 6" ergibt "4", also den "rest" der zur 10 übrig bleibt


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 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