![]() |
Pchar einen Ordinalwert zuweisen
Hallo Leute.
Ich möchte bei mir code einen ausgelesenen Ordinalwert aus einer Datei in einem Pchar speichern. Ist das überhaupt möglich?wenn j, welche Möglihckeiten gibts den da? Danke und gruß, moony |
Re: Pchar einen Ordinalwert zuweisen
Wandele ihn erst mit IntToStr in einen String um, dann einen Cast mit PChar.
|
Re: Pchar einen Ordinalwert zuweisen
was ist denn ein Cast?
gruß,Moony :gruebel: |
Re: Pchar einen Ordinalwert zuweisen
Ein Cast ist der Vorgang, einen Datentyp in einen anderen umzuwandlen, ohne eine Funktion zu benutzen, also sowas:
Delphi-Quellcode:
var c: Cardinal; b: Byte;
b := Byte(c); |
Re: Pchar einen Ordinalwert zuweisen
ok,das verstehe ich.aber was ich immer noch ganz verstehe, wie ich dann dieses Byte in den Pchar umwandle?
Zitat:
gruß,moony |
Re: Pchar einen Ordinalwert zuweisen
Erstmal: Ein
![]()
Delphi-Quellcode:
Oder alternativ:
var p: PChar; b: Byte;
GetMem(p, 1); p^ := b;
Delphi-Quellcode:
var p: PChar; b: Byte;
GetMem(p, 1); p := PChar(IntToStr(b)); |
Re: Pchar einen Ordinalwert zuweisen
Also folgendermaßen: Du hast eine Zahl, einen Byte-Wert. Ein PChar ist, wie der Name schon sagt, ein Zeiger auf einen Char. Dieser wird üblicherweise zur Darstellung von Strings verwendet, u.a. zwecks Kompatibilität zu C. Und zwar hat man einen Zeiger auf das erste Zeichen, der String geht solange weiter, bis das erste Byte 0 ist.
Nun wandelst du mittels ![]()
Delphi-Quellcode:
var
b: Byte; s: String; p: PChar; begin b := 45; s := InttoStr(b); p := PChar(s); end; |
Re: Pchar einen Ordinalwert zuweisen
Danke allen.hab ich auch gemacht und es funktioniert.
gruß, moony :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 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