uses ExtCtrls, ComCtrls
private
{ Private-Deklarationen }
art:integer;
verschiebung:array[0..5] of integer;
const dotstellen = 5;
//
procedure TForm1.PaintBox1Paint(Sender: TObject);
var bitmap:tbitmap;
b,h,b9,h5,i,j,n,m,p,q:integer;
ziel:tcanvas;
k:string;
x,y,y2,x2,nr:integer;
stellen:array[0..5] of record a,b:integer end;
dotiert:boolean;
nleitung:array[0..9,0..5] of integer;
begin
stellen[0].a:=2;
stellen[0].b:=2;
stellen[1].a:=4;
stellen[1].b:=3;
stellen[2].a:=3;
stellen[2].b:=4;
stellen[3].a:=7;
stellen[3].b:=3;
stellen[4].a:=7;
stellen[4].b:=1;
stellen[5].a:=3;
stellen[5].b:=1;
bitmap:=tbitmap.create;
bitmap.width:=PaintBox1.width;
bitmap.height:=PaintBox1.height;
b:=bitmap.width;
h:=bitmap.height;
ziel:=bitmap.canvas;
ziel.font.name:='Verdana';
ziel.font.style:=[fsbold];
ziel.font.size:=48;
// Spannung
if UpDown1.position>0 then
begin
ziel.font.color:=clred;
ziel.brush.color:=clred;
ziel.rectangle(0,2,24,h-2);
ziel.brush.style:=bsclear;
ziel.textout(36,8,'-');
ziel.brush.color:=clblue;
ziel.font.color:=clblue;
ziel.rectangle(b-24,2,b,h-2);
ziel.brush.style:=bsclear;
ziel.textout(b-88,8,'+');
end;
ziel.font.size:=12;
ziel.font.color:=clblack;
b9:=b div 9;
h5:=h div 5;
for i:=1 to 8 do
for j:=1 to 4 do
begin
dotiert:=false;
for n:=0 to dotstellen do
if (stellen[n].a=i) and (stellen[n].b=j) then dotiert:=true;
if dotiert then
case art of
0 : begin
k:='Si';
ziel.brush.color:=cllime;
end;
-1 : begin
k:='B';
ziel.brush.color:=claqua;
end;
1 : begin
k:='P';
ziel.brush.color:=clfuchsia;
end;
end
else
begin
k:='Si';
ziel.brush.color:=cllime;
end;
ziel.ellipse(i*b9-20,j*h5-20,i*b9+21,j*h5+21);
ziel.textout(i*b9-ziel.textwidth(k) div 2,j*h5-ziel.textheight(k) div 2,k);
end;
ziel.font.size:=10;
for i:=1 to 8 do
for j:=1 to 4 do
begin
ziel.brush.color:=clred;
dotiert:=false;
for n:=0 to dotstellen do
if (stellen[n].a=i) and (stellen[n].b=j) then
begin
m:=n;
dotiert:=true;
end;
x:=i*b9-40+random(6);
y:=j*h5+random(6);
ziel.ellipse(x-6,y-6,x+7,y+7);
x:=i*b9+40+random(6);
y:=j*h5+random(6);
ziel.ellipse(x-6,y-6,x+7,y+7);
x:=i*b9+random(6);
y:=j*h5+40+random(6);
ziel.ellipse(x-6,y-6,x+7,y+7);
if dotiert and (art=-1) and (updown1.position=0) then
begin
ziel.brush.color:=clwhite;
x:=i*b9;
y:=j*h5-40;
ziel.ellipse(x-11,y-11,x+12,y+12);
ziel.textout(x-ziel.textwidth('+') div 2,y-ziel.textheight('+') div 2,'+');
end
else
begin
if (updown1.position=0) or (art<>-1)
then
begin
ziel.brush.color:=clred;
x:=i*b9+random(6);
y:=j*h5-40+random(6);
ziel.ellipse(x-6,y-6,x+7,y+7);
end
end;
if dotiert and (art=1) then
begin
ziel.brush.color:=clfuchsia;
if updown1.position>0 then x:=i*b9+28+random(6)+verschiebung[m]
else x:=i*b9+28+random(6);
y:=j*h5+28+random(6);
ziel.ellipse(x-6,y-6,x+7,y+7);
if updown1.position>0 then
begin
ziel.brush.style:=bsclear;
x:=i*b9+28;
y2:=j*h5+28;
ziel.ellipse(x-11,y2-11,x+12,y2+12);
ziel.textout(x-ziel.textwidth('+') div 2,y2-ziel.textheight('+') div 2,'+');
ziel.brush.color:=clfuchsia;
x2:=verschiebung[m]-m*b9 div 2;
if x2<i*b9+28 then
x:=x2+random(6)
else
x:=i*b9+28+random(6);//+verschiebung[m]-pb1.width;
ziel.ellipse(x-6,y-6,x+7,y+7);
if verschiebung[m]>PaintBox1.width then verschiebung[m]:=0;
end;
end
end;
if (updown1.position>0) and (art=-1)
then
begin
for i:=0 to 9 do
for j:=0 to 5 do nleitung[i,j]:=0;
for n:=0 to dotstellen do
begin
nr:=(verschiebung[n] div b9)+1;
p:=stellen[n].a;
q:=stellen[n].b;
while p-nr<0 do p:=p+9;
nleitung[p-nr,q]:=n+1;
nleitung[p-nr+1,q]:=-1;
// if verschiebung[n]>pb1.width then verschiebung[n]:=0;
end;
for i:=0 to 9 do
begin
for j:=1 to 4 do
begin
if (i<>0) and (i<>9) and (nleitung[i,j]=-1) then
begin
ziel.brush.style:=bsclear;
x:=i*b9;
y:=j*h5-40;
ziel.ellipse(x-11,y-11,x+12,y+12);
ziel.textout(x-ziel.textwidth('+') div 2,y-ziel.textheight('+') div 2,'+');
// ziel.ellipse(x-6,y-6,x+7,y+7);
end;
if nleitung[i,j]>0 then
begin
ziel.brush.color:=clwhite;
x:=i*b9;
y:=j*h5-40;
if (i<>0) and (i<>9) then
begin
ziel.ellipse(x-11,y-11,x+12,y+12);
ziel.textout(x-ziel.textwidth('+') div 2,y-ziel.textheight('+') div 2,'+');
// ziel.ellipse(x-6,y-6,x+7,y+7);
end;
x:=i*b9+random(6)+(verschiebung[nleitung[i,j]-1] mod b9);
y:=j*h5-40+random(6);
ziel.brush.color:=clred;
ziel.ellipse(x-6,y-6,x+7,y+7);
end;
if (i<>0) and (i<>9) and (nleitung[i,j]=0) then
begin
ziel.brush.color:=clred;
x:=i*b9+random(6);
y:=j*h5-40+random(6);
ziel.ellipse(x-6,y-6,x+7,y+7);
end
end;
end;
end;
// ziel.textout(200,16,inttostr(vnummer[1]));
PaintBox1.canvas.draw(0,0,bitmap);
bitmap.free;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
if (art=1) and (updown1.position>0) then
for i:=0 to dotstellen do
begin
inc(verschiebung[i],updown1.position);
end;
if (art=-1) and (updown1.position>0) then
for i:=0 to dotstellen do
begin
inc(verschiebung[i],updown1.position);
end;
PaintBox1Paint(sender);
end;
// Silizium-Gitter
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
art:=0;
for i:=0 to dotstellen do begin
verschiebung[i]:=0;
end;
PaintBox1paint(sender);
end;
// B-3-Dotieren
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
art:=-1;
for i:=0 to dotstellen do begin
verschiebung[i]:=0;
end;
PaintBox1paint(sender);
end;
// P-5-Dotieren
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
art:=1;
for i:=0 to dotstellen do begin
verschiebung[i]:=0;
end;
PaintBox1paint(sender);
end;

