Hola, trato de buscar una cadena dada en un TRichEdit, y funciona al 50% ¿como es eso? pues la cadena la busco a partir del texto seleccionado en un combobox, el problema viene cuando tiene que encontrar esa cadena a mitad del texto que se encuentre en el RichEdit, pongo unas capturas para explicarme mejor.
Captura 1
Captura 2
Captura 3
Como veis, en la captura 1, la cadena a buscar es "Usar mapas UV" cuando pulso el boton "Buscar entrada", selecciona texto mas o menos por donde está la cadena en cuestion, pero no selecciona a esta.
En la segunda captura, debe buscar "Editor de nodos" y si lo encuentra y selecciona correctamente, y por ultimo en la captura 3, debe buscar "Creando piedras manualmente", pero hace lo mismo que en la captura 1
¿Por que?
El código que tengo ahora para las busquedas es este:
Código Delphi
[-]
rocedure TbNotas.Button3Click(Sender: TObject);
var
posicion, desplazamiento, i: integer;
begin
desplazamiento:= 0;
for i:= 0 to editor.Lines.Count -1 do
begin
posicion:= pos(lista.Text,editor.Lines[i]);
if posicion <> 0 then
begin
editor.SetFocus;
editor.SelStart:= desplazamiento + Posicion -2;
editor.SelLength:= Length(lista.Text);
exit;
end;
inc(desplazamiento, 2 + length(editor.Lines[i]));
end;
end;
En la linea del incremento de la variable desplazamiento, si cambio el valor numerico 2 por un valor menor o mayor a este, digamos que la busqueda empeora.
¿Alguna ayuda?
Gracias de antemano.