Delphi-PRAXiS
Seite 1 von 3  1 23      

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 In den ListView SubItems Beträge addieren (https://www.delphipraxis.net/103122-den-listview-subitems-betraege-addieren.html)

iron 10. Nov 2007 12:20


In den ListView SubItems Beträge addieren
 
Habe im Forum nix dazu gefunden, also möcht ich Euch wiedermal nerven.

Es gaht darum das ich in einer ListView in den SubItems Beträge zu stehen habe, wie kann ich nun alle Beträge addieren und in z.B. in einem Label die Gesamtsumme anzeigen lassen?

mkinzler 10. Nov 2007 12:21

Re: In den ListView SubItems Beträge addieren
 
Manuell durchgehen, Werte auslesen, addieren, ausgeben.

DeddyH 10. Nov 2007 12:26

Re: In den ListView SubItems Beträge addieren
 
Wenn die Werte im ersten SubItem stehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, gesamt: integer;
begin
  gesamt := 0 ;
  for i := 0 to ListView1.Items.Count - 1 do
    inc(gesamt, StrToInt(ListView1.Items[i].SubItems[0]));
  Label1.Caption := IntToStr(gesamt);
end;

iron 10. Nov 2007 12:49

Re: In den ListView SubItems Beträge addieren
 
Danke Euch beiden für die Antwort.

Nur möcht ich Beträge zusammenrechnen, d.h. ich muss eine Kommazahl addieren(hätt ich ja auch vorher angeben können, schäm). Das mit dem Code ist schon Klasse nur wie muss ich den mit StrToFloat verwenden?

mkinzler 10. Nov 2007 12:51

Re: In den ListView SubItems Beträge addieren
 
Einfache Lösung: StrToFloat statt StrToInt. Besser natürlich TryStrToFloat oder Val

iron 10. Nov 2007 21:14

Re: In den ListView SubItems Beträge addieren
 
Zitat:

Zitat von mkinzler
Einfache Lösung: StrToFloat statt StrToInt. Besser natürlich TryStrToFloat oder Val

Ja danke aber das hab ich mir schon gedacht und habe es versucht, nur komm ich mit der zusammenstellung im Code nicht klar. Ich weis deine bemühungen trotzdem zu schätzen.

hab jetz schon ne menge probiert, aber immer beklagt er sich z.B. bei

Delphi-Quellcode:
inc(gesamt, StrToFloat(ListView1.Items[i].SubItems[0]));
das er der linken Seite nicht zuweisen kann.

Wo liegt nur mein Fehler.

Und was ist eigendlich der unterschied zwischen StrToFloat und TryStrToFloat

mkinzler 10. Nov 2007 21:17

Re: In den ListView SubItems Beträge addieren
 
Delphi-Quellcode:
gesamt := gesamt + StrToFloat(ListView1.Items[i].SubItems[0]);
StrToFloat liefert eine Exception, wenn die Konvertierung nicht funktioniert. TryStrToFloat gibt dann nur false zurück.

DeddyH 10. Nov 2007 21:19

Re: In den ListView SubItems Beträge addieren
 
Zum Unterschied kannst Du die Hilfe bemühen ;).Und zu der Fehlermeldung: ändere die Zeile
Delphi-Quellcode:
inc(gesamt, StrToFloat(ListView1.Items[i].SubItems[0]));
mal ab in
Delphi-Quellcode:
gesamt := gesamt + StrToFloat(ListView1.Items[i].SubItems[0]);
Oder eben TryStrToFloat *gg*

[edit] Mal wieder zu spät :? [/edit]

iron 10. Nov 2007 21:34

Re: In den ListView SubItems Beträge addieren
 
Ohhhhhh gott ich beiß mir in den Schliessmuskel, ich bedanke mich rechtherzlich für Eure geduld.

Gehstock 10. Nov 2007 21:56

Re: In den ListView SubItems Beträge addieren
 
Ich häng mich mal rein weil ich ein Ähnliches Problem Hab

ich Habe im Listview bei Items[0] die Checkboxen
in Items[2] einen Preis

wenn ich die Checkboxen aktiviere dann soll in einem Editfeld die preise Addiert werden


ich versuch das grad so

Delphi-Quellcode:
procedure TForm4.ListView1Click(Sender: TObject);
begin
if Listview1.Items[0].Checked then
   Edit1.Text := InttoStr(StrtoInt(Edit1.Text) + StrtoInt(Listview1.items[2].Caption))
    else
     Edit1.Text := InttoStr(StrtoInt(Edit1.Text) - StrtoInt(Listview1.items[2].Caption));
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr.
Seite 1 von 3  1 23      

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