Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2006
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Question ¿Selecciones iguales?

Por favor, necesito ayuda....

Esto puede parecer algo de poca importancia, pero no lo es (al menos para mí).

Veréis, todos nosotros conocemos las propiedades SelStart y SelLength del TMemo. SelStart indica dónde empieza la selección de texto y SelLength cómo es de larga esa selección.

Ahora haced lo siguiente (para que pueda explicaros mejor mi problema):
1º abrid el Bloc de Notas (o hacéis un programa en Delphi con un TMemo).
2º Escribís el texto "12345678901234567890"
3º Colocáis el cursor en la posición 10 (después del cero).
4º con el ratón o el teclado hacéis una selección hasta que el cursor se quede en la posición 5.

hastá aquí bien. Todo el mundo (menos yo, luego lo explico) estará de acuerdo en que SelStart vale 5 y SelLength vale 5.

ahora hacer justo lo contrario, es decir, os colocáis en la posición 5 y seleccionáis hasta la posición 10. Aquí sí que estamos todos de acuerdo en que SelStart y SelLength valen otra vez 5. Estas propiedades valen lo mismo que en el caso anterior, pero los casos no son los mismos, ya que antes el cursor estaba en 5 y ahora está en 10.

¿Qué pasa aquí?

Mi sugerencia es esta: SelStart debería indicar dónde a empezado a hacerse la selección, y SelLength debería poder tomar valores positivos o negativos, según la posición del cursor con respecto a SelStart (en el primer caso -5 y en segundo +5).

¿Alguien puede proporcionarme alguna solución para que esto sea así?
Intenté crear un componente derivado de TMemo para ello, algo así
Código Delphi [-]
unit NewMemo
 
...
 
type  TNewMemo=class(TMEmo)
         protected
        function GetSelStart: integer;override;
        function GetSelLength:integer; override;
        procedure SetSelStart(Value:integer);override;
        procedure SetSelLength(Value:integer);override;
...

pero no tengo ni idea de qué código poner.


Esto tiene su importancia en que en un programa tengo que poner la opción "Buscar a partir del cursor". ESto es muy facil cuando no hay selección(cursor=selstart) pero cuando hay texto seleccionado...


GRACIAS
Responder Con Cita
  #2  
Antiguo 13-07-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
Mejor date una vuelta por la taberna.


No, ya en serio, date un vuelta por la taberna.

Las opciones "Buscar a partir del cursor" y "Buscar en la selección" no son, en mi opinión, compatibles ni combinables y sólo causarías confusión en el usuario.

Mejor pásate por la taberna y tómate una cerveza con los parroquianos.

// Saludos
Responder Con Cita
  #3  
Antiguo 13-07-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿y para que quieres número negativos en el SelLenght?

sería mejor que comprobaras si sellenght es mayor a cero; si lo es, entonces utiliza la propiedad SelText, si no es mayor a cero (entiéndase: no hay nada seleccionado, haces la búsqueda a partir del cursor.
__________________

Responder Con Cita
  #4  
Antiguo 14-07-2006
samantha jones samantha jones is offline
Miembro
 
Registrado: ago 2004
Posts: 46
Poder: 0
samantha jones Va por buen camino
no logro entender para que quieres hacer eso?
Responder Con Cita
  #5  
Antiguo 17-07-2006
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
no me entienden... lo suponía, soy así de raro

Cuando comprueba SelLength siempre es positivo....
Responder Con Cita
  #6  
Antiguo 17-07-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
si, siempre es positivo
__________________

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
...Todas són iguales... FunBit Humor 2 29-12-2005 15:51:45
Disctinct con registros iguales Barzaugc SQL 5 30-09-2005 21:34:24
consulta de registros iguales gabynuñez Conexión con bases de datos 6 29-07-2005 13:51:04
Select Dos Tablas Iguales JROMAN SQL 2 22-02-2005 17:08:43
Dos datos iguales en Busqueda. kwan Conexión con bases de datos 4 13-09-2003 00:28:51


La franja horaria es GMT +2. Ahora son las 22:56:31.


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