![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
поск файлов на winAPI
batya-x © (2008-07-21 00:38:00)
procedure FindFiles(pach:string);
var
FileName: string;
FindHandle:THandle;
SearchRec:TWIN32FindData;
begin
SetCurrentDirectory(pchar(pach+'/'));
try
FindHandle := FindFirstFile(pchar(pach+'*.*'), SearchRec);
if FindHandle <> INVALID_HANDLE_VALUE then
repeat
if (SearchRec.dwFileAttributes=FILE_ATTRIBUTE_DIRECTORY) and
(SearchRec.cFileName<>pchar('.')) and (SearchRec.cFileName<>'..')
then FindFiles(pach+'\'+SearchRec.cFileName)
else
Form4.Memo1.Lines.add(pach+'\'+SearchRec.cFileName);
until FindNextFile(FindHandle,SearchRec)=false;
finally
Windows.FindClose(FindHandle);
end;
end;
находит файлы но не все
вот что он показывает, помогите где я что пропустил
<c:\011.DOC
c:\AUTOEXEC.BAT
c:\boot.ini
c:\Bootfont.bin
c:\CanoScan
c:\Config.Msi
c:\hiberfil.sys
c:\IO.SYS
c:\MSDOS.SYS
c:\NTDETECT.COM
c:\ntldr
c:\pagefile.sys
c:\PDOXUSRS.NET
c:\ProgDVB.ini
c:\Program Files
c:\RECYCLER
c:\Scanitto_1.bmp
c:\soundtrack_-_the_time_of_my_life.mp3
c:\System Volume Information
c:\Thumbs.db
c:\wamp\wamp\wamp5.chm
c:\wamp\wamp\wampmanager.conf
c:\wamp\wamp\wampmanager.exe
c:\wamp\wamp\wampmanager.ini
c:\wamp\wamp\wampmanager.tpl
c:\wamp\wamp\wampserver.ico
c:\WINDOWS\WINDOWS\WindowsShell.Manifest
c:\WINDOWS\WINDOWS\WindowsUpdate.log
c:\Рисунок1.plt/CODE>
Riply (2008-07-21 06:33:00) [1]> [5] batya-x (21.07.08 01:35)
> блин отказываеться работать нормально, есть у кого нормальны йрабочий пример на winApi сегодня целы день убил
Смотря что считать решением. Если то, что кто-то даст тебе готовый код, то день - действительно много,
а если попытку понять и разобраться, то день это ничто :)
По сабжу: хотела помочь - да не могу.
Не компилится у меня твой пример: ругается, мол не знаю что такое Form4.
Сделай так, чтобы у меня компилировался и тогда попробуем его улучшить :)
batya-x (2008-07-21 03:59:00) [2]Удалено модератором
Примечание: Mat
Германн (2008-07-21 01:59:00) [3]
> batya-x (21.07.08 01:47) [7]
>
> во мля
> SearchRec.cFileName[0]<>'.') and (SearchRec.cFileName<>pchar('.
> .')
> хотя не уверен, но всё работает
>
SearchRec.cFileName[0]<>'.' - это что за зверь?
Может рано тебе пока постить вопросы в WinAPI?
batya-x (2008-07-21 01:47:00) [4]во мля
SearchRec.cFileName[0]<>'.') and (SearchRec.cFileName<>pchar('..')
хотя не уверен, но всё работает
batya-x (2008-07-21 01:45:00) [5]кажеться я нашел, у меня неправильно сравниваеться
SearchRec.cFileName<>pchar('.')
точка постоянно вылетает
cFileName: array[0..MAX_PATH - 1] of AnsiChar; vs pchar('.')
как их правильно сравнить
batya-x (2008-07-21 01:35:00) [6]блин отказываеться работать нормально, есть у кого нормальны йрабочий пример на winApi сегодня целы день убил
SergeyIT (2008-07-21 01:29:00) [7]Как-то
((SearchRec.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) <> 0)
batya-x (2008-07-21 01:27:00) [8]
> > SearchRec.dwFileAttributes=FILE_ATTRIBUTE_DIRECTORYНеверно.
> Атрибутов может быть более одного.
а как правильно сделать проверку
SergeyIT (2008-07-21 01:19:00) [9]Зачем?
SetCurrentDirectory(pchar(pach+'/')); ??? '/'
Германн (2008-07-21 01:09:00) [10]
> SearchRec.dwFileAttributes=FILE_ATTRIBUTE_DIRECTORY
Неверно. Атрибутов может быть более одного.