![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Написал программу моделирования теплообмена. (в центре квадратная пластинка а по краям 4 одинаковых "нагревателя" ) хоть убьюсь оп стену да ошибку не вижу Помогите пожалуйста.
Буду очень благодарен Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Panel4Click(Sender: TObject);
procedure Panel1Click(Sender: TObject);
procedure Panel2Click(Sender: TObject);
procedure Panel3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const n=50;
var p:array[1..n,1..n]of tpanel;
procedure TForm1.FormCreate(Sender: TObject);
var t,c,i,k:integer;
begin
for i:=1 to n do
for k:=1 to n do begin
p[i,k]:=tpanel.Create(form1);
p[i,k].Left:=58+k*5;
p[i,k].Top:=46+i*5;
p[i,k].Width:=5;
p[i,k].Height:=5;
p[i,k].Color:=c;
p[i,k].Parent:=form1;
end;
end;
procedure prov;
var t,c:integer;
Begin
case t of
0..100:c:=clblue;
101..200:c:=clTeal;
201..300:c:=clskyblue;
301..400:c:=claqua;
401..500:c:=cllime;
501..600:c:=clpurple;
601..700:c:=clfuchsia;
701..800:c:=clred;
end;
end;
procedure TForm1.Panel4Click(Sender: TObject);
var t,t1,c:integer;
begin
t:=random(801);t1:=t;
prov;
panel1.Color:=c;
end;
procedure TForm1.Panel1Click(Sender: TObject);
var t,t2,c:integer;
begin
t:=random(801);t2:=t;
prov;
panel2.Color:=c;
end;
procedure TForm1.Panel2Click(Sender: TObject);
var t,t3,c:integer;
begin
t:=random(801);t3:=t;
prov;
panel3.Color:=c;
end;
procedure TForm1.Panel3Click(Sender: TObject);
var t,t4,c:integer;
begin
t:=random(801);t4:=t;
prov;
panel4.Color:=c;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var i,k:integer;
a:array[0..1,0..n+1,0..n+1]of integer;
begin
for i:=1 to n do
for k:=1 to n do begin
t:=round((a[l,i-1,k]+a[l,i,k-1]+a[l,i,k+1]+a[l,i+1,k])/4);
a[1-l,i,k]:=t; prov; p[i,k].Color:=c;
end;
l:=1-l;
end;
if timer1.Enabled=false then begin
timer1.Enabled:=true; button1.Caption:='Stop';
end
else begin
timer1.Enabled:=false; button1.Caption:='Start';
end;
end.=) забыл таймер поставить=) сам нашел ошибку Но после этого всеравно не пашет Последний раз редактировалось dredd, 10.02.2008 в 22:41. |
|
#2
|
||||
|
||||
|
Что должна делать твоя прога???
Тут тАк все закручено ![]() ЗЫ: А какая процедура для Button1 ???? Последний раз редактировалось Yurk@, 11.02.2008 в 10:03. |
|
#3
|
|||
|
|||
|
было похожее задание по курсу "моделирование систем". Выложи весь проект, тоды гляну.
|
|
#4
|
|||
|
|||
|
Программа моделирует процесс теплообмена, протекаю-щий в некоторой квадратной пластинке, окруженной с четырех сторон обогревателями.
Вот весь проект Это я взял отдельно в сборнике но увы сам реализовать не могу. Вutton1 включает процесс теплообмена ![]() |
|
#5
|
|||
|
|||
|
Что за ошибка... здесь видимо ошибка в настройке параметров...
|
|
#6
|
||||
|
||||
|
Цитата:
|
|
#7
|
||||
|
||||
|
Наверно, здесь ошибка с таймером... Потому что его нету.
И еще, где должен выполняться этот фрагмент? Код:
if timer1.Enabled=false then begin
timer1.Enabled:=true; button1.Caption:='Stop';
end
else begin
timer1.Enabled:=false; button1.Caption:='Start';
end; |