![]() |
Wie bekomm ich einen undefinierten Buffer in ein Array?
Hallo,
wie bekomm ich einen solchen Funktionsparamter in ein Array of Char:
Delphi-Quellcode:
Buffer soll in ein Array of Char. Len ist die Größe von Buffer.
function xyz(const Buffer; Len : integer);
Gruss |
Re: Wie bekomm ich einen undefinierten Buffer in ein Array?
willst du ein Array of Char übergeben oder hast du eine Funktion mit diesem Funktionskopf und willst es in ein Array of Char kopieren?
Mit der Funktion Move kannst du ganz einfach speicher kopieren. Unter anderem auch von einem untypisiertem Bereich in ein Array of char. |
Re: Wie bekomm ich einen undefinierten Buffer in ein Array?
Ich möchte es in das Array of Char kopieren. Wie macht man das mit move?
|
Re: Wie bekomm ich einen undefinierten Buffer in ein Array?
Delphi-Quellcode:
move(Buffer, YourArray[0]);
|
Re: Wie bekomm ich einen undefinierten Buffer in ein Array?
@sir: Fehlt da nicht noch die Länge?
Und je nachdem, was buffer ist, kannes auch so sein:
Delphi-Quellcode:
move(buffer^,YourArray[0],len);
|
Re: Wie bekomm ich einen undefinierten Buffer in ein Array?
Zitat:
Zitat:
Der vollständig korrekte Aufruf ist also:
Delphi-Quellcode:
oder
Move (Buffer, YourArray, Len)
Delphi-Quellcode:
In beiden Fällen wird implizit die Adresse des ersten Elementes von 'YourArray' übergeben.
Move (Buffer, YourArray[Low(YourArray)], Len)
Letztere Variante sollte man bei Strings verwenden:
Delphi-Quellcode:
SetLength (YourString, Len);
Move (Buffer, YourString[1], Len) |
Re: Wie bekomm ich einen undefinierten Buffer in ein Array?
Ich verwende immer CopyMemory dazu ..
|
Re: Wie bekomm ich einen undefinierten Buffer in ein Array?
Zitat:
Delphi-Quellcode:
;)
procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
begin Move(Source^, Destination^, Length); end; Gruß Neutral General |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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