Cita:
Empezado por jose_kira_sk8
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.