GRAFIKA|banner reklamowy
m m m m m m m m m
(X)HTML/XML [12]
Asembler [0]
ASP/ASP+ [18]
Bazy danych [0]
C/C++/C# [3]
CSS [3]
Delphi [25]
Grafika [2]
Inne [19]
Java [6]
Javascript [4]
Linux [5]
Pascal [18]
PHP [20]
Python [7]
SEO [3]
SSI [1]
Windows [1]

Dodaj artykuł
Dodaj news
GRAFIKA|endramki
Reklama  
sprzątanie warszawa psychiatra warszawa materacowe poduszki ogrody fontanny
GRAFIKA|endramki
Statystyki  
Użytkownicy: 0
Goście: 7
Ukryci: 0
Boty: 0
Wszyscy: 8971

Newsów: 137
Artykułów: 148
GRAFIKA|endramki
GRAFIKA|prztlo
GRAFIKA|gora
GRAFIKA|celewo Artykuły GRAFIKA|ceprawo
GRAFIKA|Artykuł    Wyszukiwanie plików i katalogów   22:25:51 29.05.2005   @Gujet   

Witam,
Dziś zajmiemy się wyszukiwaniem plików. Często mamy potrzebę znalezienia jakiegoś pliku/plików...np. przy pisaniu wirusów:) Rzecz jest bardzo prosta, a cały proces wyszukiwania opiera się na rekordzie „TSearchRec”, który zbudowany jest następująco:

Type
TSearchRec=record
Time:Integer; //1
Size:Integer; //2
Attr:Integer; //3
Name:TFileName; //4
ExcludeAttr:Integrer; //5
FindHandle:THandle; //6
FindData:TWin32FindData; //7

//1 – informacje o czasie utworzenia pliku.
//2 – rozmiar pliku.
//3 – atrybuty pliku:
- faReadOnly – tyko do odczytu.
- faHidden - ukryty.
- faSysVolume – plik systemowy.
- faVolumeID – etykieta woluminu.
- faDirectory - katalog.
- faArchive - zarchiwizowany.
- faAnyFile – dowolny plik.

//4 – nazwa pliku.
//5 i //6 – niestety nie wiem, co to jest:( Jeśli ktoś wie, to bardzo proszę o maila.)
//7 – bardziej szczegółowe informacje na temat pliku:
- dwFileAttributes – wyczerpującą informację na temat tego atrybutu znajdziecie w systemie pomocy pod hasłem: WIN32_FIND_DATA.
- ftCreationTime – czas utworzenia pliku.
- FtLastWriteime - czas ostatniej modyfikacji pliku.
- FtLastAccessTime – czas ostatniego dostępu do pliku.

Dobra, teraz przejdziemy już do praktyki. Żeby rozpocząć wyszukiwanie należy użyć funkcji „FindFirst”.

Var
Finder:TSearchRec;
Begin
FindFirst(‘C:*.*’,faAnyFile,Finder); //1
End;

//1 – najpierw podajemy miejsce, gdzie chcemy szukać wraz z maską – w naszym przypadku wszystko z katalogu głównego dysku C. Potem rodzaj pliku – u nas cokolwiek, czyli dowolne pliki i katalogi. Następnie wskazanie na nasz rekord.

No tak, ale teraz program znajdzie jeden plik/katalog i się skończy wyszukiwanie. Żeby temu zapobiec należy zbudować pętlę.
Var
Finder:TSearchRec;
Found:Integer; //liczba znalezionych obiektów.
Begin
Found:=FindFirst(‘C:*.*’,faAnyFile,Finder);
While (Found=0) do // dopóki liczba znalezionych obiektów nie będzie równa zero.
Begin
Memo1.Lines.Add(‘C:’+Finder.Name); // wrzuć sobie Memo na formę:)
Found:=FindNext(Finder); // kontynuacja wyszukiwania
End;
FinClose(Finder); // zakończenie wyszukiwania.
End;

To tyle, jeśli chodzi o wyszukiwanie plików/katalogów. Mam nadzieję, że ktoś się z tego czegoś nauczył:)
Gujet (gujet@o2.pl)

Komentarzy: 0  |  Głosuj (1, 2, 3, 4, 5, 6)  |  Ocena: 3.23   |   Czytane: 3275
GRAFIKA|dol
GRAFIKA|celewo Komentarze GRAFIKA|ceprawo
Musisz się zalogować aby mieć możliwość komentowania

GRAFIKA|dol
GRAFIKA|prztlo
Nie jesteś zalogowany?
Zaloguj się!
Nie masz konta?
Zarejestruj się!
GRAFIKA|endramki
  Linki
GRAFIKA|endramki
  Reklama
GRAFIKA|endram
Copyright © p-zone.pl