ABRIR UM ARQ TXT E ALTERA-LO
SENHORES,
TENHO UM ARQUIVO TXT ASSIM:
01/05/07 100 237
02/05/07 200 237
03/05/07 300 237
04/05/07 400 237
05/05/07 500 237
06/05/07 600 237
07/05/07 700 237
VCS CONHECEM ALGUM EXEMPLO QUE EU POSSA FAZER PELO VB DE ABRIR ESSE ARQUIVO E INCLUIR UM CERTO DADO NUMA CERTA COLUNA E SALVAOR O ARQUIVO SEM DISPOSICIONAR AS COLUNAS PARA A DIREITA?
NO EXEMPLO ACIMA, NO FINAL O ARQUIVO FICARIA ASSIM:
01/05/07 100 01 237
02/05/07 200 02 237
03/05/07 300 03 237
04/05/07 400 04 237
05/05/07 500 05 237
06/05/07 600 06 237
07/05/07 700 07 237
NOTEM QUEM EU INCLUI UM NUMERO SEQUENCIAL NA POSICAO 14 SEM DISPOSICIONAR OS CARACTERES PARA A DIREITA.
VEJAM O ARQUIVO COMO ESTAVA E DEPOIS COMO FICARIA:
01/05/07 100 237
02/05/07 200 237
03/05/07 300 237
04/05/07 400 237
05/05/07 500 237
06/05/07 600 237
07/05/07 700 237
01/05/07 100 01 237
02/05/07 200 02 237
03/05/07 300 03 237
04/05/07 400 04 237
05/05/07 500 05 237
06/05/07 600 06 237
07/05/07 700 07 237
CONHECEM ALGO PARECIDO???
UM ABRACO A TODOS
TENHO UM ARQUIVO TXT ASSIM:
01/05/07 100 237
02/05/07 200 237
03/05/07 300 237
04/05/07 400 237
05/05/07 500 237
06/05/07 600 237
07/05/07 700 237
VCS CONHECEM ALGUM EXEMPLO QUE EU POSSA FAZER PELO VB DE ABRIR ESSE ARQUIVO E INCLUIR UM CERTO DADO NUMA CERTA COLUNA E SALVAOR O ARQUIVO SEM DISPOSICIONAR AS COLUNAS PARA A DIREITA?
NO EXEMPLO ACIMA, NO FINAL O ARQUIVO FICARIA ASSIM:
01/05/07 100 01 237
02/05/07 200 02 237
03/05/07 300 03 237
04/05/07 400 04 237
05/05/07 500 05 237
06/05/07 600 06 237
07/05/07 700 07 237
NOTEM QUEM EU INCLUI UM NUMERO SEQUENCIAL NA POSICAO 14 SEM DISPOSICIONAR OS CARACTERES PARA A DIREITA.
VEJAM O ARQUIVO COMO ESTAVA E DEPOIS COMO FICARIA:
01/05/07 100 237
02/05/07 200 237
03/05/07 300 237
04/05/07 400 237
05/05/07 500 237
06/05/07 600 237
07/05/07 700 237
01/05/07 100 01 237
02/05/07 200 02 237
03/05/07 300 03 237
04/05/07 400 04 237
05/05/07 500 05 237
06/05/07 600 06 237
07/05/07 700 07 237
CONHECEM ALGO PARECIDO???
UM ABRACO A TODOS
Cara o q vc pode fazer é o seguinte
Como seus valores são fixos...crie umas arrays ou matrizes (DataEvento(300), por exemplo, abra o txt com o código abaixo e va preenchendo as matrizes mais ou menos assim
Para usar a função abaixo:
Text1.Text = AbreArquivo("C:\Texto.TXT")
Function AbreArquivo(sArquivo As String) As String
Dim iARQ As Integer
Dim sLinha As String
Dim sResult As String
Dim Contador as integer
Contador = 1
iARQ = FreeFile
Open sArquivo For Input As iARQ
Do While Not EOF(iARQ)
Line Input #iARQ, sLinha
Matriz1(Contador) = Left(sLinha, 8)
Matriz2(Contador) = Mid(sLinha, 10, 3)
Matriz3(Contador) = Right(sLinha, 3)
Contador = Contador + 1
Loop
Close iARQ
End Function
Assim ele vai preencher as matrizes e tal..
daàcom uma 4ê matriz vc coloca esses novos códigos q deseja inserir e depois basta criar o txt novamente assim
Contador = Contador + 1
Open "C:\Texto.txt" for Output as #1
Print #1, Matriz1(Contador) & " " & Matriz2(Contador) & " " & Matriz4(Contador) & " " & Matriz3(Contador)
Close #1
Pronto....ahuahuahuaha...eu acho...to sem vb pra testar mas creio q assim poderá fazer...ou alguem com uma forma mais resumida apareça..mas entendeu a idéia?
Abraços e boa sorte
Sinkertec,
veja o codigo abaixo como fiz (mas dá erro)
o erro é:
veja o codigo abaixo como fiz (mas dá erro)
o erro é:
Sub or Function not defined. Esse erro dá quando chega na linha:
Matriz1(Contador)=Left(sLinha,8)
[c]Private Sub Form_Load()
Text1.Text = AbreArquivo("C:\Textos.TXT")
End Sub
Function AbreArquivo(sArquivo As String) As String
Dim iARQ As Integer
Dim sLinha As String
Dim sResult As String
Dim Contador As Integer
Contador = 1
iARQ = FreeFile
Open sArquivo For Input As iARQ
Do While Not EOF(iARQ)
Line Input #iARQ, sLinha
Matriz1(Contador) = Left(sLinha, 8)
Matriz2(Contador) = Mid(sLinha, 10, 3)
Matriz3(Contador) = Right(sLinha, 3)
Contador = Contador + 1
Loop
Close iARQ
End Function
vc declarou as arrays?
Se fizer o código de baixo n funciona? qual erro dá?
com declara as arrays (nunca fiz isso)
o erro que dá
quando chega na linha: Matriz1(Contador) = Left(sLinha, 8)
o erro que dá
quando chega na linha: Matriz1(Contador) = Left(sLinha, 8)
Sub or Function not defined.
Assim... Dim Matriz(100) as String
ou seja...vc poderá colocar 100 itens
Matriz(1)
Matriz(2)
entendeu..faça isso no Declarations do Form
Que tal pensar simples????
Esse negócio de trabalhar com matriz é bonito, mas não necessário para a finalidade a que é inserir uma nova coluna no arquivo.
Trabalhe com 2 arquivos, sendo um de leitura e outro de gravação.
1) Leia o primeiro arquivo;
2) Formate a linha a ser gravado no segundo arquivo;
3) Grave o segundo arquivo.
Ao término exclua o primeiro arquivo e renomeie o segundo com o nome do primeiro, tudo isso pode ser feito via aplicação.
Esse negócio de trabalhar com matriz é bonito, mas não necessário para a finalidade a que é inserir uma nova coluna no arquivo.
Trabalhe com 2 arquivos, sendo um de leitura e outro de gravação.
1) Leia o primeiro arquivo;
2) Formate a linha a ser gravado no segundo arquivo;
3) Grave o segundo arquivo.
Ao término exclua o primeiro arquivo e renomeie o segundo com o nome do primeiro, tudo isso pode ser feito via aplicação.
Como queira...o repert[orio aki é vasto! ahuahuhauhau
Lembrando q essa variável VALOR q coloquei é onde eu sei la o q está o código q quer inserir
Text1.Text = AbreArquivo("C:\Texto.txt")
Function AbreArquivo(sArquivo As String) As String
Dim iARQ As Integer
Dim sLinha As String
Dim sResult As String
Dim Contador As Integer
Kill "C:\Texto2.txt"
iARQ = FreeFile
Open sArquivo For Input As iARQ
Do While Not EOF(iARQ)
Line Input #iARQ, sLinha
sResult = left(sLinha, Len(sLinha) - 3)
sResult = sResult & Valor
Open "C:\Texto2.Txt" for Append as #1
Print #1, sResult
Close #1
sResult = ""
Loop
Close iARQ
End Function
para concluir
Kill "C:\Texto.txt"
FileCopy "C:\Texto2.txt", "C:\Texto.txt"
Kill "C:\Texto2.txt"
tenta ae ELSVB
Tópico encerrado , respostas não são mais permitidas