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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2015, 01:21   #1
RaccoonRocket
Пользователь
 
Регистрация: 03.06.2015
Сообщений: 10
Восклицание Почему не происходит запись в файл?

программа отрабатывает, в файл не выводит значения.

Код:
program Project1;

{$APPTYPE CONSOLE}

uses SysUtils;

procedure zapis(t:real);
var fname:string; fox:text;
begin
fname:='exam1.txt';
assign(fox,fname);
rewrite(fox);
writeln(fox,t);
close(fox);
end;

procedure zad1;
const pi=3.14;
var s,r:real; f:text;
begin
writeln('zadanie 1. Vichislyt ploshad');
writeln('Vvod R: ');
readln(r);
s:=sqr(r)*(4-Pi)/2;
write('Resultat: ',s:0:0);
writeln;
end;
procedure zad2;
var n,i:integer;
    oc,sm,sr,mx,mn,r:real;
begin
writeln('zadanie 2. Opredelyt" ocenky');
write('Kol-vo sudey n=');
readln(n);
i:=1;
write('Ocenka ',i,'=');
readln(oc);
mx:=oc;
mn:=oc;
sm:=oc;
repeat
i:=i+1;
write('Ocenka ',i,'=');
readln(oc);
if oc>mx then mx:=oc
else if oc<mn then mn:=oc;
sm:=sm+oc;
until i=n;
r:=(sm-mx-mn)/n;
zapis(r);
write('Itog=',r:0:1);
writeln;
end;

var t:real;
Begin
zad1;zad2;
writeln('end');
readln;
end
.

Последний раз редактировалось Аватар; 06.06.2015 в 07:37.
RaccoonRocket вне форума Ответить с цитированием
Старый 06.06.2015, 09:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
fname:='exam1.txt';
Пропиши полный путь к файлу.
Цитата:
{$APPTYPE CONSOLE}
Кстати, если у тебя Дельфи то рекомендую работать с файлами (текстовыми) через TStringList:
Код:
With TStringList.Create do begin
 Append(FloatToStr(t));
 SaveToFile(ExtractFilePath(ParamStr(0))+'exam1.txt');
 free;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.06.2015, 12:46   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
fox:text;
а разве в Delphi текстовые файлы (в отличие от TP) не имеют тип TextFile ?!

ну и вместо Assign() нужно делать AssignFile()
а вместо close() - CloseFile()

но это так, мысли вслух.
по сути я полностью согласен с мнением Виталия:
1) обязательно указывать полный путь (в его примере файлик будет лежать там же, где и exe-шник проекта)
2) крайне желательно отказаться от старых TextFile и юзать новые методы. Ну, например, методы TStringList (как в примере у Виталия).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2015, 13:18   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а разве в Delphi текстовые файлы (в отличие от TP) не имеют тип TextFile ?!
То оставлено для совместимости.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не происходит удаление?Язык С++. RG21 Помощь студентам 0 28.05.2013 21:32
Почему происходит зацикливание? Arigato Общие вопросы Delphi 8 29.04.2013 19:06
Цикл Cardinal - почему так происходит? Nester Общие вопросы Delphi 2 28.07.2010 15:04
Удаление информации из файлов .mb: почему не происходит? Ruschel БД в Delphi 4 25.02.2010 09:22
Почему так происходит? Zeraim Общие вопросы Delphi 1 05.05.2008 14:10