Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String > array of Char (https://www.delphipraxis.net/49176-string-array-char.html)

richard_boderich 6. Jul 2005 16:10


String > array of Char
 
Moin allerseits,

wollt bloß mal wissen ob es für diese konversion (s. Topic) einen Cast oder so etwas gibt. ansonsten würd ich mir ne eigene funktion schreiben.

Gruß Richard

barf00s 6. Jul 2005 16:18

Re: String > array of Char
 
Delphi-Quellcode:
SetLength(aDeinCharArray, Length(sDeinString));
Move(Pointer(aDeinCharArray)^, sDeinString[1], Length(sDeinString));

sniper_w 6. Jul 2005 17:06

Re: String > array of Char
 
Hmm, eine Variable von Type STRING ist schon ein ARRAY OF CHAR.

Olli 6. Jul 2005 17:14

Re: String > array of Char
 
Zitat:

Zitat von barf00s
Delphi-Quellcode:
SetLength(aDeinCharArray, Length(sDeinString));
Move(Pointer(aDeinCharArray)^, sDeinString[1], Length(sDeinString));

Man kann doch stattdessen @sDeinString[1] verwenden. Das ist kompatibel mit PChar und mit array of char ;) ... oder?

BlackJack 6. Jul 2005 17:15

Re: String > array of Char
 
Zitat:

Zitat von sniper_w
Hmm, eine Variable von Type STRING ist schon ein ARRAY OF CHAR.

und ich dachte immer strings werden bei delphi intern als klassen gehandhabt...

NicoDE 6. Jul 2005 17:23

Re: String > array of Char
 
Zitat:

Zitat von richard_boderich
wollt bloß mal wissen ob es für diese konversion (s. Topic) einen Cast oder so etwas gibt.

P(Ansi)Char(...)
Der Compiler erledigt den Rest (UniqueString, und Zeiger auf das erste Zeichen).

malo 6. Jul 2005 17:25

Re: String > array of Char
 
Zitat:

Zitat von sniper_w
Hmm, eine Variable von Type STRING ist schon ein ARRAY OF CHAR.

So kann man das nicht sagen, jedenfalls nicht in Delphi (in C ist das wieder was anderes). Ein Array of Char ist einfach ein Array vom Typ Char. Ein String ist aber vielseitiger. Beispielsweise bieten Strings die Möglichkeit, den gesamten Inhalt als Text darzustellen (logischerweise). Außerdem stehen in einem String im 0. Zeichen immer die Länge des Strings.

Strings haben auch andere Unterschiede zu Arrays of Char. Man kann daher nicht so galopp sagen, dass Strings Arrays of Char sind ;)

sniper_w 6. Jul 2005 17:41

Re: String > array of Char
 
Er wollte eine Typumwandlung durchführen und in diesem Fall sehe ich keinen Bedarf ausser einen TypCast, wie schon oben angedeutet wurde (nicht von mir).
Und ja ich weis dass es in Delphi eine grosse Unterschied zwischen strins und array of char gibt.

BlackJack 6. Jul 2005 18:05

Re: String > array of Char
 
Zitat:

Zitat von malo
Außerdem stehen in einem String im 0. Zeichen immer die Länge des Strings.

das war unter dem guten alsten TurboPascal so - deswegen waren strings bei TP auch auf 255 zeichen begrenzt: mit dem ersten zeichen (also dem ersten byte) konnte man nur 255 zeichen der zeichenkette adressieren.
und unter Delphi sind strings meines wissens nach einfach nur kalssen mit sonderbehandlung, und die längedes strings ist ein feld dieser klasse.

sniper_w 6. Jul 2005 18:19

Re: String > array of Char
 
String ist keine Klasse unter Delphi+win32. Sie sind nur wegen Compiler-Magic so leicht zu behandeln.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr.
Seite 1 von 2  1 2      

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