![]() |
![]() |
| 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
|
|||
|
|||
|
Lo que quieres que se pueda ingresar una sola coma? Pero que vas a meter en edit? Explicame para ver si te puedo ayudar....
__________________
if Vivir = Vivir + Aprender then Aprender = ? Alfredo Borges |
|
#2
|
||||
|
||||
|
Hola alfredosg19
¿Lo que quieres es que el contenido del edit sea numérico (integer o float)? Si es así, puedes definirte una función de este estilo:
Estoy escribiendo de memoria... A esta funcion la llamas desde el evento onKeyPress del Edit de esta forma:
Espero que te sirva...
__________________
La violencia es el último recurso del incompetente. (Salvor Hardin) |
|
#3
|
|||
|
|||
|
Me da error
Hola, he aplicado el ejemplo que me dejaste pero me sigue dando error
, aprovecho para explicar el problema mejor. Tengo un Tedit en el que solo quiero permitir entrar numeros, hasta aquí todo está bien porque pongo este coódigo en el procedure Código:
FrmCanvi.edPagatKeyPress(Sender: TObject; var Key: Char); begin If (contarcomes(edPagat.Text)=0) then If Not (Key IN ['0'..'9',#8,',']) then key := #0; if (contarcomes(edPagat.Text)>0) or (key=',')then If Not (Key IN ['0'..'9',#8]) then key := #0; end; Código:
function TfrmCanvi.contarcomes(n:string): integer; var car: string; i,coma: Integer; begin coma:=0; For I:=0 to Length(n) do car:=copy(n,i,1); if car=',' then coma:=coma+1; result:=coma; end;
__________________
"La perseverancia es el camino del éxito" |
|
#4
|
||||
|
||||
|
No estoy muy seguro de entenderte...
Con lo que te he pasado evitas: - Que se introduzcan letras o espacios o cualquier cosa que no sea un número o el DecimalSeparator. - No permite que la primera sea una coma (o el separador decimal que sea) - No permite más de una coma (o el separador decimal que sea) Puede que tú problema (si me he enterado) esté en esa cuenta que haces según se introducen los dígitos... y sobre todo en el momento en el que el usuario inserta la coma... ¿Y si, cuando haces esa cuenta, si la última es la coma no la "obvias"? Me explico (estoy espeso): si cuando vas a hacer la cuenta, el número introducido es, por ejemplo, "12334,"... Quítale la "," y usa "12334" para la operación ¿Es eso?
__________________
La violencia es el último recurso del incompetente. (Salvor Hardin) |
|
#5
|
|||
|
|||
|
Gracias Ohcan, pero...
Gracias Ohcan por tu ayuda, a ver el problema está en que me da error y no podido si quiera ver si lo que me dijiste funciona (que seguro que sí, quiero decir que no lo he podido probar), el fallo es que algo falta en la función y me dice esto:
[Error] UFRMCanvi.pas(111): Not enough actual parameters
__________________
"La perseverancia es el camino del éxito" |
|
#6
|
||||
|
||||
|
¡Ah!
![]() Bueno... el error.. ¿en qué línea (dinos el código) te salta? En esa línea debes estar haciendo una llamada a una función o un procedimiento, pero te falta incluir algún/os parámetro/s... O algo por el estilo... ![]()
__________________
La violencia es el último recurso del incompetente. (Salvor Hardin) |
|
#7
|
|||
|
|||
|
Aqui da el error.
El error me da aquí:procedure TfrmCanvi.edPagatKeyPress(Sender: TObject; var Key: Char); begin Key := ComprobarNumerico(EdPagat.Text; Key:Char); Ayyy....
__________________
"La perseverancia es el camino del éxito" |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|