Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Übersetzung C -> Delphi: Verkürzte if-Bedingung (https://www.delphipraxis.net/109915-uebersetzung-c-delphi-verkuerzte-if-bedingung.html)

Luckie 10. Mär 2008 10:36

Re: Übersetzung C -> Delphi: Verkürzte if-Bedingung
 
Hehe. Neugierig ist er ja. Sei unbesorgt, ich weiß, was ich tue. ;)

Medium 10. Mär 2008 10:44

Re: Übersetzung C -> Delphi: Verkürzte if-Bedingung
 
Einen Code als krank bezeichnen, aber nen StackOverflow provozieren, das sind mir die besten ;)

Luckie 10. Mär 2008 11:01

Re: Übersetzung C -> Delphi: Verkürzte if-Bedingung
 
Zitat:

Zitat von Medium
Einen Code als krank bezeichnen, aber nen StackOverflow provozieren, das sind mir die besten ;)

Es ist zu Demonstrationszwecken.

SirThornberry 10. Mär 2008 11:15

Re: Übersetzung C -> Delphi: Verkürzte if-Bedingung
 
Delphi-Quellcode:
function Sum(Cardinal uNum): Cardinal;
begin
  result := IfThen(uNum = 0, 0, uNum + Sum(uNum - 1));
end;
du siehst in Delphi sieht es auch nicht besser aus wenn man dort die verkürzte Version nimmt (math in den uses vorrausgesetzt)

Luckie 10. Mär 2008 11:22

Re: Übersetzung C -> Delphi: Verkürzte if-Bedingung
 
Zitat:

Zitat von SirThornberry
Delphi-Quellcode:
function Sum(Cardinal uNum): Cardinal;
begin
  result := IfThen(uNum = 0, 0, uNum + Sum(uNum - 1));
end;
du siehst in Delphi sieht es auch nicht besser aus wenn man dort die verkürzte Version nimmt (math in den uses vorrausgesetzt)

Geht aber erst ab BDS2006 oder? Und Gott sei dank, scheint sich das noch nicht durchgesetzt zu haben bei den Delphi-Programmierern.

Hawkeye219 10. Mär 2008 11:24

Re: Übersetzung C -> Delphi: Verkürzte if-Bedingung
 
Hallo,
Zitat:

Zitat von SirThornberry
du siehst in Delphi sieht es auch nicht besser aus wenn man dort die verkürzte Version nimmt (math in den uses vorrausgesetzt)

IfThen darf hier auch gar nicht eingesetzt werden, weil in jedem Fall die Ausdrücke für False und True ausgewertet werden.

Gruß Hawkeye

Muetze1 10. Mär 2008 23:26

Re: Übersetzung C -> Delphi: Verkürzte if-Bedingung
 
Zitat:

Zitat von Luckie
Geht aber erst ab BDS2006 oder? Und Gott sei dank, scheint sich das noch nicht durchgesetzt zu haben bei den Delphi-Programmierern.

Sorry, aber die gib's schon ab Delphi 7 (wahrscheinlich Delphi 6)...

Delphi 7 Hilfe
Die Funktion gibt abhängig von einer Bedingung einen von zwei angegebenen Werten zurück.

Unit

Math oder StrUtils

Kategorie

Sonstige Routinen

Delphi-Syntax:

function IfThen(AValue: Boolean; const ATrue: Integer; const AFalse: Integer = 0): Integer; overload;

function IfThen(AValue: Boolean; const ATrue: Int64; const AFalse: Int64 = 0): Int64; overload;
function IfThen(AValue: Boolean; const ATrue: Double; const AFalse: Double = 0.0): Double; overload;
function IfThen(AValue: Boolean; const ATrue: string; const AFalse: string = ''): string; overload;

C++ Syntax:

extern PACKAGE int __fastcall IfThen(bool AValue, const int ATrue const int AFalse);
extern PACKAGE __int64 __fastcall IfThen(bool AValue, const __int64 ATrue const __int64 AFalse);
extern PACKAGE double __fastcall IfThen(bool AValue, const double ATrue const double AFalse);
extern PACKAGE AnsiString __fastcall IfThen(bool AValue, const AnsiString ATrue const AnsiString AFalse);

Beschreibung

IfThen überprüft den in AValue übergebenen Ausdruck und gibt AValue zurück, wenn die Auswertung true ergab. Ist die Auswertung false wird AFalse zurückgegeben. Wenn der Parameter AFalse weggelassen wird, gibt IfThen in Delphi 0 oder einen leeren String zurück, wenn die Auswertung von AValue False liefert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.
Seite 2 von 2     12   

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