AGB  ·  Datenschutz  ·  Impressum  







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

For schleife

Ein Thema von -Phantom- · begonnen am 3. Nov 2010 · letzter Beitrag vom 3. Nov 2010
Antwort Antwort
-Phantom-

Registriert seit: 26. Nov 2009
Ort: Bockhorst
319 Beiträge
 
Delphi 7 Enterprise
 
#1

For schleife

  Alt 3. Nov 2010, 18:09
Delphi-Version: 2010
Hey Leute,

ich komme hier grade nicht weiter.

Ich will Dateien in einer Listview eintragen.
Delphi-Quellcode:
if add.FileName <> 'then begin
    fneu.zip.ZipFileName := lblpfad.Caption;
    i2 := add.Files.Count;
    for i := 0 to i2 - 1 do begin
    neudatei := Extractfilename(add.Files[i]);
    item := dateilist.Items.Add;
    item.Caption := neudatei;
    item.SubItems.Add(Extractfilename(neupfad)+'/'+neudatei);
    fneu.zip.FSpecArgs.Add(add.Files[i]);
    fneu.zip.Add;
Klappt alles wunderbar.
Nun möchte ich aber noch das die Datei Größen in einem Subitem hinzugefügt werden
Delphi-Quellcode:
for iz := 0 to dateilist.Items.Count-1 do begin
    item.SubItems.Add(inttostr(fneu.zip[iz].CompressedSize)+' B');
    item.SubItems.Add(datetostr(fneu.zip[iz].DateStamp));
Hier ist das Problem das die Werte einfach immer überschrieben werden. Alle Dateien sind z.B 8 Bytes groß
( Das Archiv wird trotzdem mit den richtigen Datei erstellt und die Dateien werden auch richtig hinzugefügt)
Mathias Jansen
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: For schleife

  Alt 3. Nov 2010, 18:17
Anscheinend willst du die Dateigrössen nachträglich einsetzen.
Delphi-Quellcode:
for iz := 0 to dateilist.Items.Count-1 do
begin
  item := dateilist.Items[iz]; // <==== *****
  item.SubItems.Add(inttostr(fneu.zip[iz].CompressedSize)+' B');
  item.SubItems.Add(datetostr(fneu.zip[iz].DateStamp));
Andreas
  Mit Zitat antworten Zitat
-Phantom-

Registriert seit: 26. Nov 2009
Ort: Bockhorst
319 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: For schleife

  Alt 3. Nov 2010, 18:31
Danke so geht es. Ähmm... nein ich trage sie nicht nachträglich nach so sieht das nun bei mir aus
Delphi-Quellcode:
var
i,i2,iz: Integer;
neudatei : String;
item : TLISTitem;

begin
  dateilist.Enabled := false;
  lblstatus.Caption := 'Dateien werden hinzugefügt...';
  fneu.Zip.DLLDirectory := ExtractFilePath(ParamStr(0));
    add.Execute;
    if add.FileName <> 'then begin
    fneu.zip.ZipFileName := lblpfad.Caption;
    i2 := add.Files.Count;
    for i := 0 to i2 - 1 do begin
    neudatei := Extractfilename(add.Files[i]);
    item := dateilist.Items.Add;
    item.Caption := neudatei;
    item.SubItems.Add(Extractfilename(neupfad)+'/'+neudatei);
    fneu.zip.FSpecArgs.Add(add.Files[i]);
    fneu.zip.Add;
    fneu.zip.ZipComment := fneu.smemo2.Text;
    end;
    for iz := 0 to dateilist.Items.Count-1 do begin
    item := dateilist.Items[iz];
    item.SubItems.Add(inttostr(fneu.zip[iz].CompressedSize)+' B');
    item.SubItems.Add(datetostr(fneu.zip[iz].DateStamp));
    end;
    end;
     if dialogshow then
    showmessage('Datei/en wurden erfolgreich hinzugefügt');
    dateilist.Enabled := True;
end;
Kann man das noch anders mit den For Schleifen machen?

// wenn ich das alle in eine for-schleife packe geht das nur beim ersten mal gut, denn "i2 = add.fiels.count" und dann werden die Daten in der Listview wieder überschrieben.
Mathias Jansen

Geändert von -Phantom- ( 3. Nov 2010 um 18:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: For schleife

  Alt 3. Nov 2010, 18:34
Du machst es doch nachträglich in der zweiten Schleife. Warum machst du das nicht alles in einer Schleife?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
-Phantom-

Registriert seit: 26. Nov 2009
Ort: Bockhorst
319 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: For schleife

  Alt 3. Nov 2010, 18:40
i2 := add.fiels.count; So beim zweiten klickt auf den Button fängt das ja wieder von vorne an und die ersten Daten werden überschrieben !
Mathias Jansen
  Mit Zitat antworten Zitat
Antwort Antwort


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:40 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