![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola buenas, pienso que este problema se puede resolver de una manera mucho mas facil:
Saludos ![]() Última edición por HySTD fecha: 17-09-2006 a las 06:53:32. |
|
#2
|
||||
|
||||
|
¿como o porque es eso más fácil que utilizar un DTPicker?
__________________
|
|
#3
|
|||
|
|||
|
Gracias HySTD funciona bien el codigo y aclaraste perfectamente mi duda,
use el maskedit que me dijeron y no me agrado mucho. supongo que esta linea : Edit1.SelStart:=Length(Edit1.Text); posiciona el cursor de texto para ke puedas estar almacenando un edit1.text y escribiendo continuamente como aqui: Edit1.Text:=Edit1.Text+'/'; sin que te borre la otra entrada. muchas gracias por su tiempo. seguire molestandolos mas a futuro tenganlo por seguro. |
|
#4
|
||||
|
||||
|
¿Y qué pasa cuando borras un caracter con BackSpace o DELETE? ¿Lo has probado?
// Saludos |
|
#5
|
|||
|
|||
|
Eso tiene facil solucion. Haces que el contador sólo cuente cuando lo desees:
if (key<>VK_DELETE) or (key<>VK_SPACE) then begin inc(contador); ... end; Asi ignoras si se pulsa espacio o supr. ![]() La unica ventaja de realizarlo de esta manera es que así escribes tu el código (que es mas divertido), a utilizar otros componentes y/o otras funciones ya implementadas, que por otro lado están muy bien... Cada uno hace lo que quiere, y el quería usar un TEdit y utilizar el evento OnKeyPress. ![]() Saludos |
|
#6
|
||||
|
||||
|
Ya. Entonces el código queda así:
Pero si escribo, por decir algo, "1", luego BACKSPACE, luego "2" y "3", en el Edit aparece "2/3". Ya no está resultando "mucho más fácil", ¿no crees? // Saludos |
|
#7
|
|||
|
|||
|
Bueno eso que has dicho es cierto, pero tampoco hay que dramatizar
, tiene facil solucion, tan solo hay que modificar un aspecto:cada vez que se pulse una tecla, en vez de contar los caracteres que pulsamos, (incluyendo el BackSpace o el Delete...), podemos capturar la longitud de la cadena contenida en el TEdit +1 (puesto que el evento ocurre antes de que aparezca el caracter pulsado), y si es multiplo de 3 (puesto que '/' ocupa las posiciones 3n), entonces añadimos el '/', con la condicion de filtrar solo aquellas teclas que nos interesan (todas menos BackSpace y Delete). Ahi os dejo el codigo:
la linea comentada como //añadido... sirve para que, por si algun casual se posiciona el cursor en una posicion distinta a la ultima, al presionar la tecla, se escriba forzosamente al final...(esta linea es opcional, a gusto de lo que se quiera...) Bueno eso es todo. Saludos Última edición por HySTD fecha: 20-09-2006 a las 15:26:09. |
|
#8
|
||||
|
||||
|
¿que pasaría cuado un usuario copia una fecha incorrecta de algún otro lado y la pega en este control?
__________________
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como agrego un modulo a varios proyectos | Rmartin | Varios | 1 | 14-08-2006 19:46:45 |
| Como Realizar una consulta desde un Tedit? | ing.cagn | SQL | 7 | 06-01-2006 20:47:12 |
| tchar , como agrego datos ? | genarol | Varios | 3 | 29-11-2004 19:43:18 |
| Pasar el valor de un TEdit dentro de un StringGrid a otro TEdit que está fuera | atirado | Varios | 4 | 11-09-2004 19:13:48 |
| Como agrego el componente BDEClientDataSet en delphi 7 | xtrem77 | Conexión con bases de datos | 2 | 20-11-2003 00:31:57 |
|