Работа с каталогами. Pascal
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
См. хелп по данным процедурам. В общем, фишка в том, что мы передаем Findfirst некоторые сведения (например, маску имени типа "*.txt"), а он нам ищет первый попавшийся файл (каталог, диск), который удовлетворяет этим параметрам, и запихивает информацию о нем в переменную типа TSearchRec (см. хелп по ней). Потом с помощью getFAttr мы вытаскиваем все атрибуты этого найденного чуда, а атрибуты - это целое число, в котором каждый бит отвечает за какое-то свойство (скрытый, архивный, системный и т.д.). С помощью булевского OR мы устанавливаем ему "скрытый" в единичку (см. выше, как это делается), и вызываем setFAttr, который записывает новые атрибуты тому объекту, который все еще лежит в TSearchRec
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Сейчас попробуем что-нибудь наляпать твоим методом.....
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Как вскрывать файлы я каонечно же знаю, а вот как вскрывать папку - нет! Можно так же папку вскрывать? Какие параметры у папки задавать?(например, маску имени типа "*.txt")
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Код: Выделить всё
uses dos;
var sr:Tsearchrec;
begin
findfirst('*',Directory,sr);
writeln(sr.name);
while doserror=0 do
begin
findnext(sr);
writeln(sr.name);
end;
end.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Так, опять сейчас пробывать буду
_____________________
.........loading..............
_____________________
_____________________
.........loading..............
_____________________
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
А почему у меня тип TSearchRec не известен????
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Ничего тут подключать не надо...надо подключить WinDos
======
-----------
Да и Хыиуду с Somewhere, как ни странно ошибались... Я уже сам вчера решил. Как оказалось, всё легко и просто. Если интересуитесь, то могу сказать как.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
в смысле не надо подключать
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;
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;
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Да, этого здесь не нужно подключать.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...