IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Findfirst - поиск по расширению, тип pchar
_92
сообщение 13.05.2005 11:37
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 22
Пол: Мужской
Реальное имя: alex

Репутация: -  0  +


[нужно]
пользователь вводит расширение > поиск файлов с таким расширением

[проблема]
в процедуре findfirst маска поиска имеет тип pchar, который нельзя запросить через readln


--------------------
лишь утратив всё, мы обретаем свободу...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
volvo
сообщение 13.05.2005 11:50
Сообщение #2


Гость






То есть, ты хочешь сказать, что вот это не будет работать?
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
сообщение 14.05.2005 7:39
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 22
Пол: Мужской
Реальное имя: alex

Репутация: -  0  +


я делал через модуль 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 - 14.05.2005 9:40


--------------------
лишь утратив всё, мы обретаем свободу...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.05.2005 9:40
Сообщение #4


Гость






Делай через Dos
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 9:58
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"