|
|
|
|
|
Dicas
|
|
Visual Basic (Arquivos/Diretórios)
|
|
|
Título da Dica: Funçãos para Manipulação de Arquivos INI
|
|
|
|
Postada em 8/10/2000 por Webmaster
webmaster@vbweb.com.br
Digamos que, por exemplo, você precise salvar certas configurações de seu programa em um arquivo INI. Digamos ainda que você tenha que salvar neste arquivo INI os seguintes parâmetros: * Parâmetro1 => Posição X do Form * Parâmetro2 => Posição Y do Form * Parâmetro3 => Nome do usuário * Parâmetro4 => Senha * Parâmetro5 => Uma opção qualquer. (Lembre-se que isto é apenas um exemplo!) Muito bem. Então, coloque as seguintes declarações e funções num módulo:
Public INI_Parametro1 As String Public INI_Parametro2 As String Public INI_Parametro3 As String Public INI_Parametro4 As String Public INI_Parametro5 As String Public Sub Ler_INI(ByVal sArquivoINI As String) Dim sLinha As String Dim iARQ As Integer
If Dir$(sArquivoINI) = "" Then 'O arquivo INI não existe MsgBox "O arquivo INI não existe!!!", vbCritical, _ "ATENÇAO!!!" Exit Sub End If
iARQ = FreeFile Open sArquivoINI For Input As iARQ
Do While Not EOF(iARQ) Line Input #iARQ, sLinha Select Case Separa_Parametro(sLinha) Case "Parâmetro1" INI_Parametro1 = Separa_Valor(sLinha) Case "Parâmetro2" INI_Parametro2 = Separa_Valor(sLinha) Case "Parâmetro3" INI_Parametro3 = Separa_Valor(sLinha) Case "Parâmetro4" INI_Parametro4 = Separa_Valor(sLinha) Case "Parâmetro5" INI_Parametro5 = Separa_Valor(sLinha) End Select Loop
Close iARQ End Sub
Public Sub Salvar_INI(ByVal sArquivoINI As String) Dim iARQ As Integer
iARQ = FreeFile Open sArquivoINI For Output As iARQ
Print #iARQ, "[Geral]" Print #iARQ, "Parâmetro1 = " & INI_Parametro1 Print #iARQ, "Parâmetro2 = " & INI_Parametro2 Print #iARQ, "Parâmetro3 = " & INI_Parametro3 Print #iARQ, "Parâmetro4 = " & INI_Parametro4 Print #iARQ, "Parâmetro5 = " & INI_Parametro5
Close iARQ End Sub
Private Function Separa_Parametro(ByVal Texto _ As String) As String Dim i As Integer
For i = 1 To Len(Texto) If Mid$(Texto, i, 1) = "=" Then Separa_Parametro = Trim(Left$(Texto, i - 1)) Exit For End If Next i End Function
Private Function Separa_Valor(ByVal Texto As _ String) As String Dim i As Integer
For i = 1 To Len(Texto) If Mid$(Texto, i, 1) = "=" Then Separa_Valor = Trim(Right$(Texto,Len(Texto)-i)) Exit For End If Next i End Function Lendo o Arquivo INI: P/ pegar o valor dos parâmetros gravado no arquivo INI: » Ler_INI("Caminho\NomeDoArquivo.INI")
Ele retornará cada parâmetro em sua variável. Veja: * A variável INI_Parametro1 conterá o valor do Parâmetro1 * A variável INI_Parametro2 conterá o valor do Parâmetro2 * A variável INI_Parametro3 conterá o valor do Parâmetro3 * A variável INI_Parametro4 conterá o valor do Parâmetro4 * A variável INI_Parametro5 conterá o valor do Parâmetro5
Gravando no Arquivo INI: P/ gravar o valor dos parâmetros no arquivo INI, preencha as variáveis, e: » Salvar_INI("Caminho\NomeDoArquivo.INI")
Ele gravará o conteúdo das variáveis em seus respectivos parâmetros. Veja: * Parâmetro1 = Gravará o conteúdo da variável INI_Parametro1 * Parâmetro2 = Gravará o conteúdo da variável INI_Parametro2 * Parâmetro3 = Gravará o conteúdo da variável INI_Parametro3 * Parâmetro4 = Gravará o conteúdo da variável INI_Parametro4 * Parâmetro5 = Gravará o conteúdo da variável INI_Parametro5
Você só deverá modificar os nomes das variáveis dos parâmetro que serão recuperado/gravado no arquivo INI conforme a sua necessidade.
O nome dos parâmetros deverá ser modificado nas Subs Ler_INI (no Select Case) e Salvar_INI (no comando Print).
As modificações segem esta sintaxe: * Modificações no Select Case: Case "Nome_Do_Parâmetro" * Modificações no comando Print: Print #iARQ, "Nome_Do_Parâmetro = " & INI_Nome_Do_Parâmetro
O nome das variáveis deverão seguir a seguinte sintaxe: INI_Nome_Do_Parâmetro
ATENÇÃO!!! Caso algum parâmetro não tenha sido preenchido na hora de gravar, NADA SERÁ GRAVADO (ficará algo como "Parâmetro1 = ")!!! Caso, na hora de ler o arquivo INI, ele não encontre o valor de certo parâmetro (foi gravado algo como "Parâmetro1 = "), ele não avisará. Então, é bom verificar estas variáveis depois de preenchidas com a Sub Ler_INI.
|
|
|
|
|