USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  SUBSTITUIR LETRAS NO ARQUIVO TEXTO
LUIZ PEDRO
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 05/06/2008 14:51 hs            
Galera boa tarde !!

Estou com o seguinte problema, preciso remover de um arquivo texto o numero 1 que esta na coluna 301 de alguns registros do arquivo e gerar um novo arquivo com todos os dados do arquivo anterior mas com a coluna 301 vazia, tentei com o replace mas nao estou tendo sucesso, alguém tem alguma sugestao ? Segue o codigo que tentei fazer.

Public Function altera_melhoria()

Dim flag As String
Dim texto As String
  
'FAZENDO A CRIAÇÃO DO ARQUIVO
nomearquivo = "TESTE" & Now & ".txt" 'criando um novo arquivo
nomearquivo = Replace(nomearquivo, " ", "")
nomearquivo = Replace(nomearquivo, "/", "")
nomearquivo = Replace(nomearquivo, ":", "")

'inicializa
arqdest = FreeFile
  Open App.path & "" & nomearquivo For Random As arqdest
Close #arqdest
MsgBox "O arquivo  '" & nomearquivo & "'", , "Arquivo Criado com sucesso"

'ABRINDO O ARQUIVO CRIADO
Open App.path & "" & nomearquivo For Append As arqdest
  
'ABRINDO O ARQUIVO DE ORIGEM
arqori = FreeFile
Form2.CommonDialog1.DialogTitle = "Selecione o arquivo para pesquisa"
Form2.CommonDialog1.InitDir = App.path
Form2.CommonDialog1.Filter = "Arquivos texto (*.txt)|*.txt| Todos os arquivos (*.*)|*.*|"
Form2.CommonDialog1.FilterIndex = 2
Form2.CommonDialog1.ShowOpen
caminho = Form2.CommonDialog1.FileName
  
'inicializa

Open caminho For Input As arqori
  
Do Until EOF(arqori)
Line Input #arqori, linha
flag = Mid(linha, 301, 1)
texto = Replace(flag, "1", "L")
If flag = "1" Then
totallinhas = totallinhas + 1
Print #arqdest, linha
  
  End If

Loop
  
  MsgBox "Operacao concluida !"
  Close #arqori
   Close #arqdest


End Function
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 05/06/2008 15:03 hs            
Luiz só não entdi coluna 301, isto é porque o seu arquivo está tabulado, ou é uma string com mais 300 caracteres?
   
LUIZ PEDRO
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 05/06/2008 16:40 hs            
E ai blz

Este é um arquivo tabulado, ou seja este arquivo esta dentro de um layout para ser processado em um banco de dados, mas estou precisando tratar estes arquivos por um tempo pois esta havendo problema nesta flag que esta na coluna 301, preciso tirar o numero 1 desta coluna e deixar em branco ate que o problema no sistema seja resolvido.
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 05/06/2008 17:15 hs            
Vamos primeiro o instr não vai funcinar o replace pode alterar mais de uma string no arquivo texto, então temos de descobrir primeiro um modo de reconhecer as tabulações, para podermos fazer a alteração.
 
uma dica pegue manualmente uma destas linhas até onde está o numero
 
(rwrwe 10202  akajksk 10sojjksjk kakdksdjk  1)  tetetkalala
 
cole dentro de um len para saber a quantidade de strings tem até este numero
 
e depois sim usar o replace da seguinte forma
 
supondo que até o 1 existem 20 caracteres, numero descoberto com a dica anterior
 
então você vai fazer isto:
 
' veja bem eu não contei as tabulações e sim os caracteres
' outra dica pra saber onde está a tabulação é contar o numero de caracteres por TAB
' e multiplicar por 301 que é a quantidade de tabulações
 
flag = Mid(linha, 18,5)            ' repare que usei a quant de carateres, 18 são 2 caracteres antes
                                         ' e 5 para que o mid retire cinco caracteres onde vai estar este 1
                                         ' ex: "  1  "
texto = Replace(flag, "1", "L")  ' e agora você faz a substituição
se não entendeu diga
TÓPICO EDITADO
   
LUIZ PEDRO
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 05/06/2008 18:02 hs            
E ai Treze

Neste caso que vc explicou, o arquivo nao esta com tabulacoes, este arquivo esta dentro de um layout padrao, exemplo o codigo esta na coluna 1 ate 10 ou nome esta na coluna 36 ate a 72, ou seja há um inicio e fim para cada tipo de registro neste caso o que preciso apagar é o numero 1 da coluna 301, coloquei aquele "L" só para ver o que estava havendo mas a ideia e deixar a coluna em branco.
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 05/06/2008 18:11 hs            
Tem como postar uma linha deste aqruivo pra nós analizarmos
 
   
Página(s): 1/4      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página