Texto encontrado
Posted: Mon Jun 23, 2008 3:08 pm
Antonio
Buenos saludo cordial
Con este código hago una búsqueda de texto a un campo memo de una DBF que presento en un Get multilínea y lo hace muy bien el cursor se sitúa exactamente antes del carácter o frase que esta en la variable cContenido,lo que ocurre es que el texto encontrado no se ubica en la parte visible del Get, el texto encontrado no se mueve o no se reubica en la primer línea del Get ¿Cómo lo puedo lograr?
Gracias
function buscatexto(cContenido,cVerso)
local oDlg, oGet, cText := cContenido
local n := 1, nCRLFs := 0, nAt := At( cVerso, cText )
while n < nAt
if SubStr( cText, n++,1 ) == CRLF
nCRLFs++
endif
end
DEFINE FONT oFont NAME "Arial" SIZE 9, 15 //BOLD
DEFINE DIALOG oDlg SIZE 300, 200
@ 0, 0 GET oGet VAR cText OF oDlg SIZE 150, 100 MEMO Font oFont;
Color(RGB(0,0,255))
oGet:bGotFocus = { || oGet:SetSel( 0, 0 ), oGet:SetPos( nAt - 1 ) }
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT SkipLines( nCRLFs, oGet, nAt )
return nil
//----------------------------------------------------------------------------//
function SkipLines( nLines, oGet, nAt )
local n
for n = 1 to nLines
oGet:PostMsg( WM_VSCROLL, 1 )
next
return nil
//*************************************************
Cordialmente
Jairo Barbosa
Buenos saludo cordial
Con este código hago una búsqueda de texto a un campo memo de una DBF que presento en un Get multilínea y lo hace muy bien el cursor se sitúa exactamente antes del carácter o frase que esta en la variable cContenido,lo que ocurre es que el texto encontrado no se ubica en la parte visible del Get, el texto encontrado no se mueve o no se reubica en la primer línea del Get ¿Cómo lo puedo lograr?
Gracias
function buscatexto(cContenido,cVerso)
local oDlg, oGet, cText := cContenido
local n := 1, nCRLFs := 0, nAt := At( cVerso, cText )
while n < nAt
if SubStr( cText, n++,1 ) == CRLF
nCRLFs++
endif
end
DEFINE FONT oFont NAME "Arial" SIZE 9, 15 //BOLD
DEFINE DIALOG oDlg SIZE 300, 200
@ 0, 0 GET oGet VAR cText OF oDlg SIZE 150, 100 MEMO Font oFont;
Color(RGB(0,0,255))
oGet:bGotFocus = { || oGet:SetSel( 0, 0 ), oGet:SetPos( nAt - 1 ) }
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT SkipLines( nCRLFs, oGet, nAt )
return nil
//----------------------------------------------------------------------------//
function SkipLines( nLines, oGet, nAt )
local n
for n = 1 to nLines
oGet:PostMsg( WM_VSCROLL, 1 )
next
return nil
//*************************************************
Cordialmente
Jairo Barbosa