Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2006
mahlon mahlon is offline
Miembro
 
Registrado: ago 2006
Posts: 62
Poder: 18
mahlon Va por buen camino
Cool Edit,comand button

necesito hacer varias cosas en un edit:

1. que solo acepte numeros (no letras).
2. que la aplicacion no falle al dejar el edit en blanco. (le doy a calcular y produce error).

--------------------------------------------------------------------------
ahora para un comand button:

que me funcionen cuando pulse la tecla Enter(todos los botones, claro).

--------------------------------------------------------------------------del cursor:

que se regrese al primer edit luego de que realize los calculos, y que baje en orden del primero al ultimo y luego a los botones del primero al ultimo.

--------------------------------------------------------------------------
necesito ejemplos de lo que es un case para no usar tanto if y si es posible algun curso de delphi 2006 for dummies

cualquier sugerencia para programar es bienvenida
--------------------------------------------------------------------------
Responder Con Cita
  #2  
Antiguo 18-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
Saludos.
Empezando con todos tus problemas.

-Define primero que botón quieres que funcione con ENTER, cuando lo hagas cambia la propiedad DEFAULT a true (Todos en un mismo formulario no deberían de funcionar con enter).

Te recomiendo unas busquedas en el foro hay respuestas individuales a tus inquietudes.
Continuamos luego...

Última edición por kman fecha: 18-08-2006 a las 20:02:13.
Responder Con Cita
  #3  
Antiguo 18-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
Realiza una condición para controlar el error de cálculo con edit en blanco, por ejemplo

Código Delphi [-]
If Trim(edit1.text)= '' then
//control de error aquí por ejemplo que tome valor cero, un mensaje o algo

Última edición por kman fecha: 18-08-2006 a las 23:01:02.
Responder Con Cita
  #4  
Antiguo 18-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
En tu código, pon al final un edit.setfocus para que al finalizar el foco se coloque en el edit que deseas.
Responder Con Cita
  #5  
Antiguo 19-08-2006
mahlon mahlon is offline
Miembro
 
Registrado: ago 2006
Posts: 62
Poder: 18
mahlon Va por buen camino
Talking ok

gracias...


y para que solo pueda poner numeros en los edit?
Responder Con Cita
  #6  
Antiguo 19-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Cita:
Empezado por mahlon
y para que solo pueda poner numeros en los edit?
Hiciste la busqeuda en el foro?

Saludos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 19-08-2006
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Un TEdit limitado para entrar números Enteros

