Zitat von
mkinzler:
Achtung 4 Spalten = 3 SubItems
Das weiß ich und habe ich auch berücksichtigt, auch bevor Deddy es korrigierte
der jetzige Code:
Delphi-Quellcode:
Umsatz_gesamt := 0;
for i := 0 to liv_transfersalltime.Items.Count - 1 do
begin
Umsatz := StrToInt(ZahlohnePunkte(liv_transfersalltime.Items[i].SubItems[1])) - StrToInt(ZahlohnePunkte(liv_transfersalltime.Items[i].SubItems[0]));
liv_transfersalltime.Items[i].SubItems[2] := IntToStr(Umsatz);
inc(Umsatz_gesamt,Umsatz);
Umsatz_gesamt := Umsatz_gesamt + Umsatz;
end;
Und ja ich habe 4 Spalten
Name, Einkaufspreis, Verkaufspreis, Umsatz
Die Listview wird mit Hilfe dieser procedure aus einer Datei gefüllt:
Delphi-Quellcode:
procedure ListViewLoadFromFile(Filename : String; ListView : TsListView);
{Copyright Christoph Duwald 2005}
var
TextFile,TextFile2 : TStringList;
NewListItem: TListItem;
i,x: integer;
begin
try
ListView.Clear;
TextFile:= TStringList.Create;
TextFile2:= TStringList.Create;
TextFile.LoadFromFile(Filename); //ListView aus der Datei laden.
TextFile2.Delimiter:='#'; //Trennzeichen, wie beim Speichern angegeben
for i:=0 to TextFile.Count-1 do // Geht alle Zeilen durch (ohne Überschriften)
begin
TextFile2.DelimitedText:=TextFile.Strings[i]; //Erste Zeile aus der gespeicherten Datei in die Richtigen Spalten schreiben
NewListItem := ListView.Items.Add; //Neues Item anlegen
NewListItem.ImageIndex:=StrToInt(TextFile2.Strings[0]); //Index des Images für diese Zeile
NewListItem.Caption :=TextFile2.Strings[1]; //Erste Spalte
for x:=2 to TextFile2.Count-1 do //Geht die restlichen Spalten durch
begin
NewListItem.SubItems.Add(TextFile2.Strings[x]); //Spalten mit dem text aus der Datei füllen
end;
end;
finally
TextFile.Free;
TextFile2.Free;
end;
end;
Bsp-Datei:
Code:
0#Badstuber#940.000#2.223.600
0#Breno#310.000#676.200
Vlt hängt es damit zusammen?
EDIT: Die Subitems[0] und [1] stimmen, habe es mir in einem testmemo ausgeben lassen und eine Spalte 4 existiert auch definitiv!