Hallo derpepe,
klar sollte es 5 heissen, das kommt aber davon wenn man sich zu oft mit PHP und C rumschlaegt
@Stefan2005, Matze:
ich wage zu bezweifeln dass man das so machen kann. Erstens gehen hier 4 Bytes floeten (sprich sind nicht freigegebener Speicher, aber auch nicht verwendet und ihr habt auch nicht wirklich einen Pointer drauf, denn beim ersten Str:=Str+'1' wird AFAIK neuer Speicher reserviert), und zweitens hat ein der 2 GB-String (also das was man normalerweise in Delphi mit String meint) auch noch einen Referenzzaehler und noch was, und belegt auch die 4 Bytes
vor der Adresse des 0. Zeichens. Ihr muesstet also 8 Bytes um 4 Bytes nach rechts kopieren, und dann erst die Adresse um 4 Byte erhoehen.
IMHO ist das aber etwas von dem man die Finger lassen soll. Wenns schnell gehn soll (was solche
ASM sachen ja sind), kann man sich mal die
FastStrings-
Unit ansehn.
Greetz
alcaeus