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

 
 
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
 



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 01:27:39.


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