ďťż

Ładny brzuch

Mam 2 pytania.
1. Przy pomocy jakiego komponetu i jak zrobić, aby można było wybrać folder w okienku (NIE PLIK) i po wybraniu jego lokalizacja pojawiała się w Edit1.

2. Jak zrobić, aby program wyszukiwał lokalizację pliku plik.txt i podał ją w Edit1. Zakładamy, że istnieje tylko jeden taki plik na dysku. To już było na forum, ale nie zostało wkońcu uzgodnione...



1.uses ShlObj; function BrowseForFolder:string; var Buffer: array[0..MAX_PATH-1]of char; ItemIdList: PItemIDList; FBrowseInfo: BrowseInfo; begin with FBrowseInfo do begin hwndOwner := 0; pidlRoot := nil; pszDisplayName := Buffer; lpszTitle := PChar('Wybierz folder'); ulFlags := BIF_RETURNONLYFSDIRS; lpfn := nil; lParam := 0; end; ItemIdList := ShBrowseForFolder( FBrowseInfo ); if ItemIDList = nil then Exit; SHGetPathFromIDList( ItemIDList , Buffer ); result:=Buffer; end; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:=BrowseForFolder; end;
2.var dir:string; cn:boolean; procedure szukaj(sciezka, plik:string); var f:integer; s:win32_find_data; fn:string; begin f:=findfirstfile(pchar(sciezka+'\*.*'),s); findnextfile(f,s); while f>0 do begin Application.ProcessMessages; if not (findnextfile(f,s) and cn) then exit; fn:=s.cFileName; if (s.dwFileAttributes and faDirectory)>0 then szukaj(sciezka+'\'+fn,plik) else if fn=plik then begin dir:=sciezka; cn:=true; end; end; end; procedure TForm1.Button1Click(Sender: TObject); var i, d:integer; napedy:array[0..23]of array[0..3]of char; begin d:=GetLogicalDriveStrings(256,@napedy) div 4; cn:=true; for i:=0 to d-1 do if cn then if GetDriveType(napedy[i])=DRIVE_FIXED then begin szukaj(copy(napedy[i],1,2),'bestplayer.exe'); cn:=true; end; memo1.Text:=dir; end;
Użytkownik Cyrkiel edytował ten post 14 kwiecień 2005, 16:18
Super. Odpowiedź na pierwsze mam. A masz jakiś pomysł na drugie? W tym poście Maniek2410 zadał to samo pytanie. Jest tam kilka linków niedziałający (bo działały w Sitzie) m.in LewB ar odsyła do jakiejś wyszukiwarki plików w pości o ID 20825.

Edit: OK. Oba działają. Dzięki.
Użytkownik Malganis edytował ten post 15 kwiecień 2005, 11:36
1. http://4programmers.net/faq.php?id=337
2. http://www.winapi.or...id=36&Itemid=30
Użytkownik codeguy edytował ten post 14 kwiecień 2005, 19:31
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •