Einzelnen Beitrag anzeigen

NaPsTeRforever

Registriert seit: 1. Sep 2007
28 Beiträge
 
#12

Re: Listview spalten addieren

  Alt 20. Aug 2009, 16:38
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!
  Mit Zitat antworten Zitat