Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Hilfe beim Übersetzten von C in Delphi (https://www.delphipraxis.net/88928-hilfe-beim-uebersetzten-von-c-delphi.html)

simjoh 23. Mär 2007 12:14

Re: Hilfe beim Übersetzten von C in Delphi
 
Hallo Klaus,

also einfach @ weglassen??

simjoh 23. Mär 2007 12:16

Re: Hilfe beim Übersetzten von C in Delphi
 
Nee, geht auch nicht, dann meldet der Compiler

Inkompatible Typen Char und PAnsiChar

Was tun?

Robert Marquardt 23. Mär 2007 12:49

Re: Hilfe beim Übersetzten von C in Delphi
 
Wie ist denn die genaue Fehlermeldung? Ich habe oben in der Source die fehlenden Klammern ergaenzt (zu viel C in letzter Zeit).

simjoh 23. Mär 2007 13:27

Re: Hilfe beim Übersetzten von C in Delphi
 
Die Fehlermeldung taucht bei

StrLComp(@Buffer[I], SubString, SubLen) = 0)

auf, und ist (mit dem @): "Inkompatible Typen". Der Cursor bleibt hinter dem Komma stehen.

Ohne das @ ist die Fehlermeldung: "Inkompatible Typen Char und AnsiChar".

Gruß

simjoh 23. Mär 2007 13:29

Re: Hilfe beim Übersetzten von C in Delphi
 
Ach so, die Klammern habe ich natürlich schon gesetzt, daran liegts nicht.

simjoh 23. Mär 2007 13:34

Re: Hilfe beim Übersetzten von C in Delphi
 
By the way, wie könnte man den C-Code

sprintf_s(NewName,"%s.%s",TableName,GL_Extention);

übersetzen?

Enspricht sprintf_s in Delphi writeln?

mkinzler 23. Mär 2007 13:35

Re: Hilfe beim Übersetzten von C in Delphi
 
Delphi-Quellcode:
StrLComp(PAnsiChar(Buffer), SubString, SubLen) = 0)

Robert Marquardt 23. Mär 2007 13:36

Re: Hilfe beim Übersetzten von C in Delphi
 
Hast Du typed Pointers an in den Projektoptionen? "StrLComp(PChar(@Buffer[I]), SubString, SubLen) = 0)" duerfte helfen.
@Buffer[I] ist vom Typ Pointer waehrend StrLComp dort einen PChar erwartet. Alternativ versuche "StrLComp(Buffer + I, SubString, SubLen) = 0)", denn fuer PChar und Integer ist die Addition definiert und das Ergebnis vom Typ PChar.

@mkinzler, das geht daneben, denn der Offset I wurde vergessen.

simjoh 23. Mär 2007 13:40

Re: Hilfe beim Übersetzten von C in Delphi
 
Jaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, super!! Es funzt. Herzlichen Dank!!

Wenn ich mal wieder ein Problem hat mit C, ich frag dann halt nochmal nach in der Hoffnung, dass du (ihr) weiterhelfen wollt und könnt.

Wie ist das mit sprintf_s? Haste da nochma en Tipp?

Robert Marquardt 23. Mär 2007 13:40

Re: Hilfe beim Übersetzten von C in Delphi
 
Zitat:

Zitat von simjoh
By the way, wie könnte man den C-Code

sprintf_s(NewName,"%s.%s",TableName,GL_Extention);

übersetzen?

Enspricht sprintf_s in Delphi writeln?

An sich neues Problem, neue Frage.

sprintf_s:
s = in einen String ausgeben
print = Zeichen ausgeben
f = formatted
_s = (eine MS-Erfindung) safe also sicher gegen Pufferueberlaeufe

Delphi-Quellcode:
NewName := Format('%s.%s', [TableName, GL_Extention]);
ist die Entsprechung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.
Seite 2 von 6     12 34     Letzte »    

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