Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rogério Orlando

Buscar ou alterar conteúdo da 5ª linha de um doc. por exemplo.

Recommended Posts

Ai pessoal, não encontrei material que ensine a buscar ou altera os dados existentes em um determinada linha.

Como exemplo, tenho um doc .txt, onde existem 10 linhas com dados específicos em cada uma, como abaixo:

 

sexo

comporamento

Brasil

unidade

24/11/2007

10.65.78.225

idade

 

Necessito apresentar num textbox o dado constante da 5ª linha (data) e posteriormente necessitarei alterar o dado constante da 5ª linha (IP).

 

Agradeço desde já as respostas que me enviarem.

 

VALEU http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso depende de como você fez sua conexão com o arquivo txt. Qual método você usou para abrir o arquivo txt? Ele é colunado, ou só possui linhas mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou acessando o arquivo da seguinte forma:

 

Open "c:\gravar e ler dados em arquivo\Endereço IP.orl" For Input As #1

Do Until EOF(1#)

Line Input #1, VALOR

Combo1.AddItem VALOR

List1.AddItem VALOR

Loop

Close #1

Combo1.ListIndex = "0"

Exit Sub

 

Desta forma trago num combobox, linha por linha os dados que necessito, porém quero alterar, como exemplifiquei anteriormente, uma determinada linha, que poderia guardar a cor personalizada que um usuário utilizou para um determinado formulário, assim quando quizesse trocá-la seria possível.

 

Valeu cara.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso de um arquivo texto você tem que regravar ele todo com o dado alterado (ou seja, o IP no seu caso). Mudar apenas uma linha só seria possível se as linhas tivessem tamanhos definidos e você abrisse o arquivo como binário, mas o trabalho que vai dar não vale a pena.

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso de um arquivo texto você tem que regravar ele todo com o dado alterado (ou seja, o IP no seu caso). Mudar apenas uma linha só seria possível se as linhas tivessem tamanhos definidos e você abrisse o arquivo como binário, mas o trabalho que vai dar não vale a pena.

 

Abraços,

 

Graymalkin

 

Graymalkin:

Como poderia fazer a alteração sem que o usuário visse os outros dados gravados?

Consegui trazer o dado de uma linha específica, apresentando-o num label, conforme abaixo:

 

Private Sub Command8_Click()

Dim últimosdezcaracteres2 As Date

Dim Arq, Linhas, penÚltima As String

Dim n, L As Integer

On Error GoTo 5000

'verificar data que foi estipulado em arquivo txt e informa se foi expirado o prog

 

L = Text2.Text

 

Arq = "c:\gravar e ler dados em arquivo\Endereço IP.orl"

n = FreeFile()

Open Arq For Input As #n

conteúdo = Input(LOF(n), n)

Close #n

 

Linhas = Split(conteúdo, vbCrLf)

 

'penÚltima = Linhas(UBound(Linhas) = 1)

 

penÚltima = Linhas(L)

últimos10caracteres = Right(penÚltima, 20)

MsgBox últimos10caracteres

 

' labelpane1 e = a conteudo de txt

lblpane1.Caption = Trim$(últimos10caracteres)

últimosdezcaracteres2 = Format(lblpane1, "dd/mm/yyyy")

 

'compara retorno da data contida no txt coma data atual no formato dd/mm/aaaa

If últimosdezcaracteres2 <= Format(Date, "dd/mm/yyyy") Then

MsgBox " Data válida, você ainda tem tempo "

Else

MsgBox " Data Inválida, Tempo terminado ", vbCritical

End If

Exit Sub

5000

MsgBox "Você não digitou ou escolheu uma data válida. Tente novamente."

End Sub

'-x-x-x-x-x-x-x-x-x-x-x-x-x-

 

Não haveria uma forma semelhante a acima, utilizada para trazer o dado e pegar apenas os últimos caracteres.

 

De qualquer forma agradeço a informação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O usuário não precisa ver nada... é só guardar os dados em uma variável, não?

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.