Calculate Semiconductor
Abonnieren
Posts (Atom)
Beliebte Posts
-
Windows Key Sniffer 0.82 - Update 08/2024 Der Windows Key Sniffer hat mir im Laufe der Zeit viel Arbeit erspart und unterstützt, viele Wi...
-
Network Source Code Update Source Code Network Update : https://asciigen.blogspot.com/p/network.html Send Message 1.0 Source Server Client ...
-
Windows Defender Bypass Version 0.75 - Update 11/2024 Den Windows 10-eigenen Virenschutz Defender kann man auf mehreren Wegen abschalt...
-
ASCii GIF Animator Update Version 0.68 (32 bit) - 11/2024 Bei dieser überarbeiteten Version ist die Kompatibilität zu den verschiedenen...
-
MD5 Hacker v.0.26 - Update 08.2024 MD5 Hashs sollten eigentlich nicht entschlüsselt werden können. Jedoch gibt es Tools, mit welchen auch ...
-
Dir Sniffer Version 0.11 - Update 02/2025 Dir Sniffer ist ein kleines aber nützliches Tool um herauszufinden, was ihr Programm auf ihrem...
-
Host Editor Version 0.65 - Update 01/2025 Hosts File Editor allows for the easy editing of host files and backup creation. Create your ...
-
Oldskool Font Generator v.0.29 - Update 11/2023 Das Tool stell 508 Bitmap Fonts zu Verfügung. Eigene Fonts können integriert werden, sie...
-
Hard Crypter 0.19 - Update 12/2023 Mit diesem Tool können Sie jede beliebige Datei auf dem Windows-System verschlüsseln. Die Byte-Erse...
Keine Kommentare:
Kommentar veröffentlichen