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

Alterando Arquivo .txt


argentino

Pergunta

Criei o form com uma txtbox e 5 botoes,nome(linha 1), endereço(linha 2), tel(linha 3), email(linha 4) e profissão(linha 5). Agora, imaginen o arquivo

Carlos Parlatore

Avenida Prastes

9999-8888

consultorparlatore@internet.com

Consultor

Pronto, agora ao digitar um novo email pra ele, quero alterar apenas o email, digito na txtbox e clico no botao 4 ,alterar email ( linha4), ou alterar telefone, digito o novo numero e clico no botao 3, alterar telefone(linha 3)...como faço?

Private Sub CMD2_Click()
NOME = "C:\exercicio\EXERCICIO.txt"
NUMERO = 1
TEXTO = TXT1.Text
Open NOME For Output As NUMERO
TEXTO = TXT1.Text
Print #NUMERO, Chr(13) & Chr(10) & TEXTO
Close
End Sub

Usei esta linha de comando aumentando apenas o numero de quebra de linhas, comecei a programar a dois meses...agradeço a força.

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

você abre o arquivo pra leitura, carrega todas as linhas na memoria, fecha o arquivo, e abre novamente, so q desta vez pra escrita.

ai você escreve o txt de novo com os dados q você leu, e, quando chegar na linha q você deve alterar, você poe os novos valores.

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu, eu tinha usado este raciocinio já...criado as 5 variaveis e funfo beleza! Achei que poderia ter um comando que buscase a linha em questao diretamente e alterase apenas ela. Apliquei a linha de leitura e a cada finalização de linha, salvei o conteudo em uma variavel, e lá no fim concactenei as 5 e alterei a variavel do botao clicado. Valeu pela resposta ai.

Tipo assim,

command click

variavel L1 = txtnovotexto

Ate uma proxima!

Depois posto o codigo, ainda não comentei ele todo.

Link para o comentário
Compartilhar em outros sites

  • 0

Não usei variaveis Globais e nem Public, mas com elas fica melhor, imagino.

Private Sub Command1_Click()
'VARIAVEIS
Dim L1, L2, L3, L4, L5, Q_LINHA, TEXTO, NOME As String
Dim CONT, NUMERO As Integer
Q_LINHA = Chr(13) & Chr(10)
CONT = 1
NOME = "F:\Fabiano\Aula de Visual Basic\V.Basic Banco de Dados\TESTE.txt"  <=ENDEREÇO DO SEU ARQUIVO
NUMERO = 1
'CODIGO LER
Open NOME For Input As NUMERO
Do Until EOF(NUMERO)
If (CONT = 1) Then
Line Input #NUMERO, L1
CONT = CONT + 1
ElseIf (CONT = 2) Then
CONT = CONT + 1
Line Input #NUMERO, L2
ElseIf (CONT = 3) Then
CONT = CONT + 1
Line Input #NUMERO, L3
ElseIf (CONT = 4) Then
CONT = CONT + 1
Line Input #NUMERO, L4
ElseIf (CONT = 5) Then
'CONT = CONT + 1
Line Input #NUMERO, L5
End If
Loop
Close #NUMERO
'INSERÇÃO DE NOVO TEXTO NA LINHA 1
L1 = TXTLER.Text
TEXTO = L1 & Q_LINHA & L2 & Q_LINHA & L3 & Q_LINHA & L4 & Q_LINHA & L5
'CODIGO IMPRIMIR
Open NOME For Output As NUMERO
Print #NUMERO, TEXTO
Close #NUMERO
End Sub

Private Sub Command2_Click()
'VARIAVEIS
Dim L1, L2, L3, L4, L5, Q_LINHA, TEXTO, NOME As String
Dim CONT, NUMERO As Integer
Q_LINHA = Chr(13) & Chr(10)
CONT = 1
NOME = "F:\Fabiano\Aula de Visual Basic\V.Basic Banco de Dados\TESTE.txt"
NUMERO = 1
'CODIGO LER
Open NOME For Input As NUMERO
Do Until EOF(NUMERO)
If (CONT = 1) Then
Line Input #NUMERO, L1
CONT = CONT + 1
ElseIf (CONT = 2) Then
CONT = CONT + 1
Line Input #NUMERO, L2
ElseIf (CONT = 3) Then
CONT = CONT + 1
Line Input #NUMERO, L3
ElseIf (CONT = 4) Then
CONT = CONT + 1
Line Input #NUMERO, L4
ElseIf (CONT = 5) Then
'CONT = CONT + 1
Line Input #NUMERO, L5
End If
Loop
Close #NUMERO
'INSERÇÃO DE NOVO TEXTO NA LINHA 2
L2 = TXTLER.Text
TEXTO = L1 & Q_LINHA & L2 & Q_LINHA & L3 & Q_LINHA & L4 & Q_LINHA & L5
'CODIGO IMPRIMIR
Open NOME For Output As NUMERO
Print #NUMERO, TEXTO
Close #NUMERO
End Sub

Private Sub Command3_Click()
'VARIAVEIS
Dim L1, L2, L3, L4, L5, Q_LINHA, TEXTO, NOME As String
Dim CONT, NUMERO As Integer
Q_LINHA = Chr(13) & Chr(10)
CONT = 1
NOME = "F:\Fabiano\Aula de Visual Basic\V.Basic Banco de Dados\TESTE.txt"
NUMERO = 1
'CODIGO LER
Open NOME For Input As NUMERO
Do Until EOF(NUMERO)
If (CONT = 1) Then
Line Input #NUMERO, L1
CONT = CONT + 1
ElseIf (CONT = 2) Then
CONT = CONT + 1
Line Input #NUMERO, L2
ElseIf (CONT = 3) Then
CONT = CONT + 1
Line Input #NUMERO, L3
ElseIf (CONT = 4) Then
CONT = CONT + 1
Line Input #NUMERO, L4
ElseIf (CONT = 5) Then
'CONT = CONT + 1
Line Input #NUMERO, L5
End If
Loop
Close #NUMERO
'INSERÇÃO DE NOVO TEXTO NA LINHA 3
L3 = TXTLER.Text
TEXTO = L1 & Q_LINHA & L2 & Q_LINHA & L3 & Q_LINHA & L4 & Q_LINHA & L5
'CODIGO IMPRIMIR
Open NOME For Output As NUMERO
Print #NUMERO, TEXTO
Close #NUMERO
End Sub

Private Sub Command4_Click()
'VARIAVEIS
Dim L1, L2, L3, L4, L5, Q_LINHA, TEXTO, NOME As String
Dim CONT, NUMERO As Integer
Q_LINHA = Chr(13) & Chr(10)
CONT = 1
NOME = "F:\Fabiano\Aula de Visual Basic\V.Basic Banco de Dados\TESTE.txt"
NUMERO = 1
'CODIGO LER
Open NOME For Input As NUMERO
Do Until EOF(NUMERO)
If (CONT = 1) Then
Line Input #NUMERO, L1
CONT = CONT + 1
ElseIf (CONT = 2) Then
CONT = CONT + 1
Line Input #NUMERO, L2
ElseIf (CONT = 3) Then
CONT = CONT + 1
Line Input #NUMERO, L3
ElseIf (CONT = 4) Then
CONT = CONT + 1
Line Input #NUMERO, L4
ElseIf (CONT = 5) Then
'CONT = CONT + 1
Line Input #NUMERO, L5
End If
Loop
Close #NUMERO
'INSERÇÃO DE NOVO TEXTO NA LINHA 4
L4 = TXTLER.Text
TEXTO = L1 & Q_LINHA & L2 & Q_LINHA & L3 & Q_LINHA & L4 & Q_LINHA & L5
'CODIGO IMPRIMIR
Open NOME For Output As NUMERO
Print #NUMERO, TEXTO
Close #NUMERO
End Sub

Private Sub Command5_Click()
'VARIAVEIS
Dim L1, L2, L3, L4, L5, Q_LINHA, TEXTO, NOME As String
Dim CONT, NUMERO As Integer
Q_LINHA = Chr(13) & Chr(10)
CONT = 1
NOME = "F:\Fabiano\Aula de Visual Basic\V.Basic Banco de Dados\TESTE.txt"
NUMERO = 1
'CODIGO LER
Open NOME For Input As NUMERO
Do Until EOF(NUMERO)
If (CONT = 1) Then
Line Input #NUMERO, L1
CONT = CONT + 1
ElseIf (CONT = 2) Then
CONT = CONT + 1
Line Input #NUMERO, L2
ElseIf (CONT = 3) Then
CONT = CONT + 1
Line Input #NUMERO, L3
ElseIf (CONT = 4) Then
CONT = CONT + 1
Line Input #NUMERO, L4
ElseIf (CONT = 5) Then
'CONT = CONT + 1
Line Input #NUMERO, L5
End If
Loop
Close #NUMERO
'INSERÇÃO DE NOVO TEXTO NA LINHA 5
L5 = TXTLER.Text
TEXTO = L1 & Q_LINHA & L2 & Q_LINHA & L3 & Q_LINHA & L4 & Q_LINHA & L5
'CODIGO IMPRIMIR
Open NOME For Output As NUMERO
Print #NUMERO, TEXTO
Close #NUMERO
End Sub

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

  • 0
Não usei variaveis Globais e nem Public, mas com elas fica melhor, imagino.

é, na verdade, o q você podia fazer pra melhorar seria por o codigo de ler o txt numa function separada. já q o codigo é sempre o mesmo, você podia escrever uma unica vez e so chama-lo no clique dos botoes.

mas não precisaria gravar o conteudo numa variavel publica, você podia retornar o valor pela funcao.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...