Ver Mensaje Individual
  #4  
Antiguo 13-07-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A ver si esto puede serte de alguna utilidad. Dices que en el evento OnExit de los ComboBox validas que lo escrito en los mismos sea correcto, desde el punto de vista de la lógica de tu programa.

Utilizas el evento OnKeyPress del formulario para cerrar el mismo si el usuario pulsó la tecla Escape. Entonces, me pregunto, ¿no podrías hacer la comprobación del contenido de los ComboBox en una determinada función, de tal modo que, antes de que se cierre el formulario, puesto que el usuario pulse la tecla Escape, se comprobara lo escrito en los ComboBox?

Yo imagino algo así:

Código Delphi [-]
 {Seudocódigo}
 
 function TForm1.ComprobarOk : boolean;
 begin
   if (comboBox1 = '') or (comboBox2 = '') then
     Result := false
   else
      Result := true; 
 end;
 
 procedure TForm1.OnKeyPress(Key: Word);
 begin
   if (Key = Escape) then
   begin
     if ComprobarOk then 
       Close;
     else
       ShowMessage('Revisa los ComboBox');
   end;
 end;

Más o menos algo así, quiero decir. ¿Qué me dices? ¿me he perdido algo?

Por cierto, aprovechando la coyuntura: felicidades vtdeleon, por tu cumpleaños.

Nota: Se me ocurre antes de enviar este mensaje que tal vez pudieras realizar la comprobación de los datos en el evento "OnClose" u "OnCloseQuery" del formulario en cuestión.

Cualquier cosa que se te ocurra respecto de lo que he dicho no dejes de hacerla saber aquí mismo por ver si al cabo, estoy seguro, consigues solucionar el tema de alguna manera.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita