Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 06-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola cmfab, rrf.

Si no te entiendo mál, lo que deseas es el comportamiento que te expuso rrf sólo cuando avanzas al próximo Edit.
Pero que no aparezca el mensaje de error cuando retrocedas al Edit ya ingresado sin errores.

Si es así, una forma puede ser:

Código Delphi [-]
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure EditExit(Sender: TObject);
procedure EditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
private
FProx: Boolean;
public
end;

var
Form1: TForm1;

implementation {$R *.dfm}

(* Inicializar bandera de sentido (proximo / anterior) *)
procedure TForm1.FormCreate(Sender: TObject);
begin
FProx:= True;
end;

(* Asignar al evento OnExit de los tres Edits *)
procedure TForm1.EditExit(Sender: TObject);
begin
with Sender as TEdit do
begin
if (Text = '') and FProx then // si (Evaluar) y Proximo
begin
ShowMessage('Error en ingreso');
SetFocus;
end;
end;
end;

(* Asignar al evento OnKeyDown de los tres edits *)
procedure TForm1.EditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Msg: TMsg;
begin
if Key = VK_RETURN then //Enter: siguiente Edit
begin
FProx:= True;
Perform(WM_NEXTDLGCTL,0,0); // Edit siguiente
PeekMessage(Msg, 0, WM_CHAR, WM_CHAR, PM_REMOVE); //Sacar Beep
end;
if (Shift = [ssCtrl])and (Lo(Key) = 8) then //Ctrl+BackSpace: Edit anterior
begin
FProx:= False;
Perform(WM_NEXTDLGCTL,1,0); // Edit anterior
PeekMessage(Msg, 0, WM_CHAR, WM_CHAR, PM_REMOVE);
end;
end;





Saludos.
Estimado Ecfisa...

como podria hacer para no estar metiendo este codigo en cada uno de los formularios, derrepente crear un componente como el ScreenColorCenter y solo colocarlo en el formulario (mi conocimientos sobre creacion de componentes esta en el nivel -1)

saludos y gracias
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturar tecla Tab en OnKeyPress,OnkeyUp... NEG1414 C++ Builder 2 09-11-2008 18:04:32
capturar una tecla en la aplicación 2-D@monic Varios 2 04-08-2008 20:01:26
Capturar tecla en formulario hijo wonder boy Varios 7 29-09-2004 01:32:44
Capturar Tecla Sick boy OOP 0 25-09-2004 11:27:59
Capturar pulsación de tecla quade C++ Builder 4 03-06-2004 18:31:20


La franja horaria es GMT +2. Ahora son las 18:51:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi