Forum: Sonstige Fragen zu Delphi
Delphi
by chaosben,
15. Jun 2007
Kein Problem ... ich freu mich wenn ich einem alten Hasen mal helfen konnte :)
Forum: Sonstige Fragen zu Delphi
Delphi
by chaosben,
15. Jun 2007
Nein?
Mein StringReplace arbeitet mit AnsiPos und dieses wiederum enthält folgende Zeile:
P := AnsiStrPos(PChar(S), PChar(SubStr));
Ab diesem Zeitpunkt muss die Funktion sich am 0-Byte orientieren, da sie ja die Länge nicht kennt.
Probier doch mal folgendes:
program Project1;
{$APPTYPE CONSOLE}
Forum: Sonstige Fragen zu Delphi
Delphi
by chaosben,
15. Jun 2007
:-D
Ok, es war schlecht formuliert. Natürlich kannst du deine Bilder als Strings halten :).
Aber wenn wir hier über String und deren Bearbeitung reden, geht es im Endeffekt (meistens) um PChars. Und alle Routinen die mit eben diesen arbeiten (z.B. auch das StringReplace) orientieren sich am 0-Byte. Und damit sind solche Operatioen (wie oben) mit Strings ein wenig sinnlos. :)
Forum: Sonstige Fragen zu Delphi
Delphi
by chaosben,
15. Jun 2007
Hi!
Ich glaube wir müssen erstmal über Grundlegendes reden. :)
Was für einen Text hast du denn da?
Sieht er aus, wie oben in deinem Beispiel, also so
3B 00 1A FF 34 82
oder stehen die Bytes wirklich in deinem Text ; ?
Falls letzteres zutrifft, musst du dir erstmal eine anderen Typ außer "String" suchen (z.B. array of byte) da ein String immer nur bis zum nächste 0-Byte geht.