Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda con los Condicionales (https://www.clubdelphi.com/foros/showthread.php?t=75255)

jose_kira_sk8 09-08-2011 04:03:35

ayuda con los Condicionales
 
Código:

if
    idh.text='' //polica...
 then
    showmessage('recuerde completar los campos requeridos*')
 else
  with tabladonacion do begin
      Insert;
      fieldbyname('IdHerramientas').Value := idh.text ;
      fieldbyname('Nombre').Value := nombredon.text ;
      FieldByName('Apellido').Value := ape.Text;
      FieldByName('Dni').Value := dni.Text;
      FieldByName('fecha de ingreso').Value := fecha.DateTime;
      FieldByName('Observaciones').Value := observaciones.Text;
          tabladonacion.Post;
          tabladonacion.FlushBuffers;
  end;
      with tablaherramientas do begin
      Insert;
      fieldbyname('IdHerramientass').Value := idh.text ;
      fieldbyname('Nombre').Value := nom.text;
      fieldbyname('proviene de').Value := editdon.text;
      fieldbyname('descripcion').Value := descr.text;

lo que sucede es que tengo que poner varias condiciones y no se como hacerlo , me dijeron que podía hacer un try/ except ,pero no me convence , quería saber como hacer lo mas fácil posible sin tener tanto código.Gracias por el espacio.

newtron 09-08-2011 08:46:26

No entiendo tu pregunta. Los condicionales no tienen nada que ver con el try/except, se usan de forma distinta y para cosas distintas.

jose_kira_sk8 09-08-2011 13:21:53

re
 
no no lo que quiero saber es como puedo hacer esto
Código:

if
condicion
condicion
condicion  = ''
then
showmessage('correcto')
else
  showmessage('incorrecto');

algo asi a lo bestia te lo esplico osea si no pasa esto,esto y esto then showmessage ('correcto') (..)etc. gracias por responder

newtron 09-08-2011 13:46:01

A ver si consigo entender lo que quieres decir. Si se tienen que cumplir varias condiciones puedes ponerlas todas en un mismo if. Por ejemplo:

Código Delphi [-]
If (A=B) and (C=D) and (E=F) then
  ShowMessage('Correcto')
else
  ShowMessage('Incorrecto');

también puedes hacer algo así:

Código Delphi [-]
If A=B then begin
  .....(codigo)
end else if C=D then begin
  .....(codigo)
end else if E=F then begin
  .....(codigo)
end if;

Saludos

jorosmtz 09-08-2011 14:22:27

Cita:

Empezado por jose_kira_sk8 (Mensaje 408875)
Código:

if
    idh.text='' //polica...
 then
    showmessage('recuerde completar los campos requeridos*')
 else
  with tabladonacion do begin
      Insert;
      fieldbyname('IdHerramientas').Value := idh.text ;
      fieldbyname('Nombre').Value := nombredon.text ;
      FieldByName('Apellido').Value := ape.Text;
      FieldByName('Dni').Value := dni.Text;
      FieldByName('fecha de ingreso').Value := fecha.DateTime;
      FieldByName('Observaciones').Value := observaciones.Text;
          tabladonacion.Post;
          tabladonacion.FlushBuffers;
  end;
      with tablaherramientas do begin
      Insert;
      fieldbyname('IdHerramientass').Value := idh.text ;
      fieldbyname('Nombre').Value := nom.text;
      fieldbyname('proviene de').Value := editdon.text;
      fieldbyname('descripcion').Value := descr.text;

lo que sucede es que tengo que poner varias condiciones y no se como hacerlo , me dijeron que podía hacer un try/ except ,pero no me convence , quería saber como hacer lo mas fácil posible sin tener tanto código.Gracias por el espacio.


Estoy viendo algo en tu código que no se si has notado o lo has hecho así deloberadamente.

En el "else" (o sea si no se cumple la condición del "if") solo te va a tomar el primer "with", en este caso el de "tabladonacion". Si lo que quieres es que si no se cumple la condicion del if se hagan los siguientes "with" incluyendo el de "tablaherramientas" necesitas poner un "begin-end" que encierre lo del "else", o necesitas poner la siguiente condición en el "if"

Código Delphi [-]
if idh.text='' then
  exit;

de esta forma se saldrá del procedimiento donde se encuentra y ya no continuará con las demás líneas, por lo que ya no necesitarás ni siquiera el "else". Si llega a la siguiente línea de código dónde está el "with" quiere decir que no cumplió la condición.

Ahora bien, lo que yo entiendo por tu pregunta es lo que newtron entendió también, ¿es esto correcto? si es así el "and" y el "or" te serán de mucha ayuda en las condiciones.

oscarac 09-08-2011 15:22:58

mmmm si lo que buscas es verificar que los campos tengan valor antes de grabarlos
podrias usar OnValidate de los campos


La franja horaria es GMT +2. Ahora son las 09:40:50.

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