Книга программиста/Графика в PascalABC.Net

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску

К оглавлению | Назад | Вперёд

Все программы, код которых выложен здесь, являются работоспособными. На момент написания программ использовалась среда PascalABC.Net 3.0.

Броуновское движение[править]

uses ABCObjects, GraphABC;
begin
  var W := Window.Width;
  var H := Window.Height;
  
  for var i := 0 to 100 do
  begin
    var c := clRandom();
    new CircleABC(Random(W), Random(H), 10 + Random(10), ARGB(100, c.R, c.G, c.B));
  end;
  
  while true do
    for var i := 0 to Objects.Count - 1 do
      Objects[i].MoveOn(Random(3) - 1, Random(3) - 1);
end.

Простой таймер[править]

uses Timers, GraphABC, ABCObjects, ABCButtons;
const
  H = 30;

var
  Start, Stop: ButtonABC;
  Value: RectangleABC;
  T: integer;
  Timer1: Timer;

procedure AddTime();
begin
  Inc(T);
  Value.Text := IntToStr(T);
end;

procedure StartTimer() := Timer1.Start();

procedure StopTimer() := Timer1.Stop();

begin
  SetWindowIsFixedSize(true);
  SetWindowSize(300, 100);
  SetWindowCaption('Timer');
  CenterWindow();
  
  var W := Window.Width div 2;
  var Y := Window.Height - H;
  
  Timer1 := new Timer(1000, AddTime);
  
  Start := new ButtonABC(0, Y, W, H, 'Start', clMoneyGreen);
  Start.OnClick := StartTimer;
  Stop := new ButtonABC(W, Y, W, H, 'Stop', clMoneyGreen);
  Stop.OnClick := StopTimer;
  
  Value := new RectangleABC(0, 0, Window.Width, Y, clWhite);
  Value.Text := '0';
end.

Краткое описание модуля ABCButtons