Vor allem solltest du den Quelltext formatieren.
Schau mal welche Variante du besser und schneller erfassen kannst.
Mit dem eigenen Code geht das dann auch viel besser.
Variante a
Delphi-Quellcode:
procedure machwas;
begin
for idx:=0 to 100 do
begin
ShowMessage(IntToStr(idx));
if idx>50 then ShowMessage('Toll') else ShowMessage('nee');
end;
ShowMessage(IntToStr(idx));
end;
Variante b
Delphi-Quellcode:
procedure MachWas;
begin
for idx := 0 to 100
do
begin
ShowMessage( IntToStr( idx ) );
if idx > 50
then
ShowMessage( 'Toll' )
else
ShowMessage( 'ja' );
end;
ShowMessage( IntToStr( idx ) );
end;
Und wenn der Formatierer es unterstützen würde, würde ich es auch gerne so haben wollen
Delphi-Quellcode:
procedure MachWas;
begin
for
idx := 0 to 100
do
begin
ShowMessage( IntToStr( idx ) );
if
idx > 50
then
ShowMessage( 'Toll' )
else
ShowMessage( 'ja' );
end;
ShowMessage( IntToStr( idx ) );
end;
EDIT: ich habe deinen Quelltext mal durch den Delphi-Formatter gejagt und stelle jetzt sofort fest, dass auf jeden Fall das da am Schluss noch ein
end;
fehlt
Delphi-Quellcode:
procedure TForm1.Button6Click( Sender : TObject );
var
x, y, laenge, letter : integer;
r, g, b : byte;
color : longint;
begin
laenge := length( memo2.Text );
letter := 1;
for y := 1
to 100
do
begin
for x := 1
to 100
do
begin
color := colortorgb( image1.Canvas.Pixels[x, y] );
r := getRValue( color );
g := getGValue( color );
b := getBValue( color );
if ( r
mod 2 ) <> ( strtoint( memo2.lines.Text[letter] ) )
then
begin
if r
mod 2 = 1
then
r := r - 1
else
r := r + 1;
end;
if letter = laenge
then
begin
image1.Canvas.Pixels[x, y] :=
RGB( r, g, b );
exit;
end;
letter := letter + 1;
if ( g
mod 2 ) <> ( strtoint( memo2.Text[letter] ) )
then
begin
if g
mod 2 = 1
then
g := g - 1
else
g := g + 1;
end;
if letter = laenge
then
begin
image1.Canvas.Pixels[x, y] :=
RGB( r, g, b );
exit;
end;
letter := letter + 1;
if ( b
mod 2 ) <> ( strtoint( memo2.Text[letter] ) )
then
begin
if b
mod 2 = 1
then
b := b - 1
else
b := b + 1;
end;
if letter = laenge
then
begin
image1.Canvas.Pixels[x, y] :=
RGB( r, g, b );
exit;
end;
letter := letter + 1;
image1.Canvas.Pixels[x, y] :=
RGB( r, g, b );
end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)