![]() |
daten verändern auf die pointer zeigt?
Hallo zusammen,
Ich habe eine Funktion, die als parameter buffer: pointer length: DWord übergebenbekommt. Length ist die Anzahl der Bytes, die von Buffer belegt werden. Wie, um gotteswillen, kann ich auf die Daten, die durch buffer referenziert werden zugreifen, und sie verändern? Ich weiß, daß die Daten vom typ Single sein sollen. Ich muß nur den ganzen Puffer durchlaufen, und jeweils zwei Single-Paare verändern. Kann mir da bitte mal jemand auf die Sprünge helfen? Einen freundlichen Gruß Marco |
Re: daten verändern auf die pointer zeigt?
Hi,
Delphi-Quellcode:
Das sollte dir helfen
procedure Test(p: Pointer);
begin PSingle(p)^ := 54.23; // 1. Single PSingle(Cardinal(p) + SizeOf(Single))^ := 12.23; // 2. Single inc(PSingle(p),2); // Nächstes Paar PSingle(p)^ := 54.8; // 3. Single PSingle(Cardinal(p) + SizeOf(Single))^ := 2.8; // 4. Single end; |
Re: daten verändern auf die pointer zeigt?
Hallo Neutral General,
Vielen dank. Und wie das hilft! ;-) Einen schönen Abend noch Marco |
Re: daten verändern auf die pointer zeigt?
Macht auch nichts anderes, sieht aber besser aus:
Delphi-Quellcode:
Test kann natürlich auch mit einem normalen Pointer aufgerufen werden.
type
P2Single = ^T2Single; T2Single = record a: Single; b: Single; end; procedure Test(p: P2Single); begin p^.a := 54.23; // 1. Single p^.b := 12.23; // 2. Single inc(p, 1); // Nächstes Paar p^.a := 54.8; // 3. Single p^.b := 2.8; // 4. Single end; |
Re: daten verändern auf die pointer zeigt?
Zitat:
Viele Grüße Marco |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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