![]() |
Pointer addieren
Code:
char *lpZero = NIL;
Int nOut = (lpZero - lpszBuffer) + 1; char lpszBuffer[1024] = {'\0',}; Hi kann man in Pascal/Delphi über Umwegen, wie in C++ Zeiger addieren oder subtrahieren, habe nichts im Web gefunden |
Re: Pointer addieren
Delphi-Quellcode:
Var
MyPointer : Pointer; MyCharPointer : ^Char; MyIntPointer : ^Integer; Begin MyPointer := Pointer (Integer (MyPointer) + 1); Inc (MyCharPointer); // Zeigt auf nächstes Element ( = +1) Inc (MyIntPointer); // Zeigt auf nächstes Element ( = +4) |
Re: Pointer addieren
Zitat:
Delphi-Quellcode:
PAnsiChar hat 1-Byte große Elemente und verfügt über die nötige Pointer-Arithmetik.
MyPointer := PAnsiChar(MyPointer) + 1;
|
Re: Pointer addieren
Zitat:
|
Re: Pointer addieren
Dann würde ich aber die Schuld ganz klar an die Compilerbauer weiter geben welche in der Hilfe immer schön erwähnten das Integer und Cardinal immer schön mitwachsen.
Aber was lernen wir daraus. Sich dafür einen eigenen Typen definieren und dabei den möglichst größten zur Verfügung stehenden Typen nutzen und dann braucht man nur die eigene Typdeclaration ändern. |
Re: Pointer addieren
Danke Leute Danke für die schnelle Antwort :roteyes:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz