Cambiar tedit al teclear en campo memo
Hola. Necesito que un edit cambie cuando escribo en un campo memo (es un contador de caracteres, basicamente necesito q se incremente al escribir en un campo memo).
No se como hacerlo. Lei en un post anterior algo relacionado con keypress pero soy muy novato en delphi y no se donde ubicar el keypress (en que evento). Saludos Ignacio. |
Saludos
En la ventanita donde estan las propiedades hay una pestaña que dice Events y es ahi donde se encuentran lo eventos de cada componente. Allí hallaras el evento que precisas, pero viendo tu duda creo qeu mejor usas el evento OnKeyUp. El codigo es el sgte:
|
Creo que el evento más adecuado sería el OnChange del Memo. Así el contador reflejaría el número de caracteres en cualquier circunstancia.
// Saludos |
Re: onchange
El problema de hacerlo asi (al menos ese problema tuve cuando programaba en Visual Basic), es que cuando borras un caracter tambien te cuenta como uno mas, entonces no me sirve para lo que yo quiero.
O sea escribo un caracter, me cuenta 1, lo borro y sigue marcando 1 (o tal vez 2). se entiende? Saludos Cita:
|
Extraño, porque lo probé como dice roman y funciona a la perfección! Pero si lo haces como decías en el primer mensaje (con OnKeyPress) sí sucede lo que comentas
Saludos |
En lugar de pensar en VB haz la prueba, no te llevará más de dos minutos. El evento OnChange se genera cada vez que cambia el contenido del control, sea porque añades o borras caracteres o porque pegas contenido del portapapeles, así que siempre mostrará el número exacto de caracteres.
// Saludos |
Resultado
Ok ya probe. Lo que varía entre una y otra opcion es que el keyup actualiza el contador al soltar las teclas, es decir si por ejemplo tenemos apretado el backspace para borrar, recien muestra el resultado al soltarlo.
Me parece q lo voy a dejar asi ya que al cambiar menos el contador supongo que será mas rapido, por mas que no muestre en todo momento el valor real (lo cual no necesito). El problema que surge de usar cualquiera de las 2 opciones es que cuando borro todo el texto me marca como 2 caracteres por mas que no quede nada. Una vez tambien borre todo y me quedó marcando 4 caracteres. Porque puede ser esto?? Como hago para que en el campo memo no salga el nombre que le puse al objeto? Saludos Ignacio |
Hola,
Cita:
Cita:
|
La franja horaria es GMT +2. Ahora son las 03:18:54. |
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