- Код: Выделить всё
FindFirst ('*/*/*uz',faAnyFile and faDirectory,Info)
Что за подлость такая? FindFirst находит в дереве каталогов искомый файл но не кладёт в Info путь к нему, а не зная пути, файл не открыть. Есть ли в fpc решение этой проблемы?
Модератор: Модераторы
FindFirst ('*/*/*uz',faAnyFile and faDirectory,Info)
Сквозняк писал(а):но зато для человека - быстро.
wadman писал(а):Но да, придется программировать и это печально. За то написать нужно один раз.
Сквозняк писал(а):и таскать его с собой.
//Поиск каталогов
uses
sysutils;
var
FII: TSearchRec;
begin
sysutils.FindFirst('*',faDirectory,FII);
writeln(FII.NAME);
while sysutils.FindNext(FII)=0 do writeln('____ ',FII.NAME);
end.
//Поиск каталогов
uses
sysutils;
var
FII: TSearchRec;
begin
sysutils.FindFirst('*',faAnyFile and faDirectory,FII);
if FII.ATTR=faDirectory then writeln('____ ',FII.NAME);
while sysutils.FindNext(FII)=0 do
if (FII.attr and faDirectory)=faDirectory
then if FII.NAME<>'.' then if FII.NAME<>'..'
then writeln('FII.attr=',FII.attr,' faDirectory=',faDirectory,'____ ',FII.NAME);
sysutils.FindClose(FII);
end.
$ ./z
FII.attr=49 faDirectory=16____ 0000
FII.attr=49 faDirectory=16____ 99
FII.attr=48 faDirectory=16____ root
FII.attr=48 faDirectory=16____ 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrfffffffffffffffffffffffffffffffffffffffffffffffffffff
FII.attr=48 faDirectory=16____ 4444
Сквозняк писал(а):Единственное улучшение - вместо strirg будет использоваться ansystring, и длинные пути в них поместятся.
String
The type String may refer to ShortString or AnsiString, depending from the {$H} switch. If the switch is off ({$H-}) then any string declaration will define a ShortString. It size will be 255 chars, if not otherwise specified. If it is on ({$H+}) string without length specifier will define an AnsiString, otherwise a ShortString with specified length. In mode delphiunicode' String is UnicodeString.
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5