Ir al contenido


Foto

Abort en Lazarus


  • Por favor identifícate para responder
4 respuestas en este tema

#1 danluc

danluc

    Member

  • Miembros
  • PipPip
  • 10 mensajes

Escrito 27 diciembre 2010 - 08:11

Hola me presento mui nombre es Dani, una cuestion estoy empezando a usar Lazarus pero antes me gusta probarlo bien antes de lanzarme a escribir programas, bueno la cuestion es que utilizo bastante el abort en mis programas cuando un usuario introduce pr ejemplo un codigo mal comrpuebo que exista dicho codigo y si no es asi muestro un mesaje de error y aborto en el onvalidate del campo en cuestion, la cosa es que aun haciendo esto el foco pasa al siguiente control aun con el abort, esto en Delphi no pasa, alguna idea, graicas a todos.
A y felices fiestas. (b)
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 27 diciembre 2010 - 08:45

Hola me presento mui nombre es Dani, una cuestion estoy empezando a usar Lazarus pero antes me gusta probarlo bien antes de lanzarme a escribir programas, bueno la cuestion es que utilizo bastante el abort en mis programas cuando un usuario introduce pr ejemplo un codigo mal comrpuebo que exista dicho codigo y si no es asi muestro un mesaje de error y aborto en el onvalidate del campo en cuestion, la cosa es que aun haciendo esto el foco pasa al siguiente control aun con el abort, esto en Delphi no pasa, alguna idea, graicas a todos.
A y felices fiestas. (b)


Hola danluc bienvenido a delphiaccess sientete como en casa  (b)

Y si asignas el foco al campo donde haces la validación ?

Salud OS
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 28 diciembre 2010 - 12:27

... que utilizo bastante el abort en mis programas cuando un usuario introduce pr ejemplo un codigo mal comrpuebo que exista dicho codigo...


Tienes un pequeño problema. En PASCAL el uso de Abort está contraindicado. Es más, apostaría a que muchas veces obtienes resultados no deseados por utilizarlo. Recuerda que la programación en PASCAL se basa en funciones y procedimientos, que es altamente estructurada y no requiere "originalidades" que rompan la lógica ni la secuencia de comandos.

Prueba a darnos un ejemplo de tu código y con gusto podemos ayudarte a hacerlo más eficiente.
  • 0

#4 danluc

danluc

    Member

  • Miembros
  • PipPip
  • 10 mensajes

Escrito 30 diciembre 2010 - 04:06

Gracias por vuestras contestaciones, este es el codigo que utilizo normalmenete



delphi
  1. procedure TForm1.Dbf1IDValidate(Sender: TField);
  2. begin
  3.   if not Dbf2.Locate('Id', Sender.AsInteger, []) then begin  // Aki busco el codigo
  4.     MessageDlg('Atención codigo no encontrado', mtInformation [mbOk], 0); // Si no lo encuentra aviso
  5.     abort; // Y aki Aborto para que no pase de este campo en Lazarus Lanza una Excepcion
  6.   end;
  7. end;


  • 0

#5 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 11 enero 2011 - 08:46

mmmm, yo en ese caso en Lazarus utilizaría Exit; para salir del procedimiento y no continue ejecutandose.



delphi
  1. procedure TForm1.Dbf1IDValidate(Sender: TField);
  2. begin
  3.   if not Dbf2.Locate('Id', Sender.AsInteger, []) then begin  // Aki busco el codigo
  4.     MessageDlg('Atención codigo no encontrado', mtInformation [mbOk], 0); // Si no lo encuentra aviso
  5.     Exit;
  6.   end;
  7. end;


  • 0




IP.Board spam blocked by CleanTalk.