Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2007
Avatar de day_eli
day_eli day_eli is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
day_eli Va por buen camino
Novata necesita Ayuda

Buen día compañeros del club....me aqueja una pequeña inquietud, la cual es la siguiente:

¿como hacer para validar que lo primero que un usuario pueda digitar en un TEdit sea la letra 'V' o la letra 'E', seguido de numeros?

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 02-06-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Código Delphi [-]
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
      IF Trim(Edit1.Text)=''THEN
      BEGIN
           IF(Key=#69)OR(Key=#86)THEN //E=69 - V=86 .. Utiliza la propiedad "CharCase" en ecUpperCase
              Exit
           ELSE
              Key:=#0;
      END
      ELSE
      BEGIN
           IF Key = #8 THEN Exit; // Tecla 
           IF (Key<#48)OR(Key > #58) THEN
               Key:=#0;
      END;
end;


ESPERO QUE TE SIRVA..

Última edición por BuenaOnda fecha: 02-06-2007 a las 00:49:07.
Responder Con Cita
  #3  
Antiguo 02-06-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Usa mejor un contol TMaskEdit...la propiedad EditMask te permite ajustarla a tu gusto de acuerdo con lo que necesites validar. La ayuda viene muy completa y trae ejemplos además de que al momento de colocar la mascarilla puedes probarla para ver si es como la quieres.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #4  
Antiguo 02-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pero en este caso, una disyuntiva

Cita:
lo primero que un usuario pueda digitar en un TEdit sea la letra 'V' o la letra 'E',
¿puede usarse un MaskEdit?

// Saludos
Responder Con Cita
  #5  
Antiguo 02-06-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Claro me llama la atención, me podrías explicar compañero AzidRain como lo haces.....
Responder Con Cita
  #6  
Antiguo 02-06-2007
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
off-topic

Este es un paréntesis dentro de este hilo....

Solo quiero llamar la atención sobre algo muy peculiar aqui, sin ánimo de crear polemica...

Lo que quiero decir es que en "otras circunstancias", los moderadores habrian entrado a este hilo y le habrian "tirado las orejas" a quien inicio el hilo por no poner un titulo mas descriptivo sobre el problema, y lo hubieran remitido a la guia de estilo (sin responder la pregunta)....

Por el contrario ante un titulo tan sugestivo, todos hemos caido prestos en ayuda de la dama... (yo cai, pero vi que ya no necesitaba ayuda, jejejeje)

Bueno, pero eso esta bien... hay que ser caballero y a las damas se les perdona todo, sobre todo en nuestro club, en donde casi no hay...


Saludos.... y esperamos verte mas por aqui day_eli, aqui todas son siempre bienvenidas...
Responder Con Cita
  #7  
Antiguo 02-06-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Este...

¡Hola a todos!

Para ser sincero, entré a leer este hilo por mera curiosidad de ver cómo se le respondía a nuestra amiga, sospechando lo que luego descubrí.

Cita:
Empezado por gatosoft
...en "otras circunstancias", los moderadores habrian entrado a este hilo y le habrian "tirado las orejas" a quien inicio el hilo por no poner un titulo mas descriptivo sobre el problema, y lo hubieran remitido a la guia de estilo (sin responder la pregunta)...
Lo mismo medité.

Pero esto:
Cita:
Empezado por gatosoft
...hemos caido prestos en ayuda de la dama... (yo cai, pero vi que ya no necesitaba ayuda, jejejeje)

Bueno, pero eso esta bien... hay que ser caballero y a las damas se les perdona todo, sobre todo en nuestro club, en donde casi no hay...todas son siempre bienvenidas...
Me dejó sin palabras. Sé que tu último comentario es bien intencionado Gatosoft, pero en lo personal me parece algo sexista. Mas sólo es una observación.

Me alegro que hayas recibido ayuda Day_eli, no dejes de plantearnos tus dudas sobre Delphi. Aquí son todos bienvenidos, sin preferencia de género. Pero te sugiero utilizar títulos más descriptivos para los mensajes, así será más fácil que alguien con experiencia en el tema se interese en responder.

Un abrazo de camaradas.

Al González.
Responder Con Cita
  #8  
Antiguo 02-06-2007
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Talking

Quería llamar la atención sobre un pequeño detalle, y es que usando directamente el evento Edit1KeyPress, el código se ejecuta antes de actualizarse el TEdit (al menos en mi querido Delphi 3. ¿No sería mejor utilizar un Timer?:
Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Timer1.Enabled:= True;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
      IF Trim(Edit1.Text)=''THEN
      BEGIN
           IF(Key=#69)OR(Key=#86)THEN //E=69 - V=86 .. Utiliza la propiedad "CharCase" en ecUpperCase
              Exit
           ELSE
              Key:=#0;
      END
      ELSE
      BEGIN
           IF Key = #8 THEN Exit; // Tecla 
           IF (Key<#48)OR(Key > #58) THEN
               Key:=#0;
      END;
end;

Timer1.Enabled:= False;
End;

Asimismo, en el Object inspector conviene ponerle al Timer las propiedades Enable a False e Interval a 1.
Responder Con Cita
  #9  
Antiguo 02-06-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
.... sabes me resulta raro lo que dices...
Responder Con Cita
  #10  
Antiguo 03-06-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Tienes razón Román, me confundí con el equivalente de MaskEdit de DevExpress que viene mas completo...

Contestando a nuestra amiga:

Pon esto en el onKeyPress del Edit

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  // Si la tecla NO es una V o E y es el primer caracter...lo eliminamos
   If ((Key<>'E') and (key<>'V')) and (Length(Edit1.Text)=0) Then
     key:=chr(00);
   //Aqui pon la validacion para los numeros...me dio flojera poner todo el 
código...jeje

end;

Solo permite E como primer caracter y V como segundo, los demas pueden ser cualesquiera
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #11  
Antiguo 03-06-2007
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Cita:
Empezado por BuenaOnda
.... sabes me resulta raro lo que dices...
Si pones esto:
Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Label1.Caption:= Edit1.Text;
end;
¿te aparece en el Label lo mismo que en el edit? A mí me sale con una pulsación de retraso.
Responder Con Cita
  #12  
Antiguo 03-06-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
okis pero para lo que tu expones yo utilizaria el evento Change del edit..
Responder Con Cita
  #13  
Antiguo 03-06-2007
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
¡Anda, pues es verdad! A veces me complico la vida sin motivo. No había caído en que Key trae la última tecla pulsada. Ahora todo concuerda.
Responder Con Cita
  #14  
Antiguo 03-06-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
tambien puedes probar el evento KeyDown, aqui se puede controlar más teclas que en el evento KeyPress..

Última edición por BuenaOnda fecha: 03-06-2007 a las 03:11:15.
Responder Con Cita
  #15  
Antiguo 03-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El evento keyUp, si no recuerdo mal, ya viene procesada la tecla, es el evento que utilizo siempre.

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 06-06-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por gatosoft
Este es un paréntesis dentro de este hilo....
Lo que quiero decir es que en "otras circunstancias", los moderadores habrian entrado a este hilo y le habrian "tirado las orejas" a quien inicio el hilo por no poner un titulo mas descriptivo sobre el problema, y lo hubieran remitido a la guia de estilo (sin responder la pregunta)....
Paréntesis bien hecho por cierto....
Personalmente no reo que exista diferencia con otros hilos, simplemente que a veces se nos pasan algunos (como ha sido este el caso).

Relacionado con este yo quiero hacer otro paréntesis...
¿Porqué hay que ser moderador para sugerirle a un usuario que escriba un título descriptivo o revise la Guía de Estilo?
Estamos hablando de sugerir o aconsejar y eso podemos hacerlo todos...
Como muestra dos botones, 1 y 2.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #17  
Antiguo 17-06-2007
Avatar de day_eli
day_eli day_eli is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
day_eli Va por buen camino
Gracias...para la proxima tratare de colocar un titulo mas explicativo , lo que pasó fue que en ese momento me sentía mas novata que de costumbre por no saber realizar algo que parece tan sencillo y eso hizo que se me ocurriera colocar un titulo así....
En realidad me han servido de gran ayuda muchachos, muy caballeros todos!!!.
Responder Con Cita
  #18  
Antiguo 17-06-2007
[David] David is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Málaga
Posts: 417
Poder: 21
David Va por buen camino
una duda me surge , como sabeis que #69 es la E , de donde obteneis el codigo para cada letra o tecla ?
Responder Con Cita
  #19  
Antiguo 18-06-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por David
una duda me surge , como sabeis que #69 es la E , de donde obteneis el codigo para cada letra o tecla ?
Hay infinidad de formas; Por ejemplo aquí, aquí,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #20  
Antiguo 29-06-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
Saludos

en el evento OnKeyPress del edit1 pones el siguiente codigo

showmessage(inttostr(ord(key)));
Edit1.SetFocus ///se pone porque con el showmessage pierdes el foco


y luego seleccionado el edit presionas la tecla de la que kieras saber el ASCII
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Novata quiere imagen de fondo Istar Gráficos 7 12-01-2007 18:29:38
Que necesita el webbrowser? crievep Internet 1 27-04-2006 03:03:24
Novata Nita Conexión con bases de datos 3 04-04-2006 01:19:36
novata en mysql kryna MySQL 5 14-05-2005 04:42:51
ayuda novata: "Dataset not in Edit or Insert mode" maquicu Tablas planas 1 05-06-2004 10:40:27


La franja horaria es GMT +2. Ahora son las 20:44:49.


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