Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-08-2006
nachito_tuc nachito_tuc is offline
Miembro
 
Registrado: jul 2006
Ubicación: Tucuman
Posts: 17
Poder: 0
nachito_tuc Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 10-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
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:
Código Delphi [-]
edit1.Text:=inttostr(length(mmo1.Lines.Text));
__________________
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!
Responder Con Cita
  #3  
Antiguo 10-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #4  
Antiguo 10-08-2006
nachito_tuc nachito_tuc is offline
Miembro
 
Registrado: jul 2006
Ubicación: Tucuman
Posts: 17
Poder: 0
nachito_tuc Va por buen camino
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:
Empezado por roman
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
Responder Con Cita
  #5  
Antiguo 10-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
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
__________________
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!
Responder Con Cita
  #6  
Antiguo 10-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #7  
Antiguo 15-08-2006
nachito_tuc nachito_tuc is offline
Miembro
 
Registrado: jul 2006
Ubicación: Tucuman
Posts: 17
Poder: 0
nachito_tuc Va por buen camino
Unhappy 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
Responder Con Cita
  #8  
Antiguo 15-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Nachito
Como hago para que en el campo memo no salga el nombre que le puse al objeto?
Editando la propiedad "Lines" del "TMemo". Generalmente se hace en tiempo de diseño, desde el Inspector de Objetos de Delphi. Borras el "Memo1" que se pone por defecto y ya está.

Cita:
Empezado por Nachito
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).
¿Cuánto más rápido? Es más, ¿seguro que es más rápido? ¿Y qué tan fiable? ¿Probaste con el evento "OnChange"? Si este último resulta más fiable para obtener los mejores resultados, tal vez compense la "lentitud" (¿del orden de microsegundos? ¿qué es un microsegundo?).
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TEdit Propiedad Text problema para cambiar alucardo OOP 12 29-05-2006 16:12:08
Igualar campo STRING con campo MEMO en una SQL ciscu SQL 2 19-01-2006 10:05:23
Campo memo tabla escribirlo en componente Memo Sayuri Conexión con bases de datos 2 18-08-2005 13:58:01
Memo como cambiar el tipo a bold ? Pascual Montes Varios 1 09-12-2004 07:52:03
cambiar el tipo de letra de un memo, a partir del cursor soyhugo Varios 3 27-02-2004 16:13:35


La franja horaria es GMT +2. Ahora son las 19:29:24.


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
Copyright 1996-2007 Club Delphi