Ir para conteúdo

POWERED BY:

Arquivado

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

SabrinaBottan

[Resolvido] Arquivo .INI

Recommended Posts

Estou tentando ler um arquivo .INI que contem um link, mas naum estou conseguindo. Alguem pode me ajudar

 

No Modulo BAS fiz isso:

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 Long, ByVal lpFileName As String) As Long

Declare Function GetProfileString Lib "Kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer) As Integer

Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpFileName As String) As Integer
Function GetIni(SECTION, KEY, arq)

Dim Val As String

Dim valor As Integer

Val = String$(255, 0)

valor = GetPrivateProfileString(SECTION, KEY, "", Val, Len(Val), arq)

If worked = 0 Then

GetIni = ""

Else

GetIni = Left(Val, valor)

End If

End Function

 

 

e estou chamando assim:

 

Call MostrarURL(GetIni("[Relatórios]", "Municipio", "TESTE.INI"))

 

 

No Arquivo.INI esta assim:

 

[Relatórios]

 

Municipio = ("http://intra.al.sp.gov.br/pj/pj_rel.asp?ano=" & strAno)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou conseguindo, alguem pode me ajudar????

 

Sabrina, você tentou fazer da forma como o mibnetweb postou?

 

O que percebi é que está tentando ler o arquivo através de apl, e não acho que seja necessário, o link que ele deixou ensina a ler sem precisar desse recurso.

 

Mas se não está conseguindo, faça o seguinte, poste aqui o conteúdo do seu arquivo e a linha que precisa pegar a variável.

 

Tento bolar uma lógico para você, mas lembre-se que vale muito mais a pena você mesma pegar um exemplo e desenvolver sua própria lógica.

 

Att,

 

Cláudio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz uma alteração no seu código, por favor faça um teste e depois nos diga se funcionou.

 

Function GetIni(SECTION, KEY, arq)

	Dim Retorno As String * 500
	
	Dim arquivoINI As String
	
	Dim tamanho As Long
	
	arquivoINI = App.Path & "\" & arq
	
	tamanho = GetPrivateProfileString(SECTION, KEY, "NãoEncontrado", Retorno, Len(Retorno) + 1, arquivoINI)
	
	Retorno = Left(Retorno, tamanho)
	
	MsgBox Trim(Retorno)

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só mais um detalhe, ao invés de chamar assim:

 

Call MostrarURL(GetIni("[Relatórios]", "Municipio", "TESTE.INI"))

 

tente chamar assim:

 

Call MostrarURL(GetIni("Relatórios", "Municipio", "TESTE.INI"))

 

Tire os colchetes da string "Relatórios"

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então agora, tem que adaptar a sua função MostrarURL.

 

Uma sugestão seria colocar a rotina que mostra a URL dentro da rotina GetINI.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não

O que acontece agora? Não entendi o que quis dizer com:

 

mas tbm tentei fazer o teste onde ele só lê a conexão do banco de dados e tbm não funcionou

 

O que ocorre de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei no arquivo .INI a conexão com o banco

 

[Conexao]

 

Conexao = "Provider=MSDAORA;Data Source=PRODUCAO;Password=USER;User Id=USER1"

 

depois tentei ler:

 

str_Cn = GetIni("Conexao", "Conexao", "Teste.ini")

 

Ai aparece uma mensagem dissendo que A FONTE DE DADOS NÃO FOI ENCONTRADA

 

Ou seja não esta lendo, certo?

O mibnetweb disse para adaptar a função MostrarURL mas mesmo sem usa essa função não funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

Chamando a função:

S = GetIni("Relatórios", "Municipio", "C:\Documents and Settings\Administrator.DBSERVER01\Desktop\TESTE.INI")

MsgBox S

Função:

Function GetIni(SECTION, parametro, arq)

Dim tamanho As String
Dim arquivo As String
Dim retlen As Long

tamanho = String(256, 0)

retlen = GetPrivateProfileString(SECTION, parametro, "", tamanho, 256, arq)
GetIni = Left(tamanho, retlen)
end sub

Module

Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal Secao As String, ByVal parametro As String, ByVal padrao As String, ByVal variavel As String, ByVal tam As Long, ByVal arquivo As String) As Long

Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal Secao As String, ByVal parametro As Any, ByVal valor As Any, ByVal arquivo As String) As Long

Teste e veja se dá certo.

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.