Ricardo, não entendi o seu problema, mas estou mandando um exemplo de como ler arquivo texto.

! CARREGA ARQUIVO

If SalFileOpen( hFile, "C:\\ARQUIVADO.TXT", OF_Read )

            Loop

                        ! O 380 é a qtd de caracteres da linha

                        If SalFileGetStr( hFile, vl_sStrArq, 380 )

                                   !

                                   ! Após ler a linha insere no banco

                                     Caso queira, vc pode ler a variável vl_sStrArq pegando caracter a caracter bastando apenas usar a função

                                     SalStrMidX().

                                     Se a posição não for fixa vc pode ler a variável procurando pelo separador, aí vc precisaria criar um looping.

                                                          

                                   Call SqlPrepareAndExecute(hSqlInsert, vl_sCmd)

                        Else

                                   !

                                   Call SqlCommit(hSqlInsert)

                                   !

                                   Break

                                   !

            !

            Call SalFileClose( hFile )

            !

 

Se precisar posso detalhar mais.

 

Espero ter ajudado.
 
Warlem Amorim

 


De: Ricardo Gomes [mailto:[EMAIL PROTECTED]
Enviada em: terça-feira, 9 de maio de 2006 11:27
Para: [email protected]
Assunto: [sqlwin] SalFileRead

 

Pessoal, tenho um arquivo onde uso SalFileGetChar para ler seu conteúdo. Esse arquivo possuiu caracteres nulos (seria o caracter '\0' em C). Como SalFileGetChar ler somente um caracter por vez, pensei em usar SalFileGetRead para aumentar a performance da minha rotina, pois aí leria vários caracteres de cada vez. Ocorre que, se eu usar SalFileRead para ler o conteudo, sabendo que o primeiro caracter a ser lido não é nulo, o ponteiro arquivo que é recuperado com SalFileTell vai para uma posição bem elevada, apesar de eu informar em SalFileRead que quero ler somente 11 bytes. Além disso, a variável que receberia o valor vem em branco, apesar do retorno da SalFileRead acusar que foram lidos 11 bytes. Será que a existência de caracteres nulos está causando esse problema? Alguém já passou por isso e conseguiu uma solução?

 

Obrigado.

 

Ricardo.

Responder a