|
|
Регистрация | << Правила форума >> | 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 ???? Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Последний раз редактировалось Yurk@, 11.02.2008 в 10:03. |
#3
|
|||
|
|||
было похожее задание по курсу "моделирование систем". Выложи весь проект, тоды гляну.
|
#4
|
|||
|
|||
Программа моделирует процесс теплообмена, протекаю-щий в некоторой квадратной пластинке, окруженной с четырех сторон обогревателями.
Вот весь проект Это я взял отдельно в сборнике но увы сам реализовать не могу. Вutton1 включает процесс теплообмена |
#5
|
|||
|
|||
Что за ошибка... здесь видимо ошибка в настройке параметров...
|
#6
|
||||
|
||||
Цитата:
Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#7
|
||||
|
||||
Наверно, здесь ошибка с таймером... Потому что его нету.
И еще, где должен выполняться этот фрагмент? Код:
if timer1.Enabled=false then begin timer1.Enabled:=true; button1.Caption:='Stop'; end else begin timer1.Enabled:=false; button1.Caption:='Start'; end; Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |