Ich möchte mit FindFirst nur Sichtbare Verzeichnisse und Dateien auflisten. Also keine Versteckten und/oder System Dateien/Verzeichnisse.
Wenn ich jetzt aber /home/pluto/*. auslese werden mir System Verzeichnisse und irgednwie werden sie Trozdem anzeigt. Hier mein Aktueller Code:
Code: Alles auswählen
procedure TForm1.FindAll(const dir:String;const typ:Byte = 0);
var
sr:TSearchRec;
item:TItem;
s:String;
begin
ListBox1.Clear; ListBox2.Clear;
if typ = 0 then Edit2.Text:=dir;
if typ = 1 then ComboBox1.Clear;
s:='';
if ComboBox2.itemindex > -1 then
s:=UpperCase(TFilterItem(comboBox2.Items.Objects[combobox2.ItemIndex]).Filter);
If FindFirst (dir + '*',faDirectory,sr)=0 then begin
repeat
with sr do begin
If (Attr and faDirectory) = faDirectory then begin
if typ = 1 then begin
if (sr.name <> '..') and (sr.name <> '.') then begin
item:=TItem.Create;
item.dir:=dir+sr.name+'/';
ComboBox1.Items.AddObject(sr.name,item);
end;
end; // if typ = 1
if typ = 0 then begin
if (sr.name <> '.') then begin
item:=TItem.Create;
if (sr.name <> '..') then
item.dir:=dir+sr.name+'/'
else
item.dir:=GetPrvDir1(dir);
ListBox1.Items.AddObject(sr.name,item);
end;
end;
end // if Attr and faDirectory
else begin
if typ = 0 then begin
if (s = '') or (s = '*.*') or (Pos(Uppercase(ExtractFileExt(sr.name)),s) > 0) then
Listbox2.Items.Add(sr.name);
end;
end;
end;
until FindNext(sr)<>0;
end;
if typ = 1 then
ComboBox1.Items.AddObject('Dateisystem',Tobject('/'));
end;
Ist etwas viel ich weiß wohl.... aber das stammt aus einem heute wieder angefangen Projekt:
ich möchte mir mein eigene Öffnen und Speicher Dialog schreiben, weil ich finde die bei GTK1 dabei sind nicht so toll und GTk2 kann ich noch nicht verwenden, weil da für mich zu viele BUG's noch drin sind
Der Mode bedeutet einfach nur: Soll er jetzt Laufwerke aufliste ?
dann wird die Methode mit /media/ aufgerufen (im Moment)... evlt. werde ich dafür eine extra Procedure anlegen. Ist evlt. übersichtlicher *G*.