Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Compilerdirektiven von C++ nach Delphi (https://www.delphipraxis.net/117302-compilerdirektiven-von-c-nach-delphi.html)

oki 15. Jul 2008 16:54


Compilerdirektiven von C++ nach Delphi
 
Hi Leute,

Jetzt häng ich fest. Kann mir einer sagen, wie diesen C++ Code korrekt nach Delphi portiere?
Code:
#if defined( AES_VAR ) || defined( AES_256 )
#define KS_LENGTH      60
#elif defined( AES_192 )
#define KS_LENGTH      52
#else
#define KS_LENGTH      44
#endif
Mein Vorschlag:
Delphi-Quellcode:
{$ifdef AES_VAR or AES_256}
  KS_LENGTH          = 60;
{$elseif AES_192 }
  KS_LENGTH       = 52;
{$else}
  KS_LENGTH        = 44;
{$endif}
Das scheint aber nicht nicht zu stimmen. Gleichfalls bin ich mir nicht sicher, welches endif welches if oder else schließt und wann ich ifend verwenden muss.

Ich dank schon mal für die Hilfe,

Gruß oki

oki 15. Jul 2008 17:38

Re: Compilerdirektiven von C++ nach Delphi
 
Also,

ifend wird nur noch im Zusammenhang mit if verwendet, sagt die OH dazu. Der Rest ist immer noch nebulös.

gruß oki

[Edit]
Tja, so kann man sich irren. Bei folgendem Code kommt folgende Meldung vom Compiler:
Delphi-Quellcode:
{$ifdef AES_VAR or AES_256}
  KS_LENGTH          = 60;
{$elseif AES_192 }
  KS_LENGTH       = 52;
{$else}
  KS_LENGTH        = 44;
{$endif}
Zitat:

[DCC Fehler] Crypt_Types.pas(71): E2029 $IFEND erwartet, aber $ENDIF gefunden
So meckert er nicht:
Delphi-Quellcode:
{$ifdef AES_VAR or AES_256}
  KS_LENGTH          = 60;
{$elseif AES_192 }
  KS_LENGTH       = 52;
{$else}
  KS_LENGTH        = 44;
{$ifend}
:gruebel:
[/Edit]

oki 16. Jul 2008 07:25

Re: Compilerdirektiven von C++ nach Delphi
 
Moin Leute,

habe mich jetzt noch mal intensiv mit dem Thema Compilerdirektiven bezüglich ifdef, ifndef, elseif, else, endif und ifend beschäftigt. Damit ist die im vorherigen Post gelieferte Lösung:
Delphi-Quellcode:
{$ifdef AES_VAR or AES_256}
  KS_LENGTH          = 60;
{$elseif AES_192 }
  KS_LENGTH       = 52;
{$else}
  KS_LENGTH        = 44;
{$ifend}
korrekt.

Somit ist das geklärt.

Gruß oki


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