Пять пронумерованных кругов, загораются и гаснут в соотвествии с числом в файле

На форме имеются пять пронумерованных кругов разного цвета. Во внешнем файле записаны целые числа от 1 до 5.При нажатии на кнопку пуск происходит считывание чисел из файла и круги загораются и тут же гаснут в соотвествии с числом,указанном в файле

помогите пожалуйста.

Чем помочь то?

На чём делаешь проект? Что уже сделано, что не получается?

написать программу.Проект делается в lazarus

То есть самостоятельно вы не ничего делать даже не пытались?? Как можно помочь человеку если он не задает никаких вопросов?

у меня есть код от этой программы.У меня такая же тема. Как она нормальная?

type krug=record   //круг
          nm:integer;//номер
          x:integer; //абцисса центра
          cp:TColor; //цвет  пера
          cb:TColor;//цвет  кисти
          end;
const n=5;
      cl:array[1..n] of TColor=(clPurple,clBlue,clGreen,clAqua,clLime);
var
  Form1: TForm1;
  f:TextFile;//файл с числами
  kr:array[1..n] of krug;//массив кругов
  r,y:integer;//радиус и ордината центра кругов
  a:integer;//считываемые числа
implementation
 
{$R *.lfm}
 
 
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
r:=40;
y:=2*r;
for i:=1 to n do
with kr[i] do
 begin
  nm:=i;
  x:=(3*i-1)*r;
  cp:=cl[i];
  cb:=clBtnFace;
 end;
clientwidth:=16*r;
position:=poScreenCenter;
Timer1.Enabled:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
assignfile(f,'chisla.txt');//файл в папке с программой
reset(f);
Timer1.Enabled:=true;
Timer1.Interval:=1000;
end;
 
procedure TForm1.FormPaint(Sender: TObject);
var i:integer;
begin
for i:=1 to n do
with Canvas do
 begin
  pen.Width:=3;
  font.Style:=[fsBold];
  font.Size:=12;
  font.Color:=clRed;
  pen.Color:=kr[i].cp;
  brush.Color:=kr[i].cb;
  ellipse(kr[i].x-r,y-r,kr[i].x+r,y+r);
  textout(kr[i].x-8,y-10,inttostr(i));
 end;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
read(f,a);
kr[a].cb:=kr[a].cp;
repaint;
sleep(500);
Application.ProcessMessages;
kr[a].cb:=clBtnFace;
if eof(f) then
 begin
  closefile(f);
  Timer1.Enabled:=false;
  end;
repaint;
end;

Сойдет, только препод наверно удивится, что все сдадут один и тот же код Puporev’а ))

Oleg вы хоть коллективный положительный лайк Puporev-ву в качестве благодарности поставте ))

лайк на месте.Не переживайте)

1 лайк