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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.03.2018, 07:58
KillZoid KillZoid вне форума
Прохожий
 
Регистрация: 27.03.2018
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
Восклицание Ошибка

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.
Вложения
Тип файла: rar pr.rar (176.8 Кбайт, 2 просмотров)
Ответить с цитированием
  #2  
Старый 29.03.2018, 01:06
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Воспользуйтесь поиском и найдите примеры тестов которые есть на этом форуме. Вот отличный пример от lmikle

P.S.: это вообще для чего?
Цитата:
Сообщение от KillZoid
procedure TForm1.FormCreate(Sender: TObject);
begin
For i:=1 to 100000000 do
for j:=1 to 25 do;
...
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #3  
Старый 29.03.2018, 20:09
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп:
Цитата:
Сообщение от Kailon
...P.S.: это вообще для чего?
Видимо, для задержки показа формы, нерационально поскольку на слабой машинке будет работать, а на мощном агрегате пролетит за доли секунды, вдобавок, вероятно намертво должно вешать приложение, другими средствами задержка делается

Ошибка наверное здесь
Код:
...
procedure TForm1.Button1Click(Sender: TObject);
begin
if radiogroup1.ItemIndex=strtoint(s6) then
c:=c+1;
...
нефакт, что в строковой переменной s6 лежит integer, могут быть и буквы
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter