FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Validar tipo de datos en un Tedit..
Hola nuevamente..... tengo un problemita... mi idea es validar los datos ke insertan los usuarios de mi aplicacion a travez de un Tedit. Por ejemplo para ke un Tedit no se kede vacio es simple..
Pero como lo hago para tambien validar ke en el Tedit se puedan ingresar solamente numeros, como en el caso del Tedit anterior ke se tienen que ingresar solamente numeros telefonicos. Bueno mi idea es no usar maskedit . .. Pa variar gracias ..... Última edición por dec fecha: 01-10-2005 a las 18:10:13. Razón: ¡¡Encerrad el código fuente entre las etiquetas [DELPHI] ... [/DELPHI]!! |
#2
|
||||
|
||||
Cita:
a menos que consideres puros espacios en blanco como un dato no vacío Para lo de los números telefónicos te convendría más usar un TMaskEdit. // Saludos |
#3
|
||||
|
||||
Hola,
¿Dónde demonios habré leído yo que algo como lo siguiente era más efectivo? ¿Acaso fue en relación al lenguaje C#? ¿Valdrá para Delphi también, quiero decir, será más efectivo que otra cosa? No recuerdo dónde me enteré de esto, y, sin embargo es obsesión lo mío... ahora siempre lo tengo que hacer así porque me acuerdo de aquello que leí no sé dónde... Esto es, comparar la longitud de la cadena, para saber, si esta es "cero", que no se escribió nada en un "TEdit", en este caso, vamos... Para mí tengo que lo leí en algún artículo, curso, manual o libro sobre C#, que, puesto que se puede hacer algo así: Código:
if (textBox1.Text == string.Empty) { // Aviso a navegantes } Código:
if (textBox1.Text.Length == 0) { // Aviso a navegantes } |
#4
|
||||
|
||||
Saludos
Pienso que la solucion de roman es mas efectiva, ya que con el trim eliminas los espacios en blanco. Pero midiendo la longitud podria ser validado si se deja un espacio, ya que seria diferente de 0. Haciendo una combinacion de ambo, fenomenal
__________________
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! |
#5
|
||||
|
||||
Como bien dice vtdeleon, la razón del Trim es para eliminar los espacios en blanco ya que ' ' no tiene longitud cero.
Lo que dices de la mayor efectividad de Length, en efecto, no sé dónde lo habrás leído ; la llamada a una función siempre será un poco más lenta (unos cuantos nano segundos) por el paso de parámetros al stack y la devolución del valor. Compara el código ensamblado que genera Delphi: Código:
if Length(S) = 0 then mov eax, [ebp-$04] call @LStrLen ; código de LStrLen test eax, eax jz +$03 mov eax, [eax-$04] ret test eax, eax jnz +$0a if S = '' then cmp dword ptr [ebp-$04] jnz +$0a // Saludos |
#6
|
||||
|
||||
Hola,
Pues muchas gracias, roman, por la información. Lamento no recordar dónde leí lo que digo, pero, si se mira el código fuente de XEditor podrá verse cómo hize caso de la lectura aquella... pero pronto dejará de verse así, puesto que corregiré donde sea menester el código que hasta ahora existe por algo parecido a lo que tú has propuesto y demostrado como más efectivo. Gracias de nuevo. |
#7
|
||||
|
||||
Saludos
Cita:
__________________
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! |
|
|
|