AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Steganographie

Ein Thema von schokoschnecke · begonnen am 11. Feb 2011 · letzter Beitrag vom 12. Feb 2011
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Steganographie

  Alt 12. Feb 2011, 08:10
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)

Geändert von Sir Rufo (12. Feb 2011 um 08:26 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz