Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Umwandlung PChar -> Integer (https://www.delphipraxis.net/82266-umwandlung-pchar-integer.html)

TheMiller 9. Dez 2006 21:01


Umwandlung PChar -> Integer
 
Hallo,

hab, warum auch immer, ein kleines Prob mit dieser Umwandlung von Pchar in Integer.

Benutze ich

Delphi-Quellcode:
Integer(Buffer)
dann bekomme ich 1426..... zurück.

Benutze ich

Delphi-Quellcode:
StrToInt(Buffer)
bekomme ich die Fehlermeldung

Delphi-Quellcode:
Der angegebene Wert ''' ist kein gültiger Integerwert.
Danke!

mkinzler 9. Dez 2006 21:07

Re: Umwandlung PChar -> Integer
 
Was hast du vor? Was steht im PChar? PChar ist ein c-String also einen Zeiger auf einen String (genauer gesagt ein Zeiger auf das 1. Zeichen einer Zeichenkette)

marabu 9. Dez 2006 21:16

Re: Umwandlung PChar -> Integer
 
Hallo,

nochmal anders ausgedrückt: im ersten Fall findet ein type cast von Pointer nach Integer statt, im zweiten Fall findet eine automatische Wandlung von PChar nach String statt. Eine Zahl scheint der String nicht zu repräsentieren.

Gute Nacht

DP-Maintenance 9. Dez 2006 22:27

DP-Maintenance
 
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Hier gehts definitiv um Delphi

TheMiller 9. Dez 2006 23:56

Re: Umwandlung PChar -> Integer
 
Ich lasse mir werte aus php zurückgeben und von einer dll an das Prog senden. Diese werte sind halt eigentlich Integers. Kann's auch mit Strings machen, aber so wäre es halt sauberer

turboPASCAL 10. Dez 2006 04:55

Re: Umwandlung PChar -> Integer
 
Das kannst du mit einem Typecast erreichen.

Delphi-Quellcode:
MyInteger := StrToInt( String(MyPCharInt) );
Eigentlich sollte es auch reichen

Delphi-Quellcode:
MyInteger := StrToInt( MyPCharInt );
so auf zu rufen. :gruebel:

marabu 10. Dez 2006 09:30

Re: Umwandlung PChar -> Integer
 
Guten Morgen,

wenn eine Integer in dem Speicherbereich abgelegt wurde, auf den Buffer zeigt, dann muss nur der Zeiger anders interpretiert werden:

Delphi-Quellcode:
 IntToStr( PInteger( Buffer )^ );
Freundliche Grüße

TheMiller 10. Dez 2006 15:21

Re: Umwandlung PChar -> Integer
 
Danke!

Werd's mal ausprobieren!

Schönen Sonntag noch!


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz