Forum: Programmieren allgemein
by p80286,
5. Mai 2017
a) Ein String(char ist eine Interpretation eines Zahlenwertes. Je nach Codepage und oder anderer Annahme (nutzt Du vllt. EBCDIC?) produziert diese Interpretation beim selben Wert ein anderes Zeichen.
b) ich weiß jetzt nicht was an verflixt so ausfallend ist, aber vllt. ist es besser ich verabschiede mich ins WE.
Gruß
K-H
Forum: Programmieren allgemein
by p80286,
5. Mai 2017
Result := THashFunctions_Selftest.CalcHash(Trim(TEncoding.ANSI.GetString(aByteStream.Bytes, 0, aByteStream.Size - iHashLengthInBytes)));
Warum kannst Du Dich nicht von dem verf***** String trennen?
Siehst Du in dem Beispiel vom Michael II irgendwo einen String oder ein Char?
U.U wäre es ganz vernünftig, wenn Du noch einmal ganz von vorne anfangen würdest.....
Gruß
K-H
Forum: Programmieren allgemein
by p80286,
5. Mai 2017
Es ist mehr als einmal erwähnt worden, daß der HASH nicht über Chars/Strings/Text gebildet wird, sondern über die in der Datei enthaltenen Bytes.
du kannst natürlich eine String-Struktur als Aufbewahrungsort Deiner Bytes verwenden aber das schein mir hier so sinnvoll wie sich ein Loch in die Kniescheibe zu bohren und Marmelade hinein zu schmieren, machen kann man viel wenn der Tag lang ist.
...
Forum: Programmieren allgemein
by p80286,
2. Mai 2017
So ist das vgl.
Was u.U eine Möglichkeit wäre, Platz für den Hash und sein "Spiegelbild" vorbelegen, damit die Prüfsummenprüfung nicht zuschlägt.
Gruß
K-H
Forum: Programmieren allgemein
by p80286,
2. Mai 2017
??
Meine naheliegende Lösung wäre mystream.write(MyString,length(mystring)*sizeof(char));
nichts mit TBytes etc. Wenn der String schon vorliegt.
Ansonsten eben ein Array mit TBytes definieren und dann mystream.write(MyBytes,length(myBytes));
Gruß
K-H
Edith:
Bytes := System.hash.THashMD5.GetHashBytes(TEncoding.ANSI.GetString(Bytes));
Forum: Programmieren allgemein
by p80286,
2. Mai 2017
Wer bildet den über char einen Hash, das ist doch "stille Post"
Gruß
K-H