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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2008, 22:10   #1
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию Условие

Нужно такое условие:
Если файл создался тогда вывод сообщения 1 иначе сообщение 2
Код:
filename:=Surname; 
Assign(document,'DOSSIER\'+filename+'.txt'); 
ReWrite(document); 
Writeln(document,'Досье'); 
WriteLn(document,'Имя:',Name); 
WriteLn(document,'Фамилия:',Surname); 
WriteLn(document,'Дата рождения:',Date); 
WriteLn(document,'Страна:',Country); 
WriteLn(document,'Город:',City); 
WriteLn(document,'Улица:',Street); 
WriteLn(document,'Телефон:',Phone); 
WriteLn(document,'Работа:',Work); 
WriteLn(document,'Хобби:',Hobbies); 
Close(document); 
{$I-} 
Reset(document); 
{$I+} 
if IOresult=0 then writeln('Информация сохранена') else writeln('Информация 
не сохоанена');
Почему не работает?
Компилятор ошибок не выдает и программа работает, но условие не выполняется и сообщения на екран не выводятся
Я ваш новый друг, смиритесь!

Последний раз редактировалось [Smarik]; 02.02.2008 в 22:13.
[Smarik] вне форума Ответить с цитированием
Старый 02.02.2008, 22:29   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Хм.... Только что написал примерчик. Всё работает.
Попробуй брекпоинты поставить. На экран должно выводиться в любом случае...

Мой примерчик:

Код:
Var NameFile : TextFile;

Begin
AssignFile(NameFile, 'Test.txt');
ReWrite(NameFile);
Randomize;
Write (NameFile, 'Проверка  ');
Write (NameFile, IntTostr(Random(10)));
CloseFile(NameFile);
Readln;
{$i-}
Reset(NameFile);
{$i+}
If IOresult = 0 then
    Writeln ('File creat? Yes')
  else
    Writeln ('File creat? No');
Readln;
End.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...

Последний раз редактировалось Карась; 02.02.2008 в 23:19.
Карась вне форума Ответить с цитированием
Старый 03.02.2008, 06:17   #3
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Понял в чем проблема, после заполнения файла поставил простой вывод сообщения тоже не увидел, программа не находит файл и закрывает программу принудительно чтобы выдать ошибку, у меня файл сохраняется в другую папку не в корне программы, где то нужно указывать адрес? Или что нибудь другое подскажите?
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 03.02.2008, 08:08   #4
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Путь к файлу указывается в строке:
Код:
Assign(document,'DOSSIER\'+filename+'.txt');
Если файла нет, то он создаётся. Если есть, то он перезаписывается..
При указании несуществующего каталога или пути программа должна вывалится с ошибкой... покрайней мере это должно произойти при компиляции..

Для начала надо определить путь откуда запустилась прога.
За это отвечает функция ParamSTR(0). Параметр в скобочках указывает что функция должна вернуть полный путь.
Этот путь тебе надо укоротить под свои нужды.
За это отвечает ещё пару функций который можно глянуть тут:
http://programmersforum.ru/showthrea...F2%E0%EB%EE%E3

В итоге:
Код:
AssignFile(NameFile, ExtractFileDir (ParamSTR(0)) + '\Test.txt')
D:\Borland\Delphi7\Projects\Работа с файлами\Test.txt

Теперь программа сама определяет где сидит прога и создаёт фаил в своём корешке.

Впринципе можно написать просто
AssignFile(NameFile,'1\Test.txt');

Тогда фаил будет создан в корне, в папке 1. Но всёже правильнее принудительно узнавать полный путь. Незнаю почему, но говорят что надо.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...

Последний раз редактировалось Карась; 03.02.2008 в 08:14.
Карась вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие для файлов Nemesisking Общие вопросы Delphi 11 30.01.2009 09:20
Условие на текущий год. ГОСЕАН БД в Delphi 2 27.06.2008 11:27
Превратить текст в условие ZORRO2005 Microsoft Office Excel 4 24.06.2008 05:15
Условие в формуле Shavminator Microsoft Office Excel 3 13.02.2008 19:18