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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2015, 18:01   #11
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

На первой форме запускается таймер на чтение файла без OpenDialog. На модальной форме открываю файл при помощи OpenDialog. Вот такой код на форме1:
Код:
if FileExists('../output_log.txt') then begin// Если лог файл существует
    AssignFile(ff,'../output_log.txt');
   Reset(ff,1);
      if not(FileSize(ff)=0) then begin // Если файл не пустой
   CloseFile(ff);// Закрываем файл
//
//
end
     else begin
   CloseFile(ff);// Закрываем файл
   //ShowMessage('Лог файла:output_log.txt пустой. Внутренняя ошибка работы программы'); 
   //Application.Terminate;// Закрываем программу принудительно
   end;
  end
  else begin
  ShowMessage('Лог файла:output_log.txt несуществет. Воспользуйтесь пунктом Faq п.ХХ'); // если лог файла НЕ существует
  Application.Terminate;// Закрываем программу принудительно
  end;
Вот из кода сообщение 'Лог файлаutput_log.txt несуществет. Воспользуйтесь пунктом Faq п.ХХ'
и всплывает.
Такой на модальной:
Код:
with dlgOpen1, mmo6 do   // Delphi-manual.ru/les7end.php
if Execute then begin
//AssignFile(f,);
//InitialDir:=GetCurrentDir;
Lines.LoadFromFile(FileName);
end;
St:=mmo6.Lines.Text;//

Последний раз редактировалось Illusiony; 10.01.2015 в 18:05.
Illusiony вне форума Ответить с цитированием
Старый 10.01.2015, 19:01   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
if FileExists('../output_log.txt'
У-у, а так:
Код:
if FileExists(ExtractFilePath(Application.ExeName)+'output_log.txt') then ...
Да, и OpenDialog еще имеет привычку рабочий каталог менять, если его параметры с умом не задать

PS Полный путь при работе с файлами и в других местах актуален
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 10.01.2015 в 19:12.
Аватар вне форума Ответить с цитированием
Старый 10.01.2015, 19:14   #13
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

ну тогда вот что:

Вместо output_log.txt менял на '../output_log.txt' результат тот же.
Illusiony вне форума Ответить с цитированием
Старый 10.01.2015, 19:16   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Дык это уже здесь выдает
Цитата:
AssignFile(ff,'../output_log.txt');
Кому писал про полный путь при работе с файлами? Да и про рабочий каталог?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.01.2015, 19:27   #15
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Ну да, совсем я "зеленый", но это вы лишь доказали что программа считает что файла нету, что в принцепе я и так знал ( или догадывался).
Illusiony вне форума Ответить с цитированием
Старый 10.01.2015, 19:32   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ни чего не доказывал, а лишь
Цитата:
Полный путь при работе с файлами и в других местах актуален
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.01.2015, 20:24   #17
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

И что без полного пути никуда? Мне нужен относительный путь.
Illusiony вне форума Ответить с цитированием
Старый 10.01.2015, 21:05   #18
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Относительно чего?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.01.2015, 21:10   #19
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

места где сама прога лежит.
Illusiony вне форума Ответить с цитированием
Старый 10.01.2015, 21:27   #20
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
ExtractFilePath(Application.ExeName)
Это и есть каталог, в котором лежит программа. А относительный путь задается относительно рабочего каталога. Теперь сделай ярлык на рабочем столе со своим екзешником и не укажи рабочую папку. Какой будет рабочий каталог? Или в проге после любого из файловых диалогов, если в его опциях не позаботиться, какой он будет? Плюс FileExists не понимает '../output_log.txt' , а просто 'output_log.txt' поймет и будет искать в рабочем каталоге. Про рабочий каталог выше
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при открытии файла Klim Bassenger Microsoft Office Excel 2 16.09.2018 15:44
Ошибка при открытии файла hosts bananasus Общие вопросы Delphi 10 23.02.2011 19:38
Ошибка при открытии файла Ciberal Общие вопросы Delphi 2 09.06.2009 22:58
Ошибка при открытии файла.doc ruavia3 Microsoft Office Word 1 20.05.2009 20:27
C++: ошибка при открытии файла Retiz Помощь студентам 2 30.08.2008 22:12