Einzelnen Beitrag anzeigen

Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: [ASM] Lange Strings als Function - Wert zurückgeben

  Alt 21. Jan 2008, 20:07
Hallo himitsu,

das ist ja eine sehr kurze Methode um die Länge von einem AnsiString zu ermitteln. Habe den Record zwar auch beim Analysieren von der System – Unit gesehen, aber nicht getraut zu Verwenden (wegen Seiteneffekte).

Nur so wie Du den Code – Schnipsel geschrieben hast wird immer die Länge des Strings mit Null angezeigt.

XOR EAX, EAX // ergibt immer 0 Habe es etwas modifiziert:

Delphi-Quellcode:
function ASM_StrLaengeKurz(s: String): integer;
ASM
  MOV EDX, EAX
  JZ @@EmptyString // S = ''
  MOV EAX, [EDX - 4]
@@EmptyString:
END;
Danke für Deinen Hinweis.


Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat