Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listbox Leeren (https://www.delphipraxis.net/52613-listbox-leeren.html)

JWeis 31. Aug 2005 14:45


Listbox Leeren
 
sry wenn ich so mit der Tür ins Haus falle aber ich hab ein Problem :roll:

Also ich hab 2 ListBoxen
Delphi-Quellcode:
...
type
  TForm1 = class(TForm)
    LBxCopy0001: TListBox;
    LBxCopy0002: TListBox;
und über
Delphi-Quellcode:
...
 LBxCopy0001.Items.Add(gFile0001[inte0001]);
 LBxCopy0002.Items.Add(GetFileVersion(gfile0001[inte0001]))
füge ich Dateien ein

Wenn ich diese Dateien mit
Delphi-Quellcode:
LBxCopy0001.Items.clear;
LBxCopy0002.Items.clear;
entferne und neue Dateien einfüge werden die Alten wieder eingefügt.
(Das soll nicht Passieren !:shock: )
Kann mir jemand helfen???

leddl 31. Aug 2005 14:47

Re: Listbox Leeren
 
Also sofern du nicht selbst irgendwie die alten Daten einfügst, sollten die dort nicht mehr auftauchen. Am besten du postest mal etwas mehr Code, damit man nach dem Fehler suchen kann.

Evian 31. Aug 2005 14:58

Re: Listbox Leeren
 
Ich schätze, es liegt an Deinem Feld "gFile0001[]"
Wie fügst Du denn in dieses eine Neue Datei ein?! .. ich schätze, dass selbst nach dem Einfügen, an der Stelle inte0001 immernoch die alte Datei ist. Oder Du hast einfach vergessen, inte0001 zu incrementieren... Poste mal den Code, wo Du das neue File einfügst.

JWeis 31. Aug 2005 15:01

Re: Listbox Leeren
 
Wenns nicht an der listbox liegt hängts entweder an meinem FindAllFiles
Delphi-Quellcode:
function FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean
  = True): TStinDynA;
var
//--Funktionsvariablen---------------------------------------------------------------------
  Wn32FiDa: TWin32FindData;
  File0001: THandle;

begin
  if AnsiLastChar(RootFolder) <> '\' then
  begin
    RootFolder := RootFolder + '\';
  end;
  if Recurse then
  begin{if-1}
    File0001 := FindFirstFile(PChar(RootFolder + '*.*'), Wn32FiDa);
    if File0001 <> INVALID_HANDLE_VALUE then
    try {try(if-2)}
      repeat
      if Wn32FiDa.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY=FILE_ATTRIBUTE_DIRECTORY then
      begin
        if (string(Wn32FiDa.cFileName) <> '.') and (string(Wn32FiDa.cFileName) <> '..')then
        begin
          FindAllFiles(RootFolder + Wn32FiDa.cFileName, Mask, Recurse);
        end;
      end;
      until FindNextFile(File0001, Wn32FiDa) = False;
      finally
      windows.FindClose(File0001);
    end;{try(if-2)}
  end;{if 1}
  File0001 := FindFirstFile(PChar(RootFolder + '*.*'), Wn32FiDa);
  if File0001 <> INVALID_HANDLE_VALUE then
  try {try(if-4)}
    repeat
      if Wn32FiDa.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY <>
        FILE_ATTRIBUTE_DIRECTORY then
      begin
        gFileCont := length(gFile0001)+1;
        Setlength(gFile0001, gFileCont);
        gFile0001[gFileCont - 1] := RootFolder + String(Wn32FiDa.cFileName);
      end;{if-3}
    until FindNextFile(File0001, Wn32FiDa) = False;
    finally
    Windows.FindClose(File0001);
  end;{try(if-4)}
end;{Funktion}
das ich durch
Delphi-Quellcode:
FindAllFiles(EdtCopy0001.Text, '*.*', true);
aufrufe.
oder am Phathdialog den ich benutze um Dateien zu suchen

JWeis 31. Aug 2005 15:02

Re: Listbox Leeren
 
Delphi-Quellcode:
if PathDialog1.Execute(Filesuch) =false then
  begin
    Exit;
  end{if}
  else
  begin
    EdtCopy0001.Text:=PathDialog1.LastPath;
    FindAllFiles(EdtCopy0001.Text, '*.*', true);
    for inte0001 := 0 to length(gFile0001) - 1 do
    begin
      LBxCopy0001.Items.Add(gFile0001[inte0001]);
      LBxCopy0002.Items.Add(GetFileVersion(gfile0001[inte0001]))
    end;{for-schleife}
  end;{else}
so rufe ich Pathdialog auf

freak4fun 1. Sep 2005 09:23

Re: Listbox Leeren
 
Und wo rufst du dein Clear auf?

MfG
freak :gruebel:

JWeis 1. Sep 2005 09:27

Re: Listbox Leeren
 
Delphi-Quellcode:
procedure TForm1.Btncopy0004Click(Sender: TObject);
begin
  LbxCopy0001.Items.clear;      
  LBxCopy0002.Items.clear;    
  EdtCopy0001.Text:='';
end;
Hier!

Airblader 1. Sep 2005 10:44

Re: Listbox Leeren
 
Solltest du die vorhandenen Einträge aus deinem Array vielleicht einfach mal löschen? ;)
Also am Anfang der FindAllFiles z.B. SetLength(gFile0001, 0); o.ä.

air

JWeis 1. Sep 2005 10:55

Re: Listbox Leeren
 
Es Lebt!!!!!!!!! ähhh Es geht!! :pale:

danke alle miteinander!!
ihr wart mir eine große hilfe! :thumb:

JWeis 1. Sep 2005 15:51

Re: Listbox Leeren
 
jetzt werden plötzlich nicht mehr alle dateien angezeigt kann mir dabei jemand helfen ?
ist mir erst eben aufgefallen :pale: :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Seite 1 von 2  1 2      

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