![]() |
![]() |
| 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
|
|||
|
|||
|
Cierto, La reutilizacion de codigo es una de las ventajas mas importantes que ofrece la POO, por eso es bueno hacer uso de ella, pero este no es el caso... ya que sigo manteniendo que el iniciador de este hilo quiere usar un TEdit y el evento OnKeyPress... Por eso se ha de buscar la solucion con estas condiciones (que como veis se puede lograr, y no con mucho esfuerzo, de ahi lo de "es facil"). Es verdad que con el MaskEdit te ahorrarias mucho, pero si el quiere saber como se resuelve con un TEdit hay que adaptarse a ello.
Tambien es cierto que el codigo se puede mejorar, por ello os invito a que lo perfeccioneis si quereis... Así concluyo que si Fingolfinmx tiene restriccion a la hora de usar componentes (se tiene que adaptar), pues tendremos que recurrir a la solucion que he dicho anteriormente, pero si no es el caso, es decir, se tiene la libertad de usar los componentes y eventos que se quiera, entonces usa el MaskEdit, o cualquier otro tipo de componente para ello... que hay muchos... Un saludo Última edición por HySTD fecha: 21-09-2006 a las 16:33:07. |
|
#2
|
||||
|
||||
|
Cita:
// Saludos |
|
#3
|
|||
|
|||
|
veo que e generado un poco de polemica...
lo cual siempre es bueno, lo unico que necesitaba saber era la pregunta original, todo lo demas estaba resuelto. mi codigo queda asi al final de cuentas :procedure Tfrmcaptura.Edit1KeyPress(Sender: TObject; var Key: Char); begin contador:=contador+1; if contador =7 then begin Perform(WM_NEXTDLGCTL, 0, 0); contador:=1; end else Begin if ((contador mod 2)=0) and (contador>2) then begin Edit1.Text:=Edit1.Text+'/'; Edit1.SelStart:=Length(Edit1.Text); end; end; begin if key=#13 then//Si presiona enter BEGIN numero:=edit1.text; if ValidaFecha(numero) then Perform(WM_NEXTDLGCTL, 0, 0) else begin ShowMessage('La Fecha esta incompleta, debe contener 6 numeros'); edit1.text:=''; contador:=1; end; End; if key=#32 then //Para Poder presionar Barra Espaciadora else if key=#8 then //Para Poder presionar Backspace (Borrar) else If not (key in ['0'..'9']) then key:=#0; end; end; // FUNCION PARA VALIDAR LA FECHA function ValidaFecha(Numero:string):boolean; var rango :string; i : integer; begin rango:=''; for i:=1 to Length(Numero) do if Numero[i] in ['0'..'9'] then rango:=rango+Numero[i]; {Si no tiene 6 digitos, no es válido} if (Length(rango)=6) then Result:=True else Result:=FALSE; end; // POR SI A ALGUIEN SE LE OCURRE VOLVER A CAPTURAR LA FECHA procedure Tfrmcaptura.Edit1Click(Sender: TObject); begin edit1.text:=''; contador:=1; end; bueno... que les parece?? todo lo deduje leyendo sus diversos "posts". y la verdad me empieza a agradar bastante Delphi, gracias a personas como ustedes Saludos ![]() |
|
#4
|
|||
|
|||
|
HySTD tiene mucha razon, por ke mi inquietud era hacer ese codigo en especial usando un Tedit. por otro lado nunca pregunte que cual era la manera mas facil de hacerlo (aunque nunca imagine que existiera MaskEdit). y veanlo del lado positivo, con preguntas tan extrañas como la mia lo unico que se logra es mantener nuestro lado analitico despierto y la logica de cada quien funcionando.
Apasionense defendiendo su punto de vista, pero no caigan en el error de hacer creer a los demas que Ustedes tienen la razon en la manera personal de resolver problemas, que alfin y al cabo para eso nos pagan(Aunque a mi no ). ES POR ESO NADIE ENTIENDE A LAS PERSONAS INVOLUCRADAS EN SISTEMAS !!!! ARRIBA LOS SISTEMAS!!!! ![]() Gracias por sus comentarios. |
|
#5
|
||||
|
||||
|
Considerando la relación costo/beneficio, sigo sin sen ver motivos suficientes para no usar un DTPicker.
__________________
Última edición por ContraVeneno fecha: 21-09-2006 a las 19:39:29. |
|
#6
|
||||
|
||||
|
Cita:
Hasta luego. |
|
#7
|
|||
|
|||
|
Cita:
no te lo tomes a mal, no intento entrar en conflicto con nadie, solo es critica constructiva, no ofendo a nadie, y si lo hago, que me lo haga saber, para retractarme inmediatamente. |
|
#8
|
|||
|
|||
|
Cita:
Por otro lado si consideras que darte opciones es hacerte creer que se tiene la verdad absoluta, pues que te puedo decir, es como un llamado a misa, el que quiere va y el que no NO. Y te regreso lo mismo que tu comentas, no lo tomes a mal, pero tratar de inventar el hilo negro no es la mejor opción, no se si lo que estas haciendo es personal pero si es un proyecto comercial y te aferras a usar Tedit (por el motivo que quieras y mandes) estas desaprovechando el tiempo y tus recursos. Yo no correría ese riesgo, disculpame. Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
![]() |
| 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 |
|