IF inmediatos
Artículo por Club Developers 路 31 December 2005
2989 vistas
Las condiciones booleanas, suelen ser lineas de c贸digo simples afectadas por una variable... Puede ser factible crear funciones que permitan controlar 茅sta situaci贸n (hacer en una linea eso que hacemos en 3...)
Estas funciones corresponder胊n al operador ( ? : ) de C o PHP.
Implementaci贸n de las funciones:
Utilizaci贸n de las funciones
Que ser胊 el equivalente a
Estas funciones corresponder胊n al operador ( ? : ) de C o PHP.
Implementaci贸n de las funciones:
delphi
Interface { If Inmediato } { IIF que reenvia un entero } function IIF(ACondition: boolean; ATruePart, AFalsePart: integer): integer; overload; { IIF que reenvia un extended } function IIF(ACondition: boolean; ATruePart, AFalsePart: Extended): Extended; overload; { IIF que reenvia un string } function IIF(ACondition: boolean; ATruePart, AFalsePart: string): string; overload; { IIF que reenvia un objeto } function IIF(ACondition: boolean; ATruePart, AFalsePart: TObject): TObject; overload; Implementation function IIF(ACondition: boolean; ATruePart, AFalsePart: integer): integer; { IF inmediato para enteros } begin 聽 if ACondition then 聽 聽 Result := ATruePart 聽 else 聽 聽 Result := AFalsePart; end; function IIF(ACondition: boolean; ATruePart, AFalsePart: Extended): Extended; { IF inmediato para floats } begin 聽 if ACondition then 聽 聽 Result := ATruePart 聽 else 聽 聽 Result := AFalsePart; end; function IIF(ACondition: boolean; ATruePart, AFalsePart: string): string; { IF inmediato para cadenas } begin 聽 if ACondition then 聽 聽 Result := ATruePart 聽 else 聽 聽 Result := AFalsePart; end; function IIF(ACondition: boolean; ATruePart, AFalsePart: TObject): TObject; { IF inmediato para objetos } begin 聽 if ACondition then 聽 聽 Result := ATruePart 聽 else 聽 聽 Result := AFalsePart; end;
Utilizaci贸n de las funciones
delphi
procedure TMyObject.TestIIF; var 聽 idx: integer; 聽 MyString: String; begin 聽 idx := 10; { Por ejemplo } 聽 MyString := IIF(idx=0,'Cero','Diferente de cero'); end;
Que ser胊 el equivalente a
delphi
procedure TMyObject.TestIIF; var 聽 idx: integer; 聽 MyString: String; begin 聽 idx := 10; { Por ejemplo } 聽 if idx=0 then 聽 聽 MyString = 'Cero' 聽 else 聽 聽 MyString = 'Diferente de Cero'; end;