Código:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 var sNumAnterior:string;
 begin
   sNumAnterior := (sender as TEdit).Text;
   if (key <> #3) and (key <> #22) then  // #3 = Copiar (Ctrl + C)
   begin                                 // #22 = Pegar (Ctrl + V)
     if key = '-' then
     begin
       if ((pos(key,(sender as TEdit).Text) > 0) and
          (pos(key,(sender as TEdit).SelText) = 0))
          or
          ((sender as TEdit).SelStart > 0)
       then key:=#0;
     end
     else if not (key in ['0'..'9',#8]) then key:=#0;
   end;
   if key = #22 then
   try
     key := #0;
     (sender as TEdit).PasteFromClipBoard;
     StrToInt((sender as TEdit).Text);
   except
     (sender as TEdit).Text := sNumAnterior;
     (sender as TEdit).SelStart := Length((sender as TEdit).Text);
   end;
 end;

Un TEdit limitado para entrar números Reales

Código:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 var sNumAnterior:string;
 begin
   sNumAnterior := (sender as TEdit).Text;
   if (key <> #3) and (key <> #22) then  // #3 = Copiar (Ctrl + C)
   begin                                 // #22 = Pegar (Ctrl + V)
     if key in ['-','.'] then
     begin
       if (pos(key,(sender as TEdit).Text) > 0) and
          (pos(key,(sender as TEdit).SelText) = 0)
          then key:=#0;
       case key of
         '-': if ((sender as TEdit).SelStart > 0) then key:=#0;
         '.': if ((sender as TEdit).SelStart = 0) or
                 (((sender as TEdit).SelStart = 1) and
                 ((sender as TEdit).Text[1] = '-'))
              then key:=#0;
       end;
     end
     else if not (key in ['0'..'9',#8]) then key:=#0;
   end;
   if key = #22 then
   try
     key := #0;
     (sender as TEdit).PasteFromClipBoard;
     StrToFloat((sender as TEdit).Text);
   except
     (sender as TEdit).Text := sNumAnterior;
     (sender as TEdit).SelStart := Length((sender as TEdit).Text);
   end;
 end;
by Arturo_Ortí

arturo98@santandersupernet.com
Responder Con Cita
  #8  
Antiguo 19-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
Cita:
Empezado por mamu


Un TEdit limitado para entrar números Enteros


Un TEdit limitado para entrar números Reales

by Arturo_Ortí
Esas dos las quería yo también, cool!
Responder Con Cita
  #9  
Antiguo 19-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
Cita:
Empezado por mahlon
...y que baje en orden del primero al ultimo y luego a los botones del primero al ultimo.
A qué te refieres con esto? al Tab Order?
Si es aí En la Propiedad Taborder organiza tus objetos y usa este código para moverte entre ellos con la tecla + y -(Copia y pega el código en el evento Onkeypress de cada objeto):
Código Delphi [-]
If Key =#45 Then Begin
     keybd_event(16,0,0,0); // SHIFT oprimido
     keybd_event(9,0,0,0); // TAB oprimido
     Keybd_event(16,0,2,0); // Soltar el SHIFT  (NO SE PUEDE OMITIR)
     keybd_event(9,0,2,0); // TAB Released (Puede ser omitido)
     Key := #0
   end;
if key=#43 then begin
    keybd_event(9,0,0,0); // TAB oprimido
    keybd_event(9,0,2,0); // Soltar el Tab
    Key:=#0;
end;
Código Cortesía de un compañero que no recuerdo, pero todo crédito para él

Última edición por kman fecha: 19-08-2006 a las 20:25:16.
Responder Con Cita
  #10  
Antiguo 20-08-2006
mahlon mahlon is offline
Miembro
 
Registrado: ago 2006
Posts: 62
Poder: 18
mahlon Va por buen camino
busqueda

Cita:
Empezado por vtdeleon
Hiciste la busqeuda en el foro?

Saludos
no
Responder Con Cita
  #11  
Antiguo 20-08-2006
mahlon mahlon is offline
Miembro
 
Registrado: ago 2006
Posts: 62
Poder: 18
mahlon Va por buen camino
Thumbs up aclaracion

el segundo codigo incluye numeros como 0.5 ?






Cita:
Empezado por mamu
Un TEdit limitado para entrar números Enteros

Código:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 var sNumAnterior:string;
 begin
   sNumAnterior := (sender as TEdit).Text;
   if (key <> #3) and (key <> #22) then  // #3 = Copiar (Ctrl + C)
   begin                                 // #22 = Pegar (Ctrl + V)
     if key = '-' then
     begin
       if ((pos(key,(sender as TEdit).Text) > 0) and
          (pos(key,(sender as TEdit).SelText) = 0))
          or
          ((sender as TEdit).SelStart > 0)
       then key:=#0;
     end
     else if not (key in ['0'..'9',#8]) then key:=#0;
   end;
   if key = #22 then
   try
     key := #0;
     (sender as TEdit).PasteFromClipBoard;
     StrToInt((sender as TEdit).Text);
   except
     (sender as TEdit).Text := sNumAnterior;
     (sender as TEdit).SelStart := Length((sender as TEdit).Text);
   end;
 end;
Un TEdit limitado para entrar números Reales

Código:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 var sNumAnterior:string;
 begin
   sNumAnterior := (sender as TEdit).Text;
   if (key <> #3) and (key <> #22) then  // #3 = Copiar (Ctrl + C)
   begin                                 // #22 = Pegar (Ctrl + V)
     if key in ['-','.'] then
     begin
       if (pos(key,(sender as TEdit).Text) > 0) and
          (pos(key,(sender as TEdit).SelText) = 0)
          then key:=#0;
       case key of
         '-': if ((sender as TEdit).SelStart > 0) then key:=#0;
         '.': if ((sender as TEdit).SelStart = 0) or
                 (((sender as TEdit).SelStart = 1) and
                 ((sender as TEdit).Text[1] = '-'))
              then key:=#0;
       end;
     end
     else if not (key in ['0'..'9',#8]) then key:=#0;
   end;
   if key = #22 then
   try
     key := #0;
     (sender as TEdit).PasteFromClipBoard;
     StrToFloat((sender as TEdit).Text);
   except
     (sender as TEdit).Text := sNumAnterior;
     (sender as TEdit).SelStart := Length((sender as TEdit).Text);
   end;
 end;
by Arturo_Ortí

arturo98@santandersupernet.com
Responder Con Cita
  #12  
Antiguo 20-08-2006
mahlon mahlon is offline
Miembro
 
Registrado: ago 2006
Posts: 62
Poder: 18
mahlon Va por buen camino
Thumbs up aclaracion para ti

me refiero a que el cursor tenga un order especifico dentro de todos los objetos.....





Cita:
Empezado por kman
A qué te refieres con esto? al Tab Order?
Si es aí En la Propiedad Taborder organiza tus objetos y usa este código para moverte entre ellos con la tecla + y -(Copia y pega el código en el evento Onkeypress de cada objeto):

Código Delphi [-]
If Key =#45 Then Begin
keybd_event(16,0,0,0); // SHIFT oprimido
keybd_event(9,0,0,0); // TAB oprimido
Keybd_event(16,0,2,0); // Soltar el SHIFT (NO SE PUEDE OMITIR)
keybd_event(9,0,2,0); // TAB Released (Puede ser omitido)
Key := #0
end;
if key=#43 then begin
keybd_event(9,0,0,0); // TAB oprimido
keybd_event(9,0,2,0); // Soltar el Tab
Key:=#0;
end;




Código Cortesía de un compañero que no recuerdo, pero todo crédito para él
Responder Con Cita
  #13  
Antiguo 22-08-2006
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por mahlon
el segundo codigo incluye numeros como 0.5 ?
Exacto.

Saludos.
Responder Con Cita
  #14  
Antiguo 28-08-2006
mahlon mahlon is offline
Miembro
 
Registrado: ago 2006
Posts: 62
Poder: 18
mahlon Va por buen camino
Thumbs up caracteres

Cita:
Empezado por mamu
Exacto.

Saludos.
gracias por el codigo!!!!!!!!!!!!!!!!

necesito algo parecido pero que solo acepte estos caracteres: desde la a hasta la z y A hasta la Z (mayusculas).

Saludos
Responder Con Cita
  #15  
Antiguo 28-08-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Pues igual que con números:
Código Delphi [-]
if key in ['a'..'z', 'A'..'Z', 'ñ','Ñ'] then
  //  si se permite

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #16  
Antiguo 28-08-2006
mahlon mahlon is offline
Miembro
 
Registrado: ago 2006
Posts: 62
Poder: 18
mahlon Va por buen camino
Thumbs up codigo

Cita:
Empezado por Lepe
Pues igual que con números:

Código Delphi [-]
if key in ['a'..'z', 'A'..'Z', 'ñ','Ñ'] then
// si se permite





Saludos
en ese caso es representado por matrices.
Saludos
Responder Con Cita
Respuesta



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
BUtton yoko Varios 1 30-06-2006 04:28:05
Button en DBgrid Iskariote0087 Varios 2 15-05-2006 13:06:13
Descargar icono de un Button Iskariote0087 Varios 2 10-01-2006 12:04:36
añadir a TQuickReport un button jmlifi Impresión 2 11-10-2005 15:22:37
colores a un Button dmagui OOP 3 27-06-2005 19:51:44


La franja horaria es GMT +2. Ahora son las 10:53:57.


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