Страница 2 из 3
Re: Работа с каталогами. Pascal
Добавлено: 25 дек 2006, 15:21
Хыиуду
См. хелп по данным процедурам. В общем, фишка в том, что мы передаем Findfirst некоторые сведения (например, маску имени типа "*.txt"), а он нам ищет первый попавшийся файл (каталог, диск), который удовлетворяет этим параметрам, и запихивает информацию о нем в переменную типа TSearchRec (см. хелп по ней). Потом с помощью getFAttr мы вытаскиваем все атрибуты этого найденного чуда, а атрибуты - это целое число, в котором каждый бит отвечает за какое-то свойство (скрытый, архивный, системный и т.д.). С помощью булевского OR мы устанавливаем ему "скрытый" в единичку (см. выше, как это делается), и вызываем setFAttr, который записывает новые атрибуты тому объекту, который все еще лежит в TSearchRec
Re: Работа с каталогами. Pascal
Добавлено: 25 дек 2006, 19:38
Колядин Максим
Сейчас попробуем что-нибудь наляпать твоим методом.....
Re: Работа с каталогами. Pascal
Добавлено: 25 дек 2006, 19:47
Колядин Максим
(например, маску имени типа "*.txt")
Как вскрывать файлы я каонечно же знаю, а вот как вскрывать
папку - нет! Можно так же папку вскрывать? Какие параметры у папки задавать?
Re: Работа с каталогами. Pascal
Добавлено: 25 дек 2006, 21:01
Хыиуду
Код: Выделить всё
uses dos;
var sr:Tsearchrec;
begin
findfirst('*',Directory,sr);
writeln(sr.name);
while doserror=0 do
begin
findnext(sr);
writeln(sr.name);
end;
end.
В общем и целом, это выглядит так. А вот делать папки скрытыми у меня что-то не получалось. Давно уже не практиковался. Простое присвоение sr.attr:=sr.attr+Hidden ничего не дало. То ли там константы как-то по-другому называются, то ли надо все-таки использовать get/setFAttr... не помню
Re: Работа с каталогами. Pascal
Добавлено: 26 дек 2006, 00:04
Колядин Максим
Так, опять сейчас пробывать буду
_____________________
.........loading..............
_____________________
Re: Работа с каталогами. Pascal
Добавлено: 26 дек 2006, 00:14
Колядин Максим
А почему у меня тип TSearchRec не известен????
Re: Работа с каталогами. Pascal
Добавлено: 26 дек 2006, 00:28
Ramzey
надо подключить WinDos
Re: Работа с каталогами. Pascal
Добавлено: 26 дек 2006, 01:31
Колядин Максим
надо подключить WinDos
Ничего тут подключать не надо...
======
-----------
Да и
Хыиуду с
Somewhere, как ни странно ошибались... Я уже сам вчера решил. Как оказалось, всё легко и просто. Если интересуитесь, то могу сказать как.
Re: Работа с каталогами. Pascal
Добавлено: 26 дек 2006, 01:35
Ramzey
в смысле не надо подключать
TSearchRec (type) (WinDos unit)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The FindFirst and FindNext procedures use
variables of type TSearchRec to scan
directories.
type
TSearchRec = record
Fill: array[1..21] of Byte;
Attr: Byte;
Time: Longint;
Size: Longint;
Name: array[0..12] of Char;
end;
Re: Работа с каталогами. Pascal
Добавлено: 26 дек 2006, 01:37
Колядин Максим
Да, этого здесь не нужно подключать.