AGB  ·  Datenschutz  ·  Impressum  







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

ListView - Mache ich was Falsch?

Ein Thema von milos · begonnen am 9. Apr 2015 · letzter Beitrag vom 9. Apr 2015
 
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
510 Beiträge
 
Delphi 11 Alexandria
 
#1

ListView - Mache ich was Falsch?

  Alt 9. Apr 2015, 15:16
edit: bild hinzugefügt

Hallo,

ich muss zum testen mehrere Personen aus zufallsnamen generieren und diese dann darstellen.
Ich habe 2 Funktionen.
Die 1. zum generieren und die 2. zum Laden.

Beim Generieren wird die Liste richtig dargestellt, aber beim Laden werden fälschlicherweise immer die vorherigen Werte aus der Liste übernommen.

Meine Frage ist, mache ich hier was falsch und sehe es nach 10 minuten immer noch nicht oder muss das Problem in der TBinObject klasse liegen?
Delphi-Quellcode:
procedure TForm1.btn2Click(Sender: TObject);
var
  bin : TBinObject;
  c: Integer;

  LListItem : TListItem;

  LBinItem : TBinItem;
  x: Integer;

  StartTime : TDateTime;
begin
  bin := TBinObject.Create;
  bin.LoadFromFile('personen.txt');
  lv1.Clear;

  StartTime := Now;
  for c := 0 to bin.Count-1 do
  begin
    LBinItem := bin[c];

    LListItem := lv1.Items.Add;
    LListItem.Caption := ByteListToString(LBinItem[0]);

    for x := 1 to LBinItem.Count-1 do
    begin
      LListItem.SubItems.Add(ByteListToString(bin[c][x]))
    end;
  end;

  lbl2.Caption := FloatToStr(MilliSecondsBetween(now,starttime)/1000)+'s';
end;
Im vergleich dazu, das generieren.

Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
  c: Integer;
  x: Integer;
  StartTime : TDateTime;
  Bin : TBinObject;

  AListItem : TListItem;

  LVorname, LNachname : string;
begin
  Bin := TBinObject.Create;
  StartTime := Now;
  lv1.Clear;
  for c := 0 to StrToInt(lbledt1.Text)-1 do
  begin
    LVorname := mmo1.Lines[Random(mmo1.Lines.Count)];
    LNachname := mmo2.Lines[Random(mmo2.Lines.Count)];


    Bin.Add(TBinItem.Create);

    Bin[c].Add(StringToByteList(c.ToString()));
    Bin[c].Add(StringToByteList(LVorname));
    Bin[c].Add(StringToByteList(LNachname));


    AListItem := lv1.Items.Add;
    AListItem.Caption := c.ToString();
    AListItem.SubItems.Add(LVorname);
    AListItem.SubItems.Add(LNachname);

    Caption := c.ToString();
  end;

  Bin.SaveToFile('personen.txt');


  lbl2.Caption := FloatToStr(MilliSecondsBetween(now,starttime)/1000)+'s';
end;
Einzelne Werte funktionieren ohne probleme und ich wüsste wirklich nicht mehr wo suchen.

Freundliche Grüsse
Angehängte Grafiken
Dateityp: jpg y0OI.jpg (214,8 KB, 48x aufgerufen)
Milos
  Mit Zitat antworten Zitat
 


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 20:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz