Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Aus ASCII-Codes strings machen? (https://www.delphipraxis.net/38746-aus-ascii-codes-strings-machen.html)

malo 23. Jan 2005 17:17


Aus ASCII-Codes strings machen?
 
Und zwar hab will ich mir ein kleines Verschlüsselungsprogramm schreiben, das mir aus einem String die ASCII-Codes rausholt (die werden dann auch noch weiter verarbeitet, tut jedoch nicht zur Sache). Mein Problem liegt jetzt im entschlüsseln. Ein verschlüsselter Text sieht so aus, dass ich für jedes Zeichen den ASCII-Code habe und jeden ASCII-Code durch ein Leerzeichen trenne. Nur irgendwie krieg ich das nicht wieder entschlüsselt :wall:

Hat jemand ne Idee, wie man das machen könnte?

Sharky 23. Jan 2005 17:19

Re: Aus ASCII-Codes strings machen?
 
Zitat:

Zitat von malo
...Hat jemand ne Idee, wie man das machen könnte?

Guckst Du Delphi-Referenz durchsuchenChr

malo 23. Jan 2005 17:23

Re: Aus ASCII-Codes strings machen?
 
Zitat:

Zitat von Sharky
Zitat:

Zitat von malo
...Hat jemand ne Idee, wie man das machen könnte?

Guckst Du Delphi-Referenz durchsuchenChr

Ja, das ist mir schon klar. Aber das Problem ist, dass ich ja jeden ASCII-Code durch ein Leerzeichen trenne. Ich müsste also irgendwie die Leerzeichen rausfischen und gleichzeitig den ASCII-Code übersetzen...

Trotzdem hab ich mir auch schon gedacht, die selbe Prozedur, wie beim Verschlüsseln einfach umzudrehen zum entschlüsseln. Also jedes Zeichen durchgehen und umformen ABER:

1. Die Leerzeichen :wall:
2. Wenn die Leerzeichen weg sind, hab ich einen ewig langen Integer-Wert, den es gar nicht als ASCII-Code gibt.
3. Haben ja die meisten ASCII-Codes mehr als ein Zeichen.


Und da kommen mir halt Probleme auf :wall:

Sharky 23. Jan 2005 17:26

Re: Aus ASCII-Codes strings machen?
 
Naja, Du musst doch nur deinen String mit den ASCII-Codes durchlaufen und immer die Zeichen bis zum nächsten Leerzeichen (blank) nehmen, diese in einen Integer umwandeln und dann mit CHR in das entsprechende Zeichen.

malo 23. Jan 2005 17:28

Re: Aus ASCII-Codes strings machen?
 
Zitat:

Zitat von Sharky
...immer die Zeichen bis zum nächsten Leerzeichen (blank) nehmen...

Aha. Wenn ich jetzt noch wüsste, wie das geht, wär das Problem schon so gut wie gelöst :)

Sharky 23. Jan 2005 17:32

Re: Aus ASCII-Codes strings machen?
 
Zitat:

Zitat von malo
...Aha. Wenn ich jetzt noch wüsste, wie das geht, wär das Problem schon so gut wie gelöst :)

Schaue Dir mal die Eigenschaften DelimitedText und Delimiter einer TStringList an.

malo 23. Jan 2005 18:00

Re: Aus ASCII-Codes strings machen?
 
So, ich hab mal etwas in der Hilfe herumgewühlt und sogar was gefunden :)

Das Problem ist, dass ich noch nie mit einer TStringList gearbeitet habe :wall:

Mein erster Ansatz, um die einzelnen ASCII-Codes rauszufischen, geht in etwa so:

Delphi-Quellcode:
FindBlank: TStrings;
begin
  FindBlank := TStringList.Create;
  FindBlank.Delimiter := ' ';
  FindBlank.DelimitedText := Memo1.Text;
end;
Jetzt weiß ich nur nicht, ob (und wenn ja, wie) ich der Stringliste noch einen String zuweisen muss, oder ob ich das schon durch den Code gemacht hab.

Und außerdem weiß ich jetzt nicht, wie ich jetzt auf die einzelnen "Teilstrings" zugreifen kann (also die, die je durch ein Leerzeichen getrennt sind).

Sharky 23. Jan 2005 18:06

Re: Aus ASCII-Codes strings machen?
 
Zitat:

Zitat von malo
....Und außerdem weiß ich jetzt nicht, wie ich jetzt auf die einzelnen "Teilstrings" zugreifen kann (also die, die je durch ein Leerzeichen getrennt sind).

Jeder "Teilstring" ist jetzt eine "Zeile" in deiner TStringList.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ndx : Integer;
  FindBlank: TStrings;
  encode : String;
begin
  encode := '';
  FindBlank := TStringList.Create;
  try
    FindBlank.Delimiter := ' ';
    FindBlank.DelimitedText := Memo1.Text;
    for ndx := 0 to Pred (FindBlank.Count) do
    begin
      encode := encode + Chr (StrToInt(FindBlank.Strings[ndx]));
    end;
  finally
    FindBlank.Free;
  end;
    Memo2.Text := encode;
end;

malo 23. Jan 2005 18:11

Re: Aus ASCII-Codes strings machen?
 
Ah, vielen Dank :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 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