AGB  ·  Datenschutz  ·  Impressum  







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

Memofeld in Ord Werte übertragen

Ein Thema von EMS · begonnen am 28. Dez 2012 · letzter Beitrag vom 4. Jan 2013
Antwort Antwort
Seite 1 von 2  1 2      
EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#1

Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 19:28
Delphi-Version: 5
Hallo
Ich habe ein Memofeld und möchte hier nun gerne einen Text rein schreiben können der dann
in die Zahlen werte mit dem ord Befehl erzeugt wird.
Wie mache ich das am besten?
Mit einem Einzelnen Wert aus einem Editfeld bekomme ich es hin aber nicht aus einem Memo feld?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 19:40
da ich nicht weiß was Du vorhast, vielleicht ist hierin das enthalten was Du suchst ...

Delphi-Quellcode:
type
 //TByteArray=Array of Byte; // nur für AnsiStrings
 TByteArray=Array of Word;
Var
 i:Integer;
 ba:TByteArray;
begin
  SetLength(ba,Length(Memo1.Text));
  for I := 1 to Length(memo1.Text) do
      begin
        ba[i-1] := Ord(memo1.Text[i]);
        ListBox1.Items.Add(IntToStr(ba[i-1]));
      end;

end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (28. Dez 2012 um 19:46 Uhr)
  Mit Zitat antworten Zitat
EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#3

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 19:48
mhh ich möchte so ein Programm bauen zum Text in Bilder verstecken...
So wie sich unsere Lehrer das vorstellt mit den Befehlen die wir kennen.
Dieses ListBox1.Items.Add kenne ich nicht bzw hatten wir nicht

Dazu hole ich mir nun bmp bilder und lass die durchlaufen und speicher jedes Pixel als Integer in einer Datei ab.
Diese Datei kann ich nun auch wieder öffnen und damit das Bild wiederherstellen.
Nun möchte ich gerne diesen Text der zu verstecken ist in einem Memofeld eingeben.
Hier soll dann jedes Zeichen in die ASCII Zahl gewandelt werden. Diese möchte ich dann einfach zu dem Pixel 1,2,3,4,5 in der Ersten Zeile dazu Addieren.
Dann hab ich das schon einmal versteckt.
Zum auslesen sag ich dann das die Ursprungsdatei mit der manipolierten vergleicht werden soll und dann der differenz betrag errechnet werden soll und diese Zahl soll dann als ASCII Zeichen wiedergeben werden und dann wieder in meinem Memofeld stehen.

  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 20:45
Nachdem bei "echter Steganographie" eine sichtbare Änderung der Datei möglichst unterbleiben soll und Du auf Bitebene arbeiten müsstest, vermutet ich dass Du eher das was Du in http://www.delphipraxis.net/172362-p...ml#post1196991 angefangen hast mit einem Memo fortführen möchtest. Der einzige Unterschied ist eigentlich dass Du nicht jedes mal ein Byte aus einer Datei liest, sondern Dir einen "Ord-Wert" nach dem anderen aus dem Text des Memos holst, also irgendetwas in der Art:

Delphi-Quellcode:
Function GetFarbeFromString(const s:String;Position:Integer):TColor;
begin
  if length(s)<=Position then
    Result := Ord(s[Position])
  else
    Result := clBlack;
end;

procedure TForm1.Button1Click(Sender: TObject);
Var
  index1,index2,x:Integer;
  Farbe:TColor;
  s:AnsiString;
begin
  x := 1;
  s := Memo1.Lines.Text;
  For index1:=1 to 300 do
  begin
    for index2:=1 to 300 do
    begin
      farbe := GetFarbeFromString(s,x);
      inc(x);
      image2.canvas.pixels[index1,index2]:=farbe;
    end;
  end;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#5

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 20:56
mhh ich verstehe nicht ganz was dein text da macht?
auch das mit dem ord bekomme ich nicht mehr hin was es mit den Klammern auf sich hat?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 21:24
Anhand von Beispielen?

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
Var
 i:Integer;
begin
  // Memo ist das Control in dem der Text dargestellt wird
  // Lines "sind die einzelnen Zeilen"
  for I := 0 to Memo1.Lines.Count - 1 do
      ShowMessage(Memo1.Lines[i]);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
   // Memo1.Lines.Text ist der genze Inhalt des Memos
   ShowMessage(Memo1.Lines.Text)
end;

procedure TForm1.Button4Click(Sender: TObject);
Const
 s:String='Nase';
var
 i:Integer;
begin
  for I := 1 to Length(s) do
     Showmessage(s[i]);
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#7

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 21:31
Das hab ich verstanden aber was macht das ord?und wie wird das benutzt?kannst du deinen ersten Post kommentieren?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 21:53
Ord('A') >> 65, liefert die die Position des Zeichens in der Zeichtabelle zurück, die Umkehrfunktion ist Char(65) >> 'A'

lies mal hier nach: http://www.delphi-treff.de/object-pascal/datentypen/
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#9

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 21:56
Ja das weiß ich ja so aber mit mehreren geht das ja nicht hin bzw noch nicht mal ein Wert aus dem Memo in den Zahlen Wert dann
  Mit Zitat antworten Zitat
delnu
(Gast)

n/a Beiträge
 
#10

AW: Memofeld in Ord Werte übertragen

  Alt 28. Dez 2012, 22:37
Die Beispiele sind doch eigentlich gut verständlich. Die Liste des Memo wird einfach Eintrag für Eintrag durchgearbeitet. Dabei entspricht jede Zeile quasi dem, was Du sonst im TEdit hast.

Aber mal zur Zielsetzung : Im Entwickler-Magazin 4 von 2002 gab es mal ein Beispiel zur Steganographie. Ich hatte das irgendwann mal von deren Internetseite runtergeladen. Als ich gerade geguckt habe, wie das heutzutage mit Quelltexten aussieht, habe ich allerdings nichts mehr gefunden.

Ich habe es mal als ZIP-Datei hochgeladen. Das müßten die Originale sein. Auf der Basis läßt sich sicher was machen. Mich hatte das zwar auch eine Weile beschäftigt, aber man müßte an der Programmstruktur einiges machen, um das alles etwas mehr zu automatisieren und Fehler besser abzufangen. Das war mir aber die Mühe nicht wert, denn wozu sollte ich Daten verbergen ?

Ach je ! Nachdem ich mir die Problemstellung gerade nochmal durchsah, habe ich erst bemerkt, daß es um eine Aufgabe mit Vorgaben handelt. Da dürfte Dir das Zeug nicht viel helfen. Ich habe mal kurz in die Quellen gesehen. Das verstehe ich selbst nicht, obwohl ich schon ziemlich lange mit Delphi programmiere - vorher Turbo Pascal ab Version 3 und Assembler.
Angehängte Dateien
Dateityp: zip 2002_04.ZIP (589,3 KB, 5x aufgerufen)

Geändert von delnu (28. Dez 2012 um 22:44 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz