Sie sind auf Seite 1von 7

unit Unit1;

interface

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

type
Tfrmrz = class(TForm)
imgtampil: TImage;
btexit: TButton;
btrz: TButton;
datarz: TEdit;
Label1: TLabel;
btup: TButton;
Panel1: TPanel;
Panel2: TPanel;
eda: TEdit;
Label2: TLabel;
Label4: TLabel;
btnrzl: TButton;
btami: TButton;
btdmanc: TButton;
bthdb3: TButton;
Panel3: TPanel;
procedure btrzClick(Sender: TObject);
procedure btexitClick(Sender: TObject);
procedure btupClick(Sender: TObject);
procedure btnrzlClick(Sender: TObject);
procedure btamiClick(Sender: TObject);
procedure btdmancClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
frmrz: Tfrmrz;
c,x,y,z:integer;
data:string;

implementation

{$R *.dfm}
procedure amp;
begin
y:=StrToInt(frmrz.eda.Text);
z:=25*y;

end;

procedure sumbu;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clblack;
frmrz.imgtampil.Canvas.Moveto(40+x,150);
frmrz.imgtampil.Canvas.LineTo(100+x,150);
frmrz.imgtampil.Canvas.MoveTo(30,20);
frmrz.imgtampil.Canvas.LineTo(30,280);
frmrz.imgtampil.Canvas.MoveTo(30,150);
frmrz.imgtampil.Canvas.LineTo(40,150);
data:=frmrz.datarz.Text;
frmrz.imgtampil.Canvas.TextOut(10,150,'0 V');
frmrz.imgtampil.Canvas.TextOut(10,125,'1 V');
frmrz.imgtampil.Canvas.TextOut(10,100,'2 V');
frmrz.imgtampil.Canvas.TextOut(10,75,'3 V');
frmrz.imgtampil.Canvas.TextOut(10,50,'4 V');
frmrz.imgtampil.Canvas.TextOut(10,175,'-1 V');
frmrz.imgtampil.Canvas.TextOut(10,200,'-2 V');
frmrz.imgtampil.Canvas.TextOut(10,225,'-3 V');
frmrz.imgtampil.Canvas.TextOut(10,250,'-4 V');
end;

procedure up1;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150-z);
frmrz.imgtampil.Canvas.LineTo(70+x,150-z);
frmrz.imgtampil.Canvas.TextOut(55+x,20,'1');
end;

procedure up0;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(70+x,150);
frmrz.imgtampil.Canvas.TextOut(55+x,20,'0');
end;

procedure uptegak;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,150-z);
end;

procedure nrzl0;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150+z);
frmrz.imgtampil.Canvas.LineTo(70+x,150+z);
frmrz.imgtampil.Canvas.TextOut(55+x,20,'0');
end;

procedure nrzltegak;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150+z);
frmrz.imgtampil.Canvas.LineTo(40+x,150-z);

end;

procedure rz1;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,150-z);
frmrz.imgtampil.Canvas.LineTo(55+x,150-z);
frmrz.imgtampil.Canvas.LineTo(55+x,150);
frmrz.imgtampil.Canvas.LineTo(70+x,150);
frmrz.imgtampil.Canvas.TextOut(55+x,20,'1');
end;

procedure rz0;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,150+z);
frmrz.imgtampil.Canvas.LineTo(55+x,150+z);
frmrz.imgtampil.Canvas.LineTo(55+x,150);
frmrz.imgtampil.Canvas.LineTo(70+x,150);
frmrz.imgtampil.Canvas.TextOut(55+x,20,'0');
end;

procedure amigenap;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,150-z);
frmrz.imgtampil.Canvas.LineTo(70+x,150-z);
frmrz.imgtampil.Canvas.LineTo(70+x,150);
frmrz.imgtampil.Canvas.TextOut(55+x,20,'1');
end;

procedure amiganjil;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,150+z);
frmrz.imgtampil.Canvas.LineTo(70+x,150+z);
frmrz.imgtampil.Canvas.LineTo(70+x,150);
frmrz.imgtampil.Canvas.TextOut(55+x,20,'1');
end;

Procedure mctr0;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(55+x,150);
frmrz.imgtampil.Canvas.LineTo(55+x,150-z);
frmrz.imgtampil.Canvas.LineTo(70+x,150-z);
end;

Procedure mctr1;
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150-z);
frmrz.imgtampil.Canvas.LineTo(55+x,150-z);
frmrz.imgtampil.Canvas.LineTo(55+x,150);
frmrz.imgtampil.Canvas.LineTo(70+x,150);
end;

procedure reset;
begin
frmrz.imgtampil.Picture:=nil;
frmrz.imgtampil.Refresh;
end;

procedure Tfrmrz.btrzClick(Sender: TObject);


var
i:integer;
begin
reset;
amp;
for i:=1 to 20 do
begin
sumbu;
if data[i]='1' then
begin
rz1;
end
else
if data[i]='0' then
begin
rz0;
end;
x:=x+30;
end;
x:=0;

end;

procedure Tfrmrz.btexitClick(Sender: TObject);


begin
application.Terminate;
end;

procedure Tfrmrz.btupClick(Sender: TObject);


var
a,b:integer;
begin
reset;
amp;
sumbu;
if data[1]='1' then
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40,150);
frmrz.imgtampil.Canvas.LineTo(40,150-z);
end;
for a:=1 to 20 do
begin
b:=a+1;
sumbu;
if data[a]='1' then
begin
up1;
end
else
if data[a]='0' then
begin
up0;
end;
x:=x+30;
if data[a]<>'' then
begin
if data[a]<>data[b] then
begin
uptegak;
end;
end;
end;
x:=0;

end;

procedure Tfrmrz.btnrzlClick(Sender: TObject);


var
a,b:integer;
begin
reset;
amp;
sumbu;
if data[1]='1' then
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40,150);
frmrz.imgtampil.Canvas.LineTo(40,150-z);
end
else
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40,150);
frmrz.imgtampil.Canvas.LineTo(40,150+z);
end;
for a:=1 to 20 do
begin
b:=a+1;
sumbu;
if data[a]='1' then
begin
up1;
end
else
if data[a]='0' then
begin
nrzl0;
end;
x:=x+30;
if data[a]<>'' then
begin
if data[a]<>data[b] then
begin
nrzltegak;
end;
end;
end;
x:=0;

end;
procedure Tfrmrz.btamiClick(Sender: TObject);
var
a,d:integer;
begin
reset;
amp;
d:=0;
for a:=1 to 20 do
begin
sumbu;
if data[a]='1' then
begin
if d mod 2=0 then
begin
amigenap;
end
else
begin
amiganjil;
end;
d:=d+1;
end
else
if data[a]='0' then
begin
up0;
end;
x:=x+30;

end;
x:=0;

end;

procedure Tfrmrz.btdmancClick(Sender: TObject);


var
a,b:integer;
begin
reset;
amp;
b:=0;
for a:=1 to 20 do
begin
sumbu;
if data[a]='1' then
begin
b:=b+1;
frmrz.imgtampil.Canvas.TextOut(55+x,20,'1');
end
else
begin
frmrz.imgtampil.Canvas.Pen.Color:=clred;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,150-z);
frmrz.imgtampil.Canvas.TextOut(55+x,20,'0');
end;
if b mod 2=0 then
begin
mctr0;
end
else
begin
mctr1;
end;
x:=x+30;
end;
x:=0;

end;

end.

Das könnte Ihnen auch gefallen