![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Написал небольшую консольную программку для поиска файлов. Все работает, только когда идет поиском НЕ на диске C:\, файлы находятсЯ, но выдается ошибка. Вот полный код программы:
Вроде бы так. На скорую руку обрезал, возможно, будут какие-нить мелкие ошибки. PS Выдает ошибку Invalid File Name -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
У меня работает. Сначала при поиске по диску D:\ выдал ошибку. Мне кажется, дело было в том, что там некоторые папки были запрещены для просмотра. По диску E:\ поиск нормальный.
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Пара замечаний:
1)Забываешь делать FindClose - утечка ресурсов 2)Интересная строка if (SearchRec.Attr and faDirectory) = SearchRec.Attr then У меня из-за неё из 10 каталогов проверяет только 3... Нужно так: if (SearchRec.Attr and faDirectory) <> 0 then 3)Также не очень понятно, зачем тут стоит faArchive: if FindFirst(FileName, faArchive,SearchRec) = 0 then Просто ставь faAnyFile 4)Эта строка будет true в любом случае, так что её можно убрать: if (SearchRec.Attr and faAnyFile) = SearchRec.Attr then 5)Такая проверка неправильная: if SearchRec.Name[1] <> '.' then Т.к. могут быть каталоги, начинающиеся с точки: ".exe", "...zzz" А так всё работает, ничего не вылетает... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
p0s0l
Можешь написать поправленный код? -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Это сообщение отредактировал(а) p0s0l - 23.9.2003, 20:59 -------------------- С уважением, г-н Посол. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Borland_Delphi_6 - если ты уже успел посмотреть предыдущий пост, то опять придется его посмотреть, т.к. я тогда забыл одну вещь исправить...
-------------------- С уважением, г-н Посол. |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Ok, большое спасибо!
Но у меня все равно вылетает.... Какое-то "неизвестное программное исключение", а в консоле пишит "Invalid File Name". Запускаю под XP, компилю под Delphi 6. -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Ок, тогда тебе нужно узнать на каких именах гнется прога.
Измени такое место: if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then begin WriteLn ('***', cDir, ' *** ', SearchRec.Name); ChDir(SearchRec.Name);// войти в каталог .... И посмотри, в какой каталог была последняя попытка перейти... Потом скажи их названия... Ну а если выяснять причину влом, то сделай так:
Это сообщение отредактировал(а) p0s0l - 24.9.2003, 09:53 -------------------- С уважением, г-н Посол. |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Сделал так никакого результата... -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Как хотя бы скрыть ошибку?
-------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
дело, как мне кажется, в следующем. в w2k/xp есть такая штука, как System Volume Information. это каталог. но войти в него нельзя. ни в досе, ни в фаре, ни в эксплорере. а поскольку раполагаться он может на разных винтах, а где-то его может и не быть вообще, то и ошибки воттак "гуляют" - у кого глючит, у кого нет. попробуй рекурсивно входить только в те каталоги, которые не являются системными, т.е.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Ну, System Volume Information прежде всего должен быть на диске с, а там ошибки не выдает.
-------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
он может быть на любом диске. попробуй исключить системные каталоги из рекурсивного обхода.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
З.Ы. у меня был похожий глюк. прога обшаривала указанный каталог и все подкаталоги и вытаскивала из них все иконки из всего, чего можно (dll, exe, etc.). nt у меня тогда стояла на диске d. так вот ,когда я задавал поиск по диску С:\, всё было хорошо. а на D - валилась в AV. лечить это таким образом смысла не имело, т.к. иконки обычно и лежат в системных файлах
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Попробуй не использовать chdir, по-моему в нём все дело...
Для этого в функции Find добавь параметр пути:
-------------------- С уважением, г-н Посол. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
А еще:
вызываться будет так: Find(ParamStr(2)); -------------------- С уважением, г-н Посол. |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Че то я не допер,как это?
-------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Не работает. -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Это сообщение отредактировал(а) p0s0l - 26.9.2003, 15:45 -------------------- С уважением, г-н Посол. |
|||
|
||||
| Monty |
|
|||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
p0s0l так в факе такая же ошибка! Вот я смотрю что моя программа тормoзит и не все дириктории обходит! А порою просто зависает, не смотря на то что я все учел
Это сообщение отредактировал(а) Monty - 26.9.2003, 00:03 -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Дак блин, выяснит кто-нибудь наконец, на каких директориях гнется, или нет
У меня XP,NTFS - нигде не гнется... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Monty |
|
|||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
В том то и дело что у меня по началу гнулась прога, потом я заглянул в этот топик и увидел в чем же ошибка! Рекурсивный обход я взял из нашего Фака ........ теперь все работает Лично у меня прога удалила все файлы и папки с извращеными именами и т.д. ........ а до этого зависала так что Терминировать не мог и жал RESET Это сообщение отредактировал(а) Monty - 26.9.2003, 14:57 -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
В чем ошибка ? -------------------- С уважением, г-н Посол. |
|||
|
||||
| Monty |
|
||||||||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
У меня было:
а стало:
При этом все отлично работает Лично я в это еще не въехал PS и так: "SearchRec.Attr <> faDirectory" не работает ........ -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
||||||||
|
|||||||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
p0s0l у мя твой код не работает
-------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Borland_Delphi_6, Ну выясни же наконец на каких каталогах вылетает!
Вот добавь такое (жирным выделено): procedure Find var SearchRec: TSearchRec; // информация о файде или каталоге f : TextFile; begin ... if ... begin ... AssignFile(f, 'log.txt'); Rewrite(f); WriteLn(f, cDir + SearchRec.Name); CloseFile(f); Find ... end; Когда прога вылетит скажи что содержится в файле log.txt... Это сообщение отредактировал(а) p0s0l - 27.9.2003, 11:45 -------------------- С уважением, г-н Посол. |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Теперь вообще все время гнется.... Тобишь я ее запускаю, даю парамметры, а она мне IO Errrrrrrrrrror!
-------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
А я делаю так и ошибок не было ни разу
[CODE]Procedure ScanDir(Dir:String);//сканирование диска Var SearchRec:TSearchRec; I: Byte; begin with fmFileMask, fmMain, DM do begin Try tSpis.DisableControls;//таблица, куда добавляются путь и имя файла a:=False; if Dir<>'' then//если передаваемый параметр не пуст //добавить слеш если он отсутствует if Dir[length(Dir)]<>'\' then Dir:=Dir+'\'; //если что-то найдено if FindFirst(Dir+'*.*', faAnyFile, SearchRec)=0 then repeat if A=True then BREAK;//прерываем сканирование //если начало папки - все пропускаем if (SearchRec.name='.') or (SearchRec.name='..') then continue; //если найдена папка if (SearchRec.Attr and faDirectory)<>0 then begin ScanDir(Dir+SearchRec.name);//найдена папка: "Dir+SearchRec.name" try //если включено -искать папки- cbFolders - TCheckBox if (cbFolders.Checked) then begin//добавляем имя и путь tSpis.Append; tSpis.FieldByName('DirName').AsString:=ExtractFileName(Dir+SearchRec.name); tSpis.FieldByName('PathName').AsString:=Dir+SearchRec.name; tSpis.FieldByName('NoDisk').AsString:=tOpisNODISK.AsString; tSpis.FieldByName('IsFolder').AsInteger:=0; //если включено -импорт содержимого текстового файла, то добавляем это в Memo- if (cbReadMe.Checked) and (edReadMe.Text<>'') then begin//если файл найден, загружаем его содержимое в TDBMemo if FileExists(dir+SearchRec.name+'\'+edReadMe.Text) then try dbMemo1.Lines.LoadFromFile(dir+SearchRec.name+'\'+edReadMe.Text); except abort; end; end;//if - readme tSpis.Post; end;//if - folders except beep; showmessage('Произошла ошибка,'+#13+'Операция будет прервана!'); tSpis.Cancel; exit; end;//try-except end//if else begin//найден файл try //если включено -искать все файлы- if (cbFiles.Checked) then begin //если отключено -искать все файлы- if not (cbAllFiles.Checked) then begin //если расширение найденного файла соответствует списку -lbExt- (lbExt - TListBox) For I:=0 to lbExt.Items.Count-1 do if ((UpperCase(ExtractFileExt(ExtractFileName(Dir+SearchRec.name)))= UpperCase(lbExt.Items.Strings[i]))) then begin tSpis.Append; tSpis.FieldByName('DirName').AsString:=ExtractFileName(Dir+SearchRec.name); tSpis.FieldByName('PathName').AsString:=ExtractFilePath(Dir+SearchRec.name); tSpis.FieldByName('NoDisk').AsString:=tOpisNODISK.AsString; tSpis.FieldByName('IsFolder').AsInteger:=1;//1-это не папка tSpis.Post; end;//if - UpperCase end//if - AllFiles else//если вкл. -все файлы- begin tSpis.Append; tSpis.FieldByName('DirName').AsString:=ExtractFileName(Dir+SearchRec.name); tSpis.FieldByName('PathName').AsString:=ExtractFilePath(Dir+SearchRec.name); tSpis.FieldByName('IsFolder').AsInteger:=1;//1-это не папке (см событие в dbGrid) tSpis.Post; end; end//if - Files except beep; showmessage('Произошла ошибка,'+#13+'Операция будет прервана!'); exit; end;//try-except end;//else fmStopScan.lbScan.Caption:=Dir+SearchRec.name; application.ProcessMessages; until FindNext(SearchRec)<>0; finally tSpis.EnableControls; FindClose(SearchRec); end;//try-finally end;//with end;[CODE] Это сообщение отредактировал(а) dsergey - 27.9.2003, 23:21 |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Сделай перед вызовом Find(в самом Find'е) такое:
WriteLn(cDir + SearchRec.Name); Вызывай проект так: project1 c:\ *.exe >1.txt (^^^ это пример, главное - жирное) Потом скажи что будет в конце файла 1.txt... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Не ошибся. Attr - это набор битовых флагов. Если файл отвечает определенному атрибуту (скрытый, директория, системный и т.п.) устанавливается соответсвующий бит в Attr. -------------------- Волны гасят ветер... |
|||
|
||||
| Monty |
|
||||||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
Вот это очень интересно Я сделал чтобы программа выводила значение [/B]SearchRec.Attr and faDirectory[B] в файл и получается что если директория то значение 16, если не директория то 0
Правильно? Вроде да, но писал по памяти -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
||||||
|
|||||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
>но как происходит тоже самое но со значениями INTEGER ?
Побитово... 1-й с 1-ым, 2-й со 2-ым... PS Или это шутка? :\ Такие вещи надо понимать... Это сообщение отредактировал(а) dm9 - 29.9.2003, 10:49 |
|||
|
||||
| Monty |
|
||||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
Нет не шутка
и так можно продолжать долго, только это мне не понято -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
||||
|
|||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
22 = 10110
11 = 01011 ======== AND 02 = 00010 22 = 010110 33 = 100001 ========= AND 00 = 000000 -------------------- С уважением, г-н Посол. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
А, забыл сказать, как получаются единицы и нули:
22 = 16+4+2 = 2^4 + 2^2 + 2^1 = 10110 (нули стоят на местах 2^3 и 2^0) 11 = 8+2+1 ... Ну блин это должны в школе рассказывать... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Monty |
|
|||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
Но тогда как обьяснить это?
Это сообщение отредактировал(а) Monty - 29.9.2003, 19:05 -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Monty, ну прям не знаю... faDirectory = $10 = 16 = 00010000; Проверкой (Attr and faDirectory) <> 0 проверяется, включен ли нужный бит в аттрибутах. Я просто так привык писать - так быстрее пишется и код получается на микроны быстрее (т.к. для сравнение с нулем быстрее, чем сравнение с к-л числом), чем такая проверка: if (Attr and faDirectory) = faDirectory... Хотя если faDirectory было бы комбинацией нескольких бит, то пришлось бы делать второй вариант... Пример: 1) Attr = 00110110 (число от понта, но 4-ый бит включен, значит это каталог) (Attr and faDirectory) = (00110110 and 00010000) = 00010000 = 16 if (16 <> 0) then ... - видно, что if сработает... 2) Attr = 00100110 (тоже самое число, но 4-ый бит выключен, это не каталог) (Attr and faDirectory) = (00100110 and 00010000) = 00000000 = 0 if (0 <> 0) then ... - видно, что if не сработает... Это сообщение отредактировал(а) p0s0l - 29.9.2003, 21:32 -------------------- С уважением, г-н Посол. |
|||
|
||||
| Monty |
|
|||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
p0s0l спасибо, теперь все ясно .... что какжый бит отвечает за то или иное значение атрибута
Именно этого я не знал Это сообщение отредактировал(а) Monty - 29.9.2003, 22:42 -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
|||
|
||||
| iZZi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 22.5.2003 Репутация: нет Всего: нет |
Вот вам кусок Windows.pas :
Вот вам все эти аттрибуты и за что каждый отвечает. У меня дома где - то есть прога - поисковик, недоделанная, но там все работает. Там у меня были проблемы с системными папками, но потом и их пофиксил. Просто проверяйте на включенность соответствующих флагов и все. |
|||
|
||||
| Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
p0s0l
Сделал как ты говорил. В конце файла:
-------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
| Dmitry V.Abramov |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.9.2003 Где: Saint-Petersburg Репутация: 5 Всего: 4 |
Немая сцена.... Мы все, из-за угла глазевшие за здесь происходящим (прям как в порту на погрузке, или на стройке), с нетерпением ждали завершения, а получили еще одно продолжение... Ребята, вы уж опубликуйте целиком текст который тестируете! А то вот такие вещи "Exception EInOutError in module timesaver.exe at 0004E6D4" заставляют думать, что что-то там есть еще - слишком большой адрес для консольного приложения опубликованного в самом начале. И потом, если есть Exception EInOutError, то почему утверждают что оно не перехватывается? --------------------
/DVA |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |