Помощь - Поиск - Пользователи - Календарь
Полная версия: Findfirst - поиск по расширению
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
_92
[нужно]
пользователь вводит расширение > поиск файлов с таким расширением

[проблема]
в процедуре findfirst маска поиска имеет тип pchar, который нельзя запросить через readln
volvo
То есть, ты хочешь сказать, что вот это не будет работать?
uses dos;
var
DirInfo: SearchRec;
s: string;
begin
readln(s); { например, '*.pas' }
FindFirst(s, Archive, DirInfo);
while DosError = 0 do
begin
Writeln(DirInfo.Name);
FindNext(DirInfo);
end;
end.


Могу тебе сказать, что ты очень сильно ошибаешься... FindFirst прекрасно понимает String в качестве маски...
_92
я делал через модуль windos:

Код
uses
 crt,dos,windos;

var
 s: string;
 dirinfo: tsearchrec;
 p: pathstr;
 d: dirstr;
 n: namestr;
 e: extstr;

begin

 readln(s);  { pas }
 
 findfirst('*.'+s,faanyfile-fadirectory,dirinfo);   { <<< s }
 
 while (doserror=0) and (ioresult=0) do
   
   begin
     
     p:=dirinfo.name;
     
     fsplit(p,d,n,e);
     
     assign(f,dirinfo.name);
     
     ...

end.
volvo
Делай через Dos
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.