|
#1
|
|||
|
|||
Ошибка
Unit2 заставка.
В тесте присутствует таймер(288-246). После окончания теста выдаёт ошибку(я думою что это из-за переменной c, но не могу никак исправить). Все файлы на яндекс диске, также вложен в тему. Яндекс.Диск Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Memo1: TMemo; Memo2: TMemo; Memo3: TMemo; Memo4: TMemo; Memo5: TMemo; Button1: TButton; RadioGroup1: TRadioGroup; Button2: TButton; Button3: TButton; Label1: TLabel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; Timer1: TTimer; GroupBox1: TGroupBox; Label2: TLabel; Button4: TButton; procedure Memo2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Memo4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Memo3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Memo5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure RadioButton3Click(Sender: TObject); procedure RadioButton4Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var f:TextFile; t,s1,s2,s3,s4,s5,s6:string; c:byte; i,j,th,th1,ts1,ts,t1,h:integer; Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Memo2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if button=mbleft then begin Memo2.Color:=clYellow; radioGroup1.ItemIndex:=0; memo5.Color:=clWindow; memo3.Color:=clWindow; memo4.Color:=clWindow; RadioButton1.Checked:=True; end; end; procedure TForm1.Memo4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if button=mbleft then begin memo4.Color:=clYellow; radioGroup1.ItemIndex:=1; memo2.Color:=clWindow; memo5.Color:=clWindow; memo3.Color:=clWindow; RadioButton2.Checked:=True; end; end; procedure TForm1.Memo3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if button=mbleft then begin memo3.Color:=clYellow; radioGroup1.ItemIndex:=2; memo2.Color:=clWindow; memo4.Color:=clWindow; memo5.Color:=clWindow; RadioButton3.Checked:=True; end; end; procedure TForm1.Memo5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if button=mbleft then begin memo5.Color:=clYellow; radioGroup1.ItemIndex:=3; memo2.Color:=clWindow; memo3.Color:=clWindow; memo4.Color:=clWindow; RadioButton4.Checked:=True; end; end; procedure TForm1.FormCreate(Sender: TObject); begin For i:=1 to 100000000 do for j:=1 to 25 do; c:=0; assignfile(f,'test.txt'); reset(f); Memo1.hide; Memo2.hide; Memo3.hide; Memo4.hide; Memo5.hide; RadioGroup1.Hide; Button1.Hide; Button3.Hide; Button4.Hide; RadioButton1.Hide; RadioButton2.Hide; RadioButton3.Hide; RadioButton4.Hide; readln(f,t); h:=strtoint(t); th:=0; th1:=0; ts1:=0; ts:=1; if h>59 then begin th:= h div 60; h:= h mod 60; end; end; procedure TForm1.Button2Click(Sender: TObject); begin Timer1.Enabled:=True; Button2.Hide; Button3.Show; Memo1.Show; Memo2.Show; Memo3.Show; Memo4.Show; Memo5.Show; Button1.Show; RadioButton1.Show; RadioButton2.Show; RadioButton3.Show; RadioButton4.Show; readln(f,s1); readln(f,s2); readln(f,s3); readln(f,s4); readln(f,s5); readln(f,s6); Memo1.Text:=s1; Memo2.Text:=s2; Memo3.Text:=s4; Memo4.Text:=s3; Memo5.Text:=s5; end; procedure TForm1.Button3Click(Sender: TObject); begin Button4.Show; Memo1.hide; Memo2.hide; Memo3.hide; Memo4.hide; Memo5.hide; Button1.Hide; Button2.Hide; Button3.Hide; timer1.Enabled:=False; RadioButton1.Hide; RadioButton2.Hide; RadioButton3.Hide; RadioButton4.Hide; Label1.Show; Label1.Caption:=inttostr(c); end; procedure TForm1.Button1Click(Sender: TObject); begin if radiogroup1.ItemIndex=strtoint(s6) then c:=c+1; if eof(f)=false then begin readln(f,s1); readln(f,s2); readln(f,s3); readln(f,s4); readln(f,s5); readln(f,s6); Memo1.Text:=s1; Memo2.Text:=s2; Memo3.Text:=s4; Memo4.Text:=s3; Memo5.Text:=s5; end else begin Memo1.hide; Memo2.hide; Memo3.hide; Memo4.hide; Memo5.hide; Button1.Hide; Button2.Hide; RadioButton1.Hide; RadioButton2.Hide; RadioButton3.Hide; RadioButton4.Hide; closefile(f); Label1.Show; Label1.Caption:=inttostr(c); end; end; procedure TForm1.RadioButton1Click(Sender: TObject); begin RadioGroup1.itemindex:=0; Memo2.Color:=clYellow; radioGroup1.ItemIndex:=0; memo5.Color:=clWindow; memo3.Color:=clWindow; memo4.Color:=clWindow; end; procedure TForm1.RadioButton2Click(Sender: TObject); begin RadioGroup1.itemindex:=1; memo4.Color:=clYellow; radioGroup1.ItemIndex:=1; memo2.Color:=clWindow; memo5.Color:=clWindow; memo3.Color:=clWindow; end; procedure TForm1.RadioButton3Click(Sender: TObject); begin RadioGroup1.itemindex:=2; memo3.Color:=clYellow; radioGroup1.ItemIndex:=2; memo2.Color:=clWindow; memo4.Color:=clWindow; memo5.Color:=clWindow; end; procedure TForm1.RadioButton4Click(Sender: TObject); begin RadioGroup1.itemindex:=3; memo5.Color:=clYellow; radioGroup1.ItemIndex:=3; memo2.Color:=clWindow; memo3.Color:=clWindow; memo4.Color:=clWindow; end; procedure TForm1.Button4Click(Sender: TObject); begin closefile(f); Application.Terminate; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if (ts=0) and (ts1>0) then begin ts1:=ts1-1; ts:=ts+10; end; //Окончание секунд(еденицы) if (ts=0) and (ts1=0) and (h>0) then begin h:=h-1; ts1:=ts1+5; ts:=ts+10; end;//Окончание секунд(все) if (ts=0) and (ts1=0) and (h=0) and (t1>0) then begin t1:=t1-1; h:=h+9; ts1:=ts1+5; ts:=ts+10; end;//Окончание минут(еденицы) if (ts=0) and (ts1=0) and (h=0) and (t1=0) and (th>0) then begin th:=th-1; t1:=t1+5; h:=h+9; ts1:=ts1+5; ts:=ts+10; end; if (ts=0) and (ts1=0) and (h=0) and (t1=0) and (th=0) and (th1>0) then begin th1:=th1-1; th:=th+9; t1:=t1+5; h:=h+9; ts1:=ts1+5; ts:=ts+10; end; if (ts=0) and (ts1=0) and (h=0) and (t1=0) and (th=0) and (th1=0) then begin Button4.Show; Memo1.hide; Memo2.hide; Memo3.hide; Memo4.hide; Memo5.hide; Button1.Hide; Button2.Hide; RadioButton1.Hide; RadioButton2.Hide; RadioButton3.Hide; RadioButton4.Hide; ShowMessage('Время вышло'); Label1.Show; Label1.Caption:=inttostr(c); end; if ts=0 then ts:=ts+1; ts:=ts-1; Label2.Caption:=inttostr(th1)+inttostr(th)+':'+inttostr(t1)+inttostr(h)+':'+inttostr(ts1)+inttostr(ts); end; end. |
#2
|
||||
|
||||
Воспользуйтесь поиском и найдите примеры тестов которые есть на этом форуме. Вот отличный пример от lmikle
P.S.: это вообще для чего? Цитата:
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#3
|
||||
|
||||
Оффтоп:
Цитата:
Ошибка наверное здесь Код:
... procedure TForm1.Button1Click(Sender: TObject); begin if radiogroup1.ItemIndex=strtoint(s6) then c:=c+1; ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |