Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Consulta como hacer varias validadciones anidadas (https://www.clubdelphi.com/foros/showthread.php?t=95065)

webmasterplc 12-02-2021 14:00:59

Consulta como hacer varias validadciones anidadas
 
Buenas tengo una consulta de logica, estoy haciendo un proyecto que requiere varias validaciones, estuve pensando en case anidados pero estuve eyendo que la sintaxis no lo permite, paso a planetar.

en mis variables globales tengo 3 opciones

Código Delphi [-]
var
imp_fiscal,
imp_standar,
envia_sms: Integer;
alli solo voy a llenar con 0 y 1 la opcion activa la primera es impresora fiscal la segunda standar
si la primera esta seleccionada debelo elegir el protocolo a usar son varios.

La segunda validadion que hago es si el usuario esta autorizado al envio de sms y si el cliente requiere envio de sms la variable es entera también saludos

Casimiro Notevi 12-02-2021 14:06:28

:confused::confused::confused: Por favor, exprésate correctamente, pon signos de puntuación, comas, etc. donde debas, ¡¡¡es que no se entiende nada!!!

movorack 12-02-2021 15:34:57

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

webmasterplc 12-02-2021 20:28:14

Buenas tengo una consulta de logica, estoy haciendo un proyecto que requiere varias validaciones.
Estuve pensando en case anidados pero lei que la sintaxis no lo permite, paso a planetar:

En mis variables globales tengo varias opciones

Código Delphi [-]
var
imp_fiscal,
envia_sms: Integer;
Las variables las voy a llenar con 0 y 1, 1 es activo y 0 inactiva
Primera validación Si la variable imp_fiscal está en 1 lo que hago es seleccionar 1 de 4 opciones de protocolos si esta en 0 illamar un reporte de fastreport.

La segunda validación que debo hacer es si el usuario está autorizado a enviar sms en caso que así sea paso a validar si el cliente autorizó recibir sms.

voy a probar lo que sugiere movorak.


La franja horaria es GMT +2. Ahora son las 02:29:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi