Jump to content


Photo

Abort en Lazarus


  • Please log in to reply
4 replies to this topic

#1 danluc

danluc

    Member

  • Miembros
  • PipPip
  • 10 posts

Posted 27 December 2010 - 08:11 AM

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
  • 14448 posts
  • LocationMéxico

Posted 27 December 2010 - 08:45 AM

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
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 28 December 2010 - 12:27 PM

... 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 posts

Posted 30 December 2010 - 04:06 AM

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 posts
  • LocationOaxaca, México

Posted 11 January 2011 - 08:46 AM

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.