Zitat:
Delphi-Quellcode:
P := PChar(S);
// zurück mit
S := PChar(P);
wobei hier
P:=PChar(s); das P nur auf den Anfang von S zeigt
und wenn man S mal ändert, dann könnte P auch mal schnell ins (n)Irgendwo hinzeigen
hier
S:=PChar(P); wird aber der Text, auf welchen P zeigt kopiert und die Kopie in S abgespeichert.
wenn zu z.B. eine eigene Kopie in P anlegen willst ... wobei es da auch noch viele andere Wege gibt, welche teilweise sogar noch direkt auf Strings/Texte ausgelegt sind (die fallen mir aber grad nicht ein, da ich sie nicht nutze)
Delphi-Quellcode:
P := GetMem(Length(S) + 1);
MoveMemory(P, PChar(S), Length(S) + 1);
// und wenn man den Speicher/Text von P nicht mehr braucht,
// dann muß man den natürlich wieder freigeben
FreeMem(P);
Zitat:
Garnicht wahr, erst bei p := @s[3];

ich hoffe der Threadersteller und alle Anderen lesen hier die Ironi raus
Ein Therapeut entspricht 1024 Gigapeut.