Otóz mały problem mnie gnębi i kurde niemogę sobie poradzić!!.Jak wyswietlic wszystkie typy plików w systemie np. exe,com,doc,txt,ini,zip,rar itp. , itd. .Próbuje to zrobić po kliknieciu na buttona aby mi się wyświetliło okienko z taką informacja ale jak na razie ERROR!.Moze ktos mi pomoze rozwiazac ten kłopot!!.Z góry dziekuje!!.
Tregistry+HKEY_CLASSES_ROOT+10 minut na wczytanie (chyba że zoptymalizujesz to tak, że będzie tak samo szybkie jak wewnętrzny system obsługi rejestru w windzie, nad którym pracowało może ze 100 osób przez parę miesięcy :))
Już znalazłem inny sposób!!.Ale mam jeszcze jeden problem otóż:
Chciałbym przeskanować (z poziomu kodu jak to zrobić) folder windows i żeby mi wyświetlił wszystkie rozszerzenia plików jakie sie tam znajduja.
nie wiem jak skanować, ale jak już zeksanujesz, to trzeba rozdzielić to co jest przed kropką od tego coe jest za nią, i dodać do jakieś zmiennej albo do listboxa.
FindFirst+FindNext+ExtractFileExt+F1
<font color="blue">procedure TForm1.DirectoryListBox1Change(Sender: TObject);
var s,s2:string; i,j:integer; jest:boolean;
begin
memo1.lines.Clear;
filelistbox1.Directory:= directorylistbox1.Directory;
for i := 0 to (FileListBox1.Items.Count - 1) do begin
s:=ExtractFileExt(FileListBox1.Items.Strings[i]);
jest:=false;
for j:=0 to (memo1.lines.Count-1) do begin
s2:=memo1.Lines.Strings[j];
if Pos(s,s2)>0 then jest:=true;
end;
if not jest then memo1.lines.Append(s);
end;
end;</span>
- Teraz możesz se dać filelistbox.visible na false
- Ścieżke nie koniecznie z directorylistbox - jaką chcesz
- I jest jedynie problem że jak masz plik .exe i .EXE to bierze jako inne ale to możesz wyeliminować - chodzi o duże litery.
Jak ci będzie działać to napisz bo jestem ciekaw :)
Wstawiamy ListBox'a i FileListBox'a i:
procedure TForm1.Button1Click(Sender: TObject);
var Licznik : Integer;
begin
FileListBox1.Visible := False;
FileListBox1.Directory := 'c:\windows';
for licznik := 0 to (FileListBox1.Count - 1) do
begin
FileListBox1.ItemIndex := Licznik;
ListBox1.Items.Add(ExtractFileExt(FileListBox1.FileName));
ListBox1.Items.Strings[ListBox1.Count - 1] := AnsiLowerCase(ListBox1.Items.Strings[ListBox1.Count - 1]);
end;
end;
Tyle, że wyświetli Ci wszystkie (nawet powtarzające się) rozszerzenia...
Items ma Duplicates: ustaw na dupDelete
Dzięki wam juz nie musicie pisać.Zablokuje ktos temat??.