SALVAR E LER DADOS EM FICHEIROS
boas
preciso de ke um programa meu leia e escreva umas informaçoes num ficheiro...
ja tentei em ini
e sei este codigo
http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=6118
mas ele nao lê o ficheiro mas escreve ....
se voçes poderem ajudar....
tbm aceito outras formas de ler e escrever em ficheiros....
preciso de ke um programa meu leia e escreva umas informaçoes num ficheiro...
ja tentei em ini
e sei este codigo
http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=6118
mas ele nao lê o ficheiro mas escreve ....
se voçes poderem ajudar....
tbm aceito outras formas de ler e escrever em ficheiros....
Qual erro?
o problema é nao dá erro..... e nao o ke se passa pra ele nao ler....
o visual basic diz ke ele retoma o valor em ([Ô][Ô]) ...
o visual basic diz ke ele retoma o valor em ([Ô][Ô]) ...
Encontrei o erro no código
Essa linha está assim:
Está faltando a \
Nas funcões READINI e WRITEINI
Essa linha está assim:
sArquivo = GetAppPath() & [Ô][Ô] & pNomeArquivoINI
Está faltando a \
sArquivo = GetAppPath() & [Ô]\[Ô] & pNomeArquivoINI
Nas funcões READINI e WRITEINI
pus o codigo dele num module
Ja grava direito....
[ô]para gravar
e pra ler fiz assim...
[ô]para ler
há algum erro???
Ja grava direito....
[ô]para gravar
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WritePrivateProfileString([Ô]Geral[Ô], [Ô]namesave[Ô], [Ô]usama[Ô], My.Application.Info.DirectoryPath & [Ô]\file.txt[Ô])
[ô]ou assim
WritePrivateProfileString([Ô]Geral[Ô], [Ô]namesave[Ô], [Ô]usama[Ô], Application.StartupPath & [Ô]\file.txt[Ô])
End Sub
mas continua a nao a ler....e pra ler fiz assim...
[ô]para ler
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Label1.Text = ReadINI(Application.StartupPath & [Ô]\file.txt[Ô], [Ô]Geral[Ô], [Ô]namesave[Ô])
End Sub
há algum erro???
Veja se o arquivo foi criado no diretório e está correto.
caso tenha muita dificuldade utilize essa dll desenvolvida em c# que também pode ser usado em vb.net
http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8532
http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8532
o caminho esta bem.... mas penso ke o problema esta em mandar ler.... talvez nao esteja a declarar bem....
Poderia postar o código que você colocou no módulo?
Imports System.IO
Imports System.Text
Module Module1
[ô]Declaração de chamada à s APIS
Declare Function WritePrivateProfileString Lib [Ô]kernel32[Ô] Alias [Ô]WritePrivateProfileStringA[Ô] (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileString Lib [Ô]kernel32[Ô] Alias [Ô]GetPrivateProfileStringA[Ô] (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
#Region [Ô]Tratamento arquivo INI[Ô]
Public Sub WriteINI(ByVal pNomeArquivoINI As String, ByVal pSecao As String, ByVal pChave As String, ByVal pTexto As String)
[ô]Declaração de variáveis
Dim sArquivo As String
[ô]Define o local da aplicação
sArquivo = GetAppPath() & [Ô]\[Ô] & pNomeArquivoINI
[ô]Faz a gravação do texto na chave do arquivo INI
WritePrivateProfileString(pSecao, pChave, pTexto, sArquivo)
End Sub
Public Function ReadINI(ByVal pNomeArquivoINI As String, ByVal pSecao As String, ByVal pChave As String) As String
[ô]Declaração de variáveis
Dim iRetLen As Integer
Dim sRetorno As String
Dim sArquivo As String
[ô]Monta caminho para o arquivo INI
sArquivo = GetAppPath() & [Ô]\[Ô] & pNomeArquivoINI
[ô]Faz a leitura do conteúdo da chave do arquivo INI
sRetorno = Space$(255)
iRetLen = GetPrivateProfileString(pSecao, pChave, [Ô][Ô], sRetorno, Len(sRetorno), sArquivo)
sRetorno = Left(sRetorno, iRetLen)
[ô]Retorna a leitura da chave
Return sRetorno
End Function
Private Function GetAppPath() As String
[ô]Declaração de variáveis
Dim FSO As New System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly.Location)
[ô]Retorna o caminho da aplicação
Return FSO.DirectoryName
End Function
#End Region
End Module
ja consegui......
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=335204&varWorld=
fiz as seguintes as alteraçoes....
mudar a alterar readini
declarar isto no module e no form
e para ler o ficheiro ini fiz a assim....
se acharem melhorias melhor!!!
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=335204&varWorld=
fiz as seguintes as alteraçoes....
mudar a alterar readini
Public Function ReadIni(ByRef Filename As String, ByRef Section As String, ByRef Key As String, Optional ByRef Default_Renamed As String = [Ô][Ô]) As String
Dim BufferSize, Ret As Integer
Do
BufferSize = BufferSize + 256
ReadIni = Space(BufferSize)
Ret = GetPrivateProfileString(Section, Key, Default_Renamed, ReadIni, BufferSize, Filename)
Loop Until Ret < BufferSize - 1
If Ret > 0 Then
ReadIni = VB.Left(ReadIni, Ret)
Else
ReadIni = [Ô][Ô]
End If
End Function
declarar isto no module e no form
Imports VB = Microsoft.VisualBasic
e para ler o ficheiro ini fiz a assim....
Label1.Text = ReadIni(My.Application.Info.DirectoryPath & IIf(VB.Right(My.Application.Info.DirectoryPath, 1) <> [Ô]\[Ô], [Ô]\[Ô], [Ô][Ô]) & [Ô]file.txt[Ô], [Ô]Geral[Ô], [Ô]namesave[Ô], [Ô]ss[Ô])
se acharem melhorias melhor!!!
Tópico encerrado , respostas não são mais permitidas