Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Events habe ich schon dutzende zugewiesen.
Beispielsweise eine Komponente zur Laufzeit erstellen und Events zuweisen die schon im Code liegen.
Aber das da oben sagt mir gar nichts denn der Code-Hint sagt auch nur, dass er einen String als dritten Parameter erwartet.
Verstehe es noch immer nicht und werde das auch nie verstehen. Für mich sieht ein Event anders aus. Kapiere einfach nicht, wo...
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Aber nicht so wie bei mir.
Ich habe versucht die Logik einfach irgendwie umzudrehen aber das war wohl der sichere falsche Weg.
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Bis ich das verstanden habe, vergehen erstmal ein paar Tage. Bestimmt eine Woche.
Seitdem ich das hier das erste mal gesehen habe verzweifle ich schon dran zu verstehen, wie Replace den dritten Parameter akzeptieren kann, der eine Funktion ist die eigentlich einen Parameter benötigt.
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
const
SomeStr2 = '\xc4\x80\xc4\x86Hallo';
begin
Utf8Buffer := TEncoding.UTF8.GetString(SomeStr2);
EncodedBufferStr := EncodeBytes(Utf8Buffer);
showmessage(EncodedBufferStr);
?? Absolut keine Ahnung sorry.
Da braucht man bestimmt eine Dekodierungsfunktion die das alles rückwärts macht aber wie bitte soll man aus \xc4\x80 ein Ā machen? Wenn ich \xc4\x80 in Bytes umwandle habe ich...
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Aber wie wandle ich \xc4\x80\xc4\x86 in buffer := ; um darum gehts ja seit 2 Seiten.
Das ist nur ein Beispielstring. Da könnte alles stehen. Auch Klartext und Mischung aus Klartext und Kodierung.
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Wie es aussieht ist das hier kläglich falsch
Bytes := TEncoding.UTF8.GetBytes('C480C486');
ShowMessage(TEncoding.UTF8.GetString(Bytes));
Das hier gibt mir ÄÄ aus
Bytes := TEncoding.UTF8.GetBytes(HexToString('C480C486'));
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Natürlich macht der das. Es gibt keine überladene Verision von Replace für diesen Aufruf.
Ich glaube das ist ein unlösbares Problem. Dafür gibts einfach zu viele Zeichen.
Ok ich glaube ich kapituliere.
Ich habe denselben String auch in Hex vor mir liegen und da kommt auch nichts richtiges bei raus
function HexToString(S: String): string;
var
i: Integer;
begin
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
ich versuche das gerade zu verstehe und zu kompilieren aber irgendwas stimmt mit dieser Zeile nicht
TRegEx.Replace(input, pattern, unescape)
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Ja richig. Das kann ein String sein der Nur aus solchen Literalen besteht, es kann ein Klartext sein oder eine Mischung.
Und ich bin mir nicht sicher, wie ich damit umgehen soll, um aus jeder dieser Varianten den Klartext zu bekommen.
Würde mich über Hilfe freuen.
Sowas hier klappt natürlich auch nicht.
VonDatei := '\xc4\x80\xc4\x86Hallo';
Bytes := TEncoding.UTF8.GetBytes(VonDatei);
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Das macht es noch komplizierter.
Wie bekommt man einen String wie ganz oben denn in TBytes rein oder in einen lesbaren String?
Der Input kann immer wie oben aussehen. Er kann aber auch schon in lesbarer Form vorhanden sein.
Da kann auch reinkommen \xc4\x80\x16\x16\x16Hallo
Ich dachte an sowas hier aber da passt dieses spezielle A nicht mehr rein
Forum: Programmieren allgemein
by DieDolly,
22. Jul 2019
Das heißt, dass diese Maskierung in Delphi ein #$ ist?
Wie bekommt man denn einen String den man dann mit StringReplace bearbeitet hat in UTF8ToUnicodeString? Einen string mit ' umschlossen mag er nicht.