Hallo Leute!
Erst mal Dank für die vielen Antworten während meiner Abwesenheit. Ich möchte gleich mal Stück für Stück antworten.
Zitat von
p80286:
Ich hab's mal für mich umgesetzt, so klappt es:
Delphi-Quellcode:
var
i : integer;
a1: array of byte;
s1: string;
begin
setlength(s1,50);
setlength(a1,50);
for i:=0 to 49 do a1[i]:=$20+i;
move(a1[0],s1[1],50);
showmessage(s1);
Gruß
K-H
Joop, genau das funzt nicht. Da ich etwas weiter gelesen habe denke ich, dass könnte mein
Ansi-Problem sein. Sorry, hatte nicht dran gedacht Bescheid zu sagen, dass ich das grad unter D2010 teste.
@himitzu: Den Ansatz mit dem Casten werd ich mal testen. Ja, ich hab das mit dem Müll echt im Debugger geprüft. Aber auch hier wird mir sicher das D2010-Thema auf die Füße gefallen sein.
@Medium: Da Move mit
asm-Code gestrickt ist hab ich einfach unterstellt, dass es schneller als eine eigene Schleife ist. Haben sich ja einige zu geäußert. Kann ich selber aber wenig zu sagen.
@Uwe Raabe: Danke für deinen Hinweis. Ich denke, da liegt der Hund begraben. Ich habe erst seit 1 Monat D2010 auf dem Rechner und hier jetzt gar nicht mehr an das
UniCode-Thema gedacht. Ich glaube jetzt echt das ist der Fehler. Werde mal testweise SData als AnsiString definieren und den Move noch mal testen.
Ich mach jetzt mal meine Tests und sag dann Bescheid.
Dank und Gruß oki