• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

saramgsilva

[VB6] ler e escrever em ficheiros

9 mensagens neste tópico

olá pessoal, estou a trabalhar em ficheiro e VB6.

Tenho o seguinte código:

Sub ficheiro(mensagem)
Dim nome_ficheiro As String
Dim leu As String

' caminho do ficheiro txt
nome_ficheiro = "C:\outputficheiro.txt"

' abrir o ficheiro para escrita
Open nome_ficheiro For Output As #1
' escrever a mensagem
Print #1, mensagem
Close #1

' vamos confirmar!!! Vamos ler o que se escrevemos no ficheiro

' abrir o ficheiro para leitura

Open nome_ficheiro For Input As #1
Input #1, leu

Close #1

MsgBox leu

End Sub 

e funciona!

Mas tenho o seguinte codigo, para escrever em ficheiros

Open App.Path & nome_ficheiro For Output As #1
Write #1, mensagem
Close #1

mas dá erro, porque?? alguem pode ajudar...

obrigada

tofas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O erro está nesta linha

  Open App.Path & nome_ficheiro

Repara que estás a adicionar o caminho da aplicação e depois o nome_ficheiro que segundo sei corresponde a "C:\outputficheiro.txt" logo dá erro porque o caminho não existe.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não entendi  :)  então como devo fazer?  :hmm:

obrigada

tofas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O Miguel_Silva referia-se ao seguinte, quando tu fazes app.path, dependendo do teu windows (não sei o que fará variar isto) esse app.path pode-te retornar o directório com uma "\" no fim ou não, por exemplo:

"c:\aplicacao" ou "c:\aplicacao\"

Não experimentei o código mas peloque me parece é que esse teu "app.path" não te esta a dar a barra no fim, e o teu directório fica como o Miguel_Silva indicou.

Para ultrapassares esse problema podes fazer o seguinte:

dim strPath as string

strPath = app.path
if (right(strpath, 1) <> "\") then strPath = strPath & "\"
strPath = strPath & nome_ficheiro

O que isso faz é verificar se a barrita esta no final da string e caso não esteja acrescenta-a...

Depois disto basta la colocares a variável strPath depois do Open...

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu respondi baseando-me no código que está disponivel e pensando que a variavel nome_ficheiro era "C:\outputficheiro.txt" assim cheguei a esta conclusão:

O App.Path devolve o caminho da aplicação e a variavel nome_ficheiro está defenidas como "C:\outputficheiro.txt".

Suponhamos que o app.path é "C:/Aplicação" assim segundo o VB iria buscar o ficheiro a este caminho "C:/AplicaçãoC:\outputficheiro.txt" logo nunca existira um caminho destes.  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já sei como é :

open app.path & "\nome.txt" for input as #1

por exemplo  :P

obrigada

tofas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já sei como é :

open app.path & "\nome.txt" for input as #1

por exemplo  :P

obrigada

tofas

Dessa forma no teu pode funcionar, mas se o teu objectivo for fazer um programa para o público isso pode dar origem a erros porque em determinados SO's ele pode logo adicionar uma barra no fim (\) e depois adicionas-lhe outra o que vai fazer com que o directório não fique bem.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora