AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listview spalten addieren

Ein Thema von NaPsTeRforever · begonnen am 20. Aug 2009 · letzter Beitrag vom 20. Aug 2009
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Listview spalten addieren

  Alt 20. Aug 2009, 16:31
War auch nicht an dich, sondern den TE gerichtet
Markus Kinzler
  Mit Zitat antworten Zitat
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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#13

Re: Listview spalten addieren

  Alt 20. Aug 2009, 16:54
Wo soll die 4. Spalte denn herkommen? Ich sehe da einen ImageIndex, einen Namen und 2 Zahlen, damit komme ich auf 3 Spalten.

[edit]Aber gut:
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]));
    if liv_transfersalltime.Items[i].SubItems.Count < 3 then
      liv_transfersalltime.Items[i].SubItems.Add(IntToStr(Umsatz))
    else
      liv_transfersalltime.Items[i].SubItems[2] := IntToStr(Umsatz);
    inc(Umsatz_gesamt,Umsatz);
    // doppelt gemoppelt: Umsatz_gesamt := Umsatz_gesamt + Umsatz;
  end;
So müsste es immer passen.[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
NaPsTeRforever

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

Re: Listview spalten addieren

  Alt 20. Aug 2009, 17:04
kA was du meinst, wie gesagt 4 Spalten:
Name, Einkaufspreis, Verkaufspreis, Umsatz

Aus der Datei werden Name, Einkaufspreis und Verkaufspreis in die Listview geladen, die Umsatzspalte (Spalte4!!!) bleibt dabei leer!

Wie in meinem ersten Beitrag bereits angemerkt und durch gerade erneutes Testen stelle ich fest, dass das ganze funktioniert wenn in der Umsatzspalte bereits etwas steht!!!

Also hat die Listview (speziell liv_transfersalltime.Items[i].SubItems[2] := IntToStr(Umsatz); ) irgend ein Problem mit der leeren Spalte4 oder nicht??!?!


EDIT:

Zitat von DeddyH:
Wo soll die 4. Spalte denn herkommen? Ich sehe da einen ImageIndex, einen Namen und 2 Zahlen, damit komme ich auf 3 Spalten.

[edit]Aber gut:
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]));
    if liv_transfersalltime.Items[i].SubItems.Count < 3 then
      liv_transfersalltime.Items[i].SubItems.Add(IntToStr(Umsatz))
    else
      liv_transfersalltime.Items[i].SubItems[2] := IntToStr(Umsatz);
    inc(Umsatz_gesamt,Umsatz);
    // doppelt gemoppelt: Umsatz_gesamt := Umsatz_gesamt + Umsatz;
  end;
So müsste es immer passen.[/edit]

aaaah ok, jetzt gehts

EDIT2: hat sich erledigt xD
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Listview spalten addieren

  Alt 20. Aug 2009, 17:06
Beim Import, werden dann aber nur 3 Spalten erstellt.
Markus Kinzler
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Listview spalten addieren

  Alt 20. Aug 2009, 17:08
Hallo,
also nach meiner unmaßgeblichen Meinung füllst Du dein Listview mit dem gezeigten Textfile, was aber nur eine Cption und 2 (zwei) SubItems befüllt. Häng doch einfach eine DummySpalte (#_) hinten dran und schau mal was passiert.
Ciao
Frank
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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