![]() |
Delphi-Version: 5
Memofeld in Ord Werte übertragen
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? |
AW: Memofeld in Ord Werte übertragen
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; |
AW: Memofeld in Ord Werte übertragen
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. :-D |
AW: Memofeld in Ord Werte übertragen
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
![]()
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; |
AW: Memofeld in Ord Werte übertragen
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? |
AW: Memofeld in Ord Werte übertragen
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; |
AW: Memofeld in Ord Werte übertragen
Das hab ich verstanden aber was macht das ord?und wie wird das benutzt?kannst du deinen ersten Post kommentieren?
|
AW: Memofeld in Ord Werte übertragen
Ord('A') >> 65, liefert die die Position des Zeichens in der Zeichtabelle zurück, die Umkehrfunktion ist Char(65) >> 'A'
lies mal hier nach: ![]() |
AW: Memofeld in Ord Werte übertragen
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
|
AW: Memofeld in Ord Werte übertragen
Liste der Anhänge anzeigen (Anzahl: 1)
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:39 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