Ir para conteúdo
Fórum Script Brasil
  • 0

[Resolvido] Substituir caracter de arquivo txt


FFernando

Pergunta

Boa tarde galera,

Estou com um programinha e que tenho que ler um arquivo TXT:

LOAD DATA INFILE "C:\X.UAS"

INTO TABLE Teste.TMP_BASE_DADOS
 SINGLEROW
  TRUNCATE

  (TIPO_REGISTRO     POSITION(1:1),  
   FONTE_PAGADORA    POSITION(2:15),
   IDENTIFICACAO     POSITION(16:29),
   CODIGO_TRIBUTO    POSITION(30:33),
   SIGLA_SISTEMA     POSITION(34:36))
O programa deve substituir o que esta entre aspas quando o usuario digitar o novo caminho e arquivo no edit1.text eu fiz assim:
sBufferOrig := StringReplace(sBufferOrig, 'X', Edit1.text, [rfReplaceAll, rfIgnoreCase]);

Ele substitui direitinho, mas tem um problema.

Caso altere a letra X o programa não irá mais funcionar, então como q faço p substituir de outra forma? independentemente de ser X, a, B... :wacko:

Editado por FFernando
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Veja este exemplo:

LOAD DATA INFILE "CAMINHO"

INTO TABLE Teste.TMP_BASE_DADOS

SINGLEROW

TRUNCATE

(TIPO_REGISTRO POSITION(1:1),

FONTE_PAGADORA POSITION(2:15),

IDENTIFICACAO POSITION(16:29),

CODIGO_TRIBUTO POSITION(30:33),

SIGLA_SISTEMA POSITION(34:36))

e voce quer modificar sempre o que está entre aspas "CAMINHO" pelo caminho e o nome do arquivo, sem que o usuario tenha que digitar.

então voce pode fazer desta maneira:

IF OpenDialog1.Execute then
      sBufferOrig := StringReplace(sBufferOrig, 'CAMINHO', OpenDialog1.FileName, [rfReplaceAll, rfIgnoreCase]);

OBS : Use o componente OpenDialog da paleta Dialogs

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Jonas,

Obrigado, estou usando o openDialog.

mas o problema persiste..

Pois ele deve ler o arquivo

LOAD DATA INFILE "CAMINHO"

INTO TABLE Teste.TMP_BASE_DADOS
SINGLEROW
TRUNCATE

(TIPO_REGISTRO POSITION(1:1),
FONTE_PAGADORA POSITION(2:15),
IDENTIFICACAO POSITION(16:29),
CODIGO_TRIBUTO POSITION(30:33),
SIGLA_SISTEMA POSITION(34:36))
E alterar o CAMINHO, mas ele ira gravar no MESMO arquivo, então ficara
LOAD DATA INFILE "C:\teste.txt"

e caso eu queira gravar novamente outro arquivo, ele não terá mais o "CAMINHO" e sim o "C:\teste.txt" :huh:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...