Informatik Material Portal Portfolio Präsentation Grafik Tabellenkalkulation Informatik56 9 10 11 12 13 Messen, Steuern, Regeln Linux Theorie Didaktik Open Source Spiele Wettbewerbe Netzbetreuung intern Literatur Links Energie corewar UNIX/Linux
Pfad: Startseite / Fächer / Informatik
Autor: be
21.09.2005 10:47
405

Drucker-Wartung Lösung

Der selbe Code (hier im Quelltext blau hervorgehoben) wiederholt sich allen vier Ereignisprozeduren onClick.

unit mDruckerwartung;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    btTestSchwarz: TButton;
    Image1: TImage;
    btTestCyan: TButton;
    btTestGelb: TButton;
    btTestMagenta: TButton;
    procedure btTestSchwarzClick(Sender: TObject);
    procedure btTestCyanClick(Sender: TObject);
    procedure btTestGelbClick(Sender: TObject);
    procedure btTestMagentaClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
end;

procedure TForm1.btTestSchwarzClick(Sender: TObject);
var i,j, x,y: Integer;
begin
  Image1.Canvas.Brush.Color := clBlack;
  Image1.Canvas.Pen.Color := clBlack;
  y := 60;
  for i:=1 to 5 do
  begin
    x := 20;
    for j:=1 to 15 do
    begin
      Image1.Canvas.Rectangle(x,y,x+5,y+3);
      Inc(x,10);
      Dec(y,2)
    end;
    Inc(y,60);
  end;
end;

procedure TForm1.btTestCyanClick(Sender: TObject);
var i,j, x,y: Integer;
begin
  Image1.Canvas.Brush.Color := clBlue;
  Image1.Canvas.Pen.Color := clBlue;
  y := 60;
  for i:=1 to 5 do
  begin
    x := 20;
    for j:=1 to 15 do
    begin
      Image1.Canvas.Rectangle(x,y,x+5,y+3);
      Inc(x,10);
      Dec(y,2)
    end;
    Inc(y,60);
  end;
end;

procedure TForm1.btTestGelbClick(Sender: TObject);
var i,j, x,y: Integer;
begin
  Image1.Canvas.Brush.Color := clYellow;
  Image1.Canvas.Pen.Color := clYellow;
  y := 60;
  for i:=1 to 5 do
  begin
    x := 20;
    for j:=1 to 15 do
    begin
      Image1.Canvas.Rectangle(x,y,x+5,y+3);
      Inc(x,10);
      Dec(y,2)
    end;
    Inc(y,60);
  end;
end;

procedure TForm1.btTestMagentaClick(Sender: TObject);
var i,j, x,y: Integer;
begin
  Image1.Canvas.Brush.Color := clRed;
  Image1.Canvas.Pen.Color := clRed;
  y := 60;
  for i:=1 to 5 do
  begin
    x := 20;
    for j:=1 to 15 do
    begin
      Image1.Canvas.Rectangle(x,y,x+5,y+3);
      Inc(x,10);
      Dec(y,2)
    end;
    Inc(y,60);
  end;
end;

end.