Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Text verschlüsseln (https://www.delphipraxis.net/28176-text-verschluesseln.html)

Gruber_Hans_12345 20. Aug 2004 14:58

Re: Text verschlüsseln
 
Zitat:

Zitat von Toxman
Es gibt einen Befehl in der Stringbearbeitung, mit dem du alle Zeichen auf kleine Buchstaben setzten kannst, nennt sich Delphi-Referenz durchsuchenlowercase Damit sparst du dir eine der beiden Schleifen. Dann kannst du das ganze etwas schneller machen, indem du nicht alle 26 Buchstaben ausprobierst, sonder mit ord() die gleich den Ascii-Wert eines Buchstabens holst. Dann kannst du noch 64 oder 96 anziehen und weisst den Buchstaben zum Ersetzten:
Delphi-Quellcode:
 
For i:=0 to length(text) do
ordx:= ord(   lowercase(text[i])) ); // oedx ist der Ascii-Wert des Buchstaben
dec(ordx,64);
CodeBuchstabe:= symbole1[ordx];
end; // Lowercase verträgt keine Umlaute wie ä,ö,ü
So ist's etwas schneller und imho schöner;

Aber gefährlich, da du Problememit Zeichen bekommst die nicht in 'A'..'Z' und 'a'..'z' drinnen sind -> da das Array symbole1 nur 26 Zeichen hast, greifst du dann auf symbole1[-12] oder symbole1[29] zu -> sehr gefährlich !!!!!!!!!!!!!!!

Nikolas 20. Aug 2004 22:53

Re: Text verschlüsseln
 
@ Hans (?):
Stimmt. Wenn er aber wirklich nur Text 'verschlüüseln' will, müsste man nur noch auf Leerzeichen und Umlaute prüfen. Oder er schickt den Text erst durch eine Funktion, die die Leerzeichen eliminiert und ein 'ä' zu einem 'ae' macht und wär fertig. Obwohl diese Methode der Verschlüsselung bei etwas längeren Texten und ein paar Tabellen über Buchstabenhäufigkeit recht schnell und sicher mit Papier und Bleistift zu lösen ist.

@ Ferby:
Ich glaube nicht, dass du deinen Code länger verstehst, als meinen Ansatz. Ich hab etwas gebraucht, bis ich die Idee hinter den Schleifen erkannt hatte und bei meinem Anatz kannst du bei jedem Befehl die OH aufrufen und kannst so recht schnell und sicher den Gedanken verstehen. (MHO)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 Uhr.
Seite 2 von 2     12   

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