Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Konvertierung WORD *pNoPages; char pcInfo[30] nach Pascal (https://www.delphipraxis.net/127932-konvertierung-word-%2Apnopages%3B-char-pcinfo%5B30%5D-nach-pascal.html)

Brainshock 21. Jan 2009 14:54


Konvertierung WORD *pNoPages; char pcInfo[30] nach Pascal
 
Hallo,

ich brauche mal kurz Hilfe bei der Konvertierung eines C Headers nach Pascal. Wie wird folgendes übersetzt?

1.
Code:
char pcInfo[65]
2.
Code:
WORD *pNoPages
Für mich sieht das erstmal so aus:

zu 1.
Delphi-Quellcode:
pcInfo: Array[0..64] of Char
zu 2.
Delphi-Quellcode:
pNoPages: PWord
Gruß
Matthias

Cyf 21. Jan 2009 15:03

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
Zitat:

Delphi-Quellcode:
pcInfo: Array[0..64] of Char

Es muss of Byte oder AnsiChar sein.

2. Sollte so stimmen.

nuclearping 21. Jan 2009 15:14

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
Warum of Byte oder AnsiChar?

Brainshock 21. Jan 2009 15:29

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
Ja, warum?

Cyf 21. Jan 2009 15:34

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
In C ist char immer ein Byte groß, mit der Umstellung von Delphi auf Unicode kann es da Probleme geben.
Je nachdem könnte es auch Shortint sein, aber char wird ja meist unsigned verwendet.

Der Jan 21. Jan 2009 23:23

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
Zitat:

Zitat von Brainshock
Hallo,

ich brauche mal kurz Hilfe bei der Konvertierung eines C Headers nach Pascal. Wie wird folgendes übersetzt?

1.
Code:
char pcInfo[65]
2.
Code:
WORD *pNoPages
Matthias

Nach nem Notfall auf auf Arbeit und fast 3 Tagen am Stück geabeitet und jetzt endlich Feierabend hab ich mein Gehirn zwar soweit runtergefahren, daß ich grad noch atmen kann.... Ne im Ernst,kann zwar kaum noch denken, aber (1.) pcInfo ist ein Zeiger auf ein ein 65byte gtroßes Char-Array, worauf auch schon der Name deutet (p_ointer c_haracter), nennt sich ungarische Notation, gibts speziell in C/C++ und "regelt" die Variablen-Prefixes, ist keine Pflicht, aber viele halten sich dran.

(2.) Stimmt, solange die Größen von Word übereinstimmen.

Sorry, falls ich Mist erzählt hab. Gute Nacht.

Brainshock 22. Jan 2009 07:47

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
Dann lag ich erstmal richtig mit meiner Übersetzung.
Danke für Eure Antworten.

Gruß
Matthias

nuclearping 22. Jan 2009 09:07

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
Zitat:

Zitat von Cyf
In C ist char immer ein Byte groß, mit der Umstellung von Delphi auf Unicode kann es da Probleme geben.
Je nachdem könnte es auch Shortint sein, aber char wird ja meist unsigned verwendet.

Sorry, aber imho ist das Unsinn. Delphi kann erst seit 2009 Unicode und zudem sind solche Chars dann auch gekennzeichnet. Wovon du ausgehst ist wirklich ein Spezialfall, der aber hier denke ich weit entfernt liegt.

Cyf 22. Jan 2009 15:49

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
Mangels Delphi 2009 kann ich nicht überprüfen, wie die neuen Unicode-Char gekennzeichnet sind. Wurde nicht das normale Char in Delphi abgeändert? Falls dem nicht so ist, ist das AnsiChar natürlich überflüssig, ansonsten sehe ich keinen Grund den Code zu 2009 inkompatibel zu halten.

nuclearping 23. Jan 2009 10:03

Re: Konvertierung WORD *pNoPages; char pcInfo[30] nach Pasca
 
Nein, ein Char in Delphi ist ein Byte groß. Und ein Char in Delphi 2009 ist afaik auch nicht automatisch ein Multibyte-Char.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 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