LER SOMENTE A SEGUNDA LINHA DE UM .INI

USUARIO.EXCLUIDOS 19/11/2004 14:52:03
#51126
Olá gente .... é o seguinte.. estou tentando ler um *.ini... Mas o problema é que eu quero ler somente a segunda linha para pegar as informações:

Citação:

CodLote=20
Caminho=D:\Rafael\Cadastro Docs\caddocs.mdb




Eu quero ler somente a informação "Caminho", alguém sabe me dizer como se faz????? Tipo antes eu precisei ler a primeira linha mas isso é fácil:

    Dim Numero As String
Dim Cont As Integer
Dim Conteudo As String

Open App.Path & "\CadDocs.ini" For Input As #1

Line Input #1, CodLote

Cont = InStr(1, CodLote, "=", vbTextCompare)
CodLote = CInt(Mid(CodLote, Cont + 1, Len(CodLote)))


Close #1


Bom agora eu preciso ler a segunda linha ... Agradeço a todos..

Oks,
Rafael Portal
USUARIO.EXCLUIDOS 19/11/2004 23:59:50
#51209
Resposta escolhida
RAFAEL PORTAL se usar arquivo ini da forma que esta usando não tem porque ter terminação INI. O arquivo INI é um pouco especial, permite acessar diretamente o campo desejado informando a seção e o nome do campo. Sendo que esse acesso é por API. Necessariamente não precisa entender o código , mas é muito simples de usar e vai economizar muito tempo na sua programação.
Um exemplo de com ler arquivo ini


chamada
campo=ReadIni("R1", "R12", Path)
'Ou seja estou lendo da seção R1 o campo R12

' Arquivo ini estaria assim:
'[R1]
'R12=9292929

A função ReadIni retornaria o valor 9292929



Declare em modulo isso para ler arquivo INI



Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long 'Função que Lê em Arquivo INI

Private Function ReadIni(ByVal Secao As String, ByVal Campo As String, ByVal Path As String) As String
'Função que le arquivo INI
On Error Resume Next
Dim tmp As String, X As Integer, Default As String
tmp = String$(2048, 32) 'QTY carater por linha
X = GetPrivateProfileString(Secao, Campo, Default, tmp, Len(tmp), Path)
ReadIni = Mid$(tmp, 1, X)
End Function


Declare em Modulo para gravar em arquivo ini

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long 'Função que Escreve em Arquivo INI

chamada
WritePrivateProfileString "CASA", "DIA", Format(Now, "yyyy/mm/dd"), Path
Grava na seção casa no campo DIA a data atual do sistema, PATH é o caminho do arquivo.

Tópico encerrado , respostas não são mais permitidas