Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.04.2013, 17:50
ugicedeath ugicedeath вне форума
Прохожий
 
Регистрация: 14.02.2013
Сообщения: 17
Репутация: 10
По умолчанию Не записывает в файл строку

Всем привет! Проблема ерундовая! Почему-то не записывает в файл несколько значений.
Все нужные вещи обозначены вот так:

f,g: TextFile;
fdir,gdir,tendstr: string;

Все остальные указанные переменные обозначены как real и integer и массивы собственно.

Суть проблемы: Пишет что в строчках где закрываются файлы: too many actual parameters

Вот код:
Код:
fdir:='C:\Users\Руслан\Desktop\Компьютерная физика\СДАВАТЬ\Уравнение теплопроводности ДЕЛФИ\res.txt';
AssignFile(f,fdir);
Rewrite(f);
WriteLn(f,'Толщина пластин L =',L:6:4);
WriteLn(f,'Число узлов по координате N =',N);
WriteLn(f,'Коэффициент теплопроводности материала lamda =',lamda:6:4);
WriteLn(f,'Плотность материала ro =',ro:6:4);
WriteLn(f,'Теплоемкость материала c =',c:6:4);
WriteLn(f,'Начальная температура T0 =',T0:6:4);
WriteLn(f,'Температура на границе х=0, T1 =',T1:6:4);
WriteLn(f,'Температура на границе х=L, Tr =',Tr:6:4);
WriteLn(f,'Результат получен с шагом по координате h =',h:6:4);
WriteLn(f,'Результат получен с шагом по времени tau =',tau:6:4);
WriteLn(f,'Температурное поле в момент времени t =',tend:6:4);
close(f);

gdir:='C:\Users\Руслан\Desktop\Компьютерная физика\СДАВАТЬ\Уравнение теплопроводности ДЕЛФИ\tempr.txt';

AssignFile(g,gdir);
Rewrite(g);
for i:=1 to N do
 writeln(g,' ',h*(i-1):6:3,' ',T[i]:8:5);
close(g);
Ответить с цитированием
  #2  
Старый 02.04.2013, 17:53
ugicedeath ugicedeath вне форума
Прохожий
 
Регистрация: 14.02.2013
Сообщения: 17
Репутация: 10
По умолчанию

Наверно кто-нибудь потребует листинг всей программы. Это решение уравнения теплопроводности неявным методом, пока что без аналитики. Вот код:
Код:
unit teplo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Edit5: TEdit;
    Label6: TLabel;
    Edit6: TEdit;
    Label7: TLabel;
    Edit7: TEdit;
    Label8: TLabel;
    Label9: TLabel;
    Edit8: TEdit;
    Edit9: TEdit;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Button1: TButton;
    Chart1: TChart;
    Series1: TLineSeries;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

i,j,N: integer;
T,alfa,beta: array [1..500] of real;
ai,bi,ci,fi: real;
lamda,ro,c,h,tau: real;
T1,T0,Tr,L,tend,time: real;
f,g: TextFile;
fdir,gdir,tendstr: string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); // Íåÿâíàÿ ñõåìà
begin  {1}

series1.clear;

//Ñ×ÈÒÛÂÀÍÈÅ ÏÀÐÀÌÅÒÐÎÂ

N:=strtoint(edit1.Text);
tend:=strtofloat(edit2.Text);
L:=strtofloat(edit3.Text);
lamda:=strtofloat(edit4.Text);
ro:=strtofloat(edit5.Text);
T0:=strtofloat(edit6.Text);
T1:=strtofloat(edit7.Text);
Tr:=strtofloat(edit8.Text);

//îïðåäåëÿåì ðàñ÷åòíûé øàã ñåòêè ïî ïðîñòðàíñòâåííîé êîîðäèíàòå

h:=L/(N-1);

//îïðåäåëÿåì ðàñ÷åòíûé øàã ñåòêè ïî âðåìåíè

tau:=tend/100;

//îïðåäåëÿåì ïîëå òåìïåðàòóðû â íà÷àëüíûé ìîìåíò âðåìåíè

for i:=1 to N do    {*}
T[i]:=T0;


//èíòåãðèðîâàíèå íåñòàöèîíàðíîãî óðàâíåíèÿ òåïëïðîâîäíîñòè

time:=0;
while time < tend do begin {2}
time:=time+tau;
{îïðåäåëÿåì íà÷àëüíûå ïðîãîíî÷íûå êîýôôèöèåíòû íà îñíîâå ëåâîãî ãðàíè÷íîãî óñëîâèÿ}
alfa[1]:=0;
beta[1]:=T1;
for i:=2 to N-1 do begin  {3}
{ai,bi,ci,fi - êîýôôèöèåíòû êàíîíè÷åñêîãî ïðåäñòàâëåíèÿ ÑËÀÓ ñ òðåõäèàãîíàëüíîé ìåòðèöåé}
ai:=lamda/sqrt(h);
bi:=(2*lamda)/(sqrt(h))+ro*c/tau;
ci:=lamda/sqrt(h);
fi:=-ro*c*T[i]/tau;
{alfa[i],beta[i] - ïðîãîíî÷íûå êîýôôèöèåíòû}
alfa[i]:=ai/(bi-ci*alfa[i-1]);
beta[i]:=(ci*beta[i-1]-fi)/(bi-ci*alfa[i-1]);
end;  {3}
{îïðåäåëÿåì çíà÷åíèå òåìïåðàòóðû íà ïðàâîé ãðàíèöå}
T[N]:=Tr;
{îïðåäåëÿåì íåèçâåñòíîå ïîëå òåìïåðàòóðû}
for i:=N-1 downto 1 do   {*}
T[i]:=alfa[i]*T[i+1]+beta[i];

end; {2}

//Âûâîä ðåçóëüòàòîâ â ôàéë
fdir:='C:\Users\Ðóñëàí\Desktop\Êîìïüþòåðíàÿ ôèçèêà\ÑÄÀÂÀÒÜ\Óðàâíåíèå òåïëîïðîâîäíîñòè ÄÅËÔÈ\res.txt';
AssignFile(f,fdir);
Rewrite(f);
WriteLn(f,'Òîëùèíà ïëàñòèíû L =',L:6:4);
WriteLn(f,'×èñëî óçëîâ ïî êîîðäèíàòå N =',N);
WriteLn(f,'Êîýôôèöèåíò òåïëîïðîâîäíîñòè ìàòåðèàëà lamda =',lamda:6:4);
WriteLn(f,'Ïëîòíîñòü ìàòåðèàëà ro =',ro:6:4);
WriteLn(f,'Òåïëîåìêîñòü ìàòåðèàëà c =',c:6:4);
WriteLn(f,'Íà÷àëüíàÿ òåìïåðàòóðà T0 =',T0:6:4);
WriteLn(f,'Òåìïåðàòóðà íà ãðàíèöå õ=0, T1 =',T1:6:4);
WriteLn(f,'Òåìïåðàòóðà íà ãðàíèöå õ=L, Tr =',Tr:6:4);
WriteLn(f,'Ðåçóëüòàò ïîëó÷åí ñ øàãîì ïî êîîðäèíàòå h =',h:6:4);
WriteLn(f,'Ðåçóëüòàò ïîëó÷åí ñ øàãîì ïî âðåìåíè tau =',tau:6:4);
WriteLn(f,'Òåìïåðàòóðíîå ïîëå â ìîìåíò âðåìåíè t =',tend:6:4);
close(f);

gdir:='C:\Users\Ðóñëàí\Desktop\Êîìïüþòåðíàÿ ôèçèêà\ÑÄÀÂÀÒÜ\Óðàâíåíèå òåïëîïðîâîäíîñòè ÄÅËÔÈ\tempr.txt';

AssignFile(g,gdir);
Rewrite(g);
for i:=1 to N do
 writeln(g,' ',h*(i-1):6:3,' ',T[i]:8:5);
close(g);


end;{1}



end.
Ответить с цитированием
  #3  
Старый 02.04.2013, 17:57
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Потому что не close, а closefile
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:50.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter