Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 05.10.2011, 22:33   #1
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию работа с файлами в дельфи

Не подскажите какую функцию можно использовать в дельфи для проверки существования файла на диске?
"...Before you accuse me take a look at yourself..."
T(h)rasher вне форума
Старый 05.10.2011, 22:50   #2
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

FileExists
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума
Старый 05.10.2011, 22:53   #3
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

Ее можно использовать до функции AssignFile?
"...Before you accuse me take a look at yourself..."
T(h)rasher вне форума
Старый 05.10.2011, 22:56   #4
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

ее использование независимо от наличия файловой переменной и уж тем более связи оной с файлом ... FileExists('имя файла') - возвращает результат булевого типа
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума
Старый 05.10.2011, 23:37   #5
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

Вот мой код. Файл l1.txt находится в корне диска с, но почему-то выдает ошибку, что его там нет. Помогите разобраться в чем дело.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
f1: textFile;
str,str1,s,fileName: string;
Label en;
begin
fileName:='l1.txt';
  if FileExists(fileName) then
      begin
       AssignFile(f1, 'C:\l1.txt');
        while not Eof(f1) do
          begin
            reset(f1);
            readln(f1,str);
            readln(f1,str1);

                if (Edit1.Text=str) or (Edit1.Text=str1) then
                    begin
                      readln(f1,str);

                      if (MaskEdit1.text=str) or (MaskEdit1.text=str1) then
                        begin
                          readln(f1,str1);
                          s := application.title;
                          application.title := 'Âõîä â ñèñòåìó';
                          ShowMessage('Äîñòóï â ñèñòåìó ðàçðåøåí.');
                          application.title := s;
                          goto en;
                        end

                        else
                        begin
                          s := application.title;
                          application.title := 'Îøèáêà';
                          ShowMessage('Ïàðîëü ââåä¸í íåâåðíî. Ââåäèòå ïàðîëü è/èëè ïîâòîðèòå ïîïûòêó.');
                          application.title := s;
                          MaskEdit1.Clear;
                          goto en;
                        end;
                    end

                    else
                    begin
                      s := application.title;
                      application.title := 'Îøèáêà';
                      ShowMessage('Èìÿ ïîëüçîâàòåëÿ ââåä¸íî íåâåðíî èëè îòñóòñòâóåò. Ââåäèòå èìÿ ïîëüçîâàòåëÿ è ïîâòîðèòå ïîïûòêó.');
                      application.title := s;
                      Edit1.Clear;
                      goto en;
                    end;
            end;
        CloseFile(f1);
        end
        else
          begin
            s := application.title;
            application.title := 'Îòñóòñòâèå ôàéëà';
            ShowMessage('Ôàéëà ñ òàêèì èìåíåì íå ñóùåñòâóåò.');
            application.title := s;
          end;



en:
end;
"...Before you accuse me take a look at yourself..."
T(h)rasher вне форума
Старый 05.10.2011, 23:42   #6
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

укажите
Код:
fileName:='C:\l1.txt';
т.к. если не указана директория, то поиск ведется в текущей папке (папке проекта)
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума
Старый 05.10.2011, 23:50   #7
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

спасибо, проглотил, теперь строчка while not EoF(f1) не устраивает (см. вложение):
Изображения
Тип файла: jpg m.jpg (13.3 Кб, 161 просмотров)
"...Before you accuse me take a look at yourself..."
T(h)rasher вне форума
Старый 05.10.2011, 23:58   #8
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Код:
reset(f1);
файл (файловая переменная) должен быть открыт до проверки достижения его конца, вынеси открытие файла до начала цикла
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума
Старый 06.10.2011, 00:00   #9
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

Спасибо огромное, все работает!
"...Before you accuse me take a look at yourself..."
T(h)rasher вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с MySQL в Дельфи 7 drakhar БД в Delphi 8 01.12.2010 21:13
Работа с изображениями в дельфи phphel Общие вопросы Delphi 11 20.07.2010 01:36
Работа в Дельфи!!! L0102591 Помощь студентам 2 11.06.2010 04:34
Работа с папками в Дельфи Космос Помощь студентам 2 10.10.2007 20:47