1. No se entiende lo que planteas.
2. Claro que si se pueden anidar las validaciones.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
type
TEnumTipo = (TipoA, TipoB);
function FuncCond(Valor: Integer): string;
begin
Result := '';
if Valor > 0 then
Result := IntToStr(Valor);
end;
var
lChar: Char;
lTipo: TEnumTipo;
lValor1, lValor2: Integer;
lStr: string;
begin
case lTipo of
TipoA:
case lChar of
'A':
if lValor1 < 0 then
lStr := FuncCond(lValor2*-1)
else
lStr := FuncCond(lValor2);
'B':
if lValor1 < 0 then
lStr := FuncCond((lValor2*-1)*100)
else
lStr := FuncCond(lValor2*100)
end;
TipoB:
case lChar of
'A':
if lValor1 < 0 then
lStr := FuncCond(lValor2*-1)
else
lStr := FuncCond(lValor2);
'B':
if lValor1 < 0 then
lStr := FuncCond((lValor2*-1)*100)
else
lStr := FuncCond(lValor2*100)
end;
end;
end;
Referencia:
Declarations and Statements