![]() |
Re: Hilfe beim Übersetzten von C in Delphi
Hallo Klaus,
also einfach @ weglassen?? |
Re: Hilfe beim Übersetzten von C in Delphi
Nee, geht auch nicht, dann meldet der Compiler
Inkompatible Typen Char und PAnsiChar Was tun? |
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).
|
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ß |
Re: Hilfe beim Übersetzten von C in Delphi
Ach so, die Klammern habe ich natürlich schon gesetzt, daran liegts nicht.
|
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? |
Re: Hilfe beim Übersetzten von C in Delphi
Delphi-Quellcode:
StrLComp(PAnsiChar(Buffer), SubString, SubLen) = 0)
|
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. |
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? |
Re: Hilfe beim Übersetzten von C in Delphi
Zitat:
sprintf_s: s = in einen String ausgeben print = Zeichen ausgeben f = formatted _s = (eine MS-Erfindung) safe also sicher gegen Pufferueberlaeufe
Delphi-Quellcode:
ist die Entsprechung.
NewName := Format('%s.%s', [TableName, GL_Extention]);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 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