Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Solo letras y numeros en edit (https://www.clubdelphi.com/foros/showthread.php?t=2037)

ecfisa 25-05-2010 20:37:29

Hola migueweb.

Dos cosas:

1) Indentá tu código con etiquetas, nos és más fácil de leer.

2) Cinco posts atrás te puse una función que redondea con las cifras decimales que quieras.

Se usa así:
Código:

Edit1.Text:= FloatToStr(Redondea(StrToFloat(Edit6.Text)+
                      StrToFloat(Edit8.Text)+StrToFloat(Edit9.Text)/3, 2));

Donde Redondea es la función, el primer parámetro es el número a redondear
y el segundo parámetro es el número de cifras decimales que queres obtener.

Saludos.

pnsd_89 28-06-2013 17:47:52

perdón por la ignorancia pero el Key = #7 a que tecla se refiere?:confused:

Casimiro Notevi 28-06-2013 18:25:29

El código 7 emite un "beep" por el altavoz interno :)

pnsd_89 28-06-2013 20:21:33

Gracias Señor.
Lo que, no me queda claro es que el #13 = enter
el #27 = escape
el #8 = backspace todos se refieren a una tecla o siempre las tome como tal. O realmente a lo que se refieren a una "acción"?
y el #7 = pitido?
entonces es necesario en la condición preguntar si key = #7 ? si al final de las sentencias se le coloca el "Beep;" para que emita el sonido?

Casimiro Notevi 28-06-2013 20:56:35

Se supone que la pregunta original del hilo es que sólo quería admitir letras y números en un edit, por lo tanto todo lo demás sobra, por eso el código pone que si es cualquier otra cosa (incluido caracteres de control) se eliminan. Tabla ASCII
Aunque hay otras formas más fácil de hacerlo, obviamente.

pnsd_89 28-06-2013 21:03:33

Cita:

Empezado por fidel (Mensaje 364703)
Tampoco son tantas, alrededor de 50, pero si no hazlo así, con pitido incluido en caso de no pulsar letra.
Código Delphi [-]
if not (key in ['a'..'z','A'..'Z', #7, #8, #13]) then 
begin 
  Key := #0; 
  Beep; 
end;

Claro la pregunta original es la que mencionas pero la 4ta respuesta era esta que realmente lo resuelve pero no entiendo la función del #7 en la condición.

Casimiro Notevi 28-06-2013 21:22:55

¡Ah, eso!, seguramente es para que cuando sustituya un carácter "no válido" emita un pitido que llame la atención del usuario que teclea.

Emite el pitido con el chr(7))y que retrocede un carácter atrás con el chr(8), según creo recordar.

Casimiro Notevi 28-06-2013 21:24:01

De todas formas, creo que no tiene mucho sentido.

pnsd_89 28-06-2013 21:28:12

ahh ok el #7 no es una tecla sino es un pitido.
ahora sigo creyendo que el #7 esta mal en la condición if ya que no es necesario(creo) ya que al final emite igual el sonido con la linea

Código Delphi [-]
Beep;

(gracias Casimiro! muchisimas de las cosas que se de Delphi es gracias a tus respuestas y la de Neftali, Jhonny, y otros que solo me recuerdo de su imajen de perfil jeje aqui en el foro. INMENSAMENTE AGRADECIDO SIEMPRE! :) )

Casimiro Notevi 28-06-2013 21:29:34

Ahora que lo miro con más detalle, no es lo que he dicho, simplemente controla que se teclee el chr(7) y el chr(8), no recuerdo si son generados por las teclas de flechas del cursor, la verdad, pero en principio simplemente sobran.

Casimiro Notevi 28-06-2013 21:30:43

Cita:

Empezado por pnsd_89 (Mensaje 462939)
a ya que no es necesario

Eso, no parece necesario.


La franja horaria es GMT +2. Ahora son las 14:07:05.

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