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 03-04-2006
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Buscar en un TRichEdit

Necesito buscar una cadena en un TDecRichEdit, que es un componente deribado de TRichEdit. Para buscar estoy usando el dialogo de Buscar TFindDialog, pero aunque muestra la opcion de hacer coincidir mayusculas y minisculas, esa funcion no funciona, con lo que se hace realmente dificil encontrar algo a no ser que este escrito correctamente. Ademas encuentra bien la primera palabra, pero para ver los resultados sucesivos, no pierde el foco la ventana de buscar y por lo tanto hay que ir picando en el TDecRichEdit, el codigo que le he puesto es este:
Código Delphi [-]
procedure TFVerEditar.FD1Find(Sender: TObject);
var
  FoundAt: LongInt;
  StartPos, ToEnd: Integer;
begin
  with MNotasDir do
    begin
      if SelLength <> 0 then
        StartPos := SelStart + SelLength
      else
        StartPos := 0;

      ToEnd := Length(MNotasDir.Text) - StartPos;

      FoundAt := FindText(FD1.FindText, StartPos, ToEnd, [stMatchCase]);
      if FoundAt <> -1 then
        begin
          MNotasDir.SelStart := FoundAt;
          MNotasDir.SelLength := Length(FD1.FindText);
          MNOtasDir.SetFocus;
        end
      Else
        ShowMessage('No encuentro ' + FD1.FindText);
    end;
end;
Esta sacado de la ayuda de delphi.

Un saludo y gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #2  
Antiguo 03-04-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,

¿Probaste a ver si el código que utilizas funciona como esperas en un "TRichEdit" normal y corriente?

Por otro lado, me llama la atención esto, aunque supongo que será un error:

Cita:
(...) aunque muestra la opcion de hacer coincidir mayusculas y minisculas, esa funcion no funciona, con lo que se hace realmente dificil encontrar algo a no ser que este escrito correctamente.
Es que es justo al revés: si no quieres que se presenten resultados sensibles a mayúsculas y minúsculas, tienes que que quitar esa opción, no ponerla, ¿no es así?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 04-04-2006
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Da lo mismo, con el TRichEdit funciona igual de mal. Lo de la opcion de hacer coincidir las mayusculas y las minisculas no funciona, es mas siempre hace la distincion este o no picada la casilla.

Así que sigo teniendo dos problemas:
1º No busca la palabra si no esta escrita exactamente igual (sepodria resolver con la funcion UPPERCASE)
2º Una vez que encuentra la primera palabra, pasa el foco al RichEdit y la palabra aperece sombreada, pero al darle al boton de buscar siguiente, el cuadro de dialogo no pierde el foco, con lo que hay que ir pinchando sobre el RichEdit para ver si esta situado en la palabra que busco, es decir, solo funciona bien la primera vez que encuentra una palabra.

Un saludo y gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
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
Linea en TRichEdit Sonic C++ Builder 8 29-03-2007 16:55:15
Posicion en TRichEdit CARSOFT_AR Varios 0 17-12-2004 19:12:26
Utilización de TRichedit gynch Varios 3 14-05-2004 13:14:06
Trichedit perceptron OOP 1 09-12-2003 16:01:09
TRichEdit vs TMemo shaktale Varios 2 19-09-2003 20:58:57


La franja horaria es GMT +2. Ahora son las 01:52:09.


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