Bom dia!!!!
Criei e uso em meus sistemas uma função bem simples para exportar dados, que acho que pode funcionar no exemplo que voce deu.
Veja como ela é simples: (15 linhas)
**********************************
Código: Selecionar todos
function SubsText( pArq ,; // Arquivo a ser editado
pPesq ,; // Sub-string a ser pesquisada
pTam ,; // Tamanho da String a ser editada
pStr ) // Nova string (que deve ser do
// mesmo tamanho que pTam!!!)
local cTexto ,; // var tipo str q contem o arquivo inteiro
nLugar ,; // posicao da primeira ocorrencia da string pStr
cNovArq // var com o arquivo ja modificado
cTexto := MemoRead( pArq )
nLugar := At( pPesq, cTexto )
cNovoArq := Stuff( cTexto, nLugar, pTam, pStr )
MemoWrit( pArq, cNovoArq )
return nil
***************************************************
por exemplo:
no arquivo CLIENTES.TXT voce tem:
00001 JOAO DA SILVA
00002 MARIA DE SOUZA
00003 ANTONIO MARCOS
00004 JOSE MEDEIROS
aí vc quer trocar JOSE MEDEIROS por JOSE CARLOS
entao chame a funcao assim:
***********************************
SubsText( "CLIENTES.TXT", "JOSE MEDEIROS", 13, "JOSE CARLOS " )
***********************************
note os 2 espacos no ultimo parametro pois senao ficaria JOSE CARLOSOS
voce pode procurar por substring, mas ela vai pegar sempre a primeira encontrada, e vc nao deve esquecer o tamanho do ultimo parametro ser igual ao penultimo:
***********************************
SubsText( "CLIENTES.TXT", "JOSE", 13, "JOSE CARLOS " )
***********************************
OBS.:
*com um minimo de esforco vc pode melhorar esta funcao em varios aspectos, como pesquisar sempre pelo código, usar Len() para nao precisar colocar aqueles
espacos dento das aspas e etc...
*esta funcao altera o o arquivo original...
Por favor, faça um teste e mande uma resposta...
Att, Stanis Luksys[/code]