Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi RC4 Textlänge (https://www.delphipraxis.net/83097-rc4-textlaenge.html)

Sierra 6. Jan 2007 09:51

Re: RC4 Textlänge
 
So, ich habe jetzt einige Arbeit mit meinem HEX-Editor hinter mir und mir ist aufgefallen, dass es weder an CR noch LF liegen kann (0D 0A).
Denn diese werden Problemlos bearbeitet und können somit nicht die Fehlerquelle sein.
Weiterhin ist mir bei einem kleinen Test aufgefallen, dass bei folgendem String

Delphi-Quellcode:
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
die letzte "5" abgeschnitten werden würde.
Wenn man nun jedoch ein anderes Zeichen wählt (beispielsweise "6"), dann wird der String wieder komplett richtig verarbeitet.
Außerdem fällt das Zeichen weg, egal, welche Zeichen davor stehen.
Somit kann man darauf schließen, dass es vielleicht damit etwas zu tun hat, welches Zeichen an welcher Stelle steht.
Schließlich wird, wenn man die "4" vor der "5" zu einer "5" macht, diese auch bearbeitet.

negaH 6. Jan 2007 13:33

Re: RC4 Textlänge
 
Das passiert wenn du es einem TMemo zuweist und wieder ausliest ? Das wäre enorm seltsam und sollte nicht passieren. Also ich arbeite mit Delphi seit es auf dem Markt ist (immer schon in professionellen Teams) und bisher habe ich von solchen Problemen noch nie was gehört. Es muß also an irgendwas anderem liegen, in deinem Source.

Gruß hagen

Sierra 6. Jan 2007 20:44

Re: RC4 Textlänge
 
Ja, das ist es ja, was so komisch ist.
Denn ich benutze lediglich die RC4 Unit aus der Code Library und rufe sie, wie auf Seite eins gezeigt, auf.

St.Pauli 6. Jan 2007 21:47

Re: RC4 Textlänge
 
Bei deinem Null-Problem ist die Funktion StringReplace dir keine große Hilfe. Sie benutzt selber an diversen Stellen eine Typumwandlung nach PChar. Das heißt sie ist völlig nutzlos um das Zeichen #0 aus einem String zu entfernen. :wink:

Lösung? Schreib dir einfach selbst eine kleine Funktion die dir das Zeichen #0 aus deinem String entfernt.

Delphi-Quellcode:
procedure ReplaceZero(var s: string);
var
  i: Integer;
begin
  for i := 1 to Length(s) do
  begin
    if Ord(s[i]) = 0 then
      s[i] := '?';
  end;
end;

Sierra 7. Jan 2007 09:01

Re: RC4 Textlänge
 
Vielen vielen vielen Dank!
Jetzt funktioniert es endlich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr.
Seite 5 von 5   « Erste     345   

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