Avatar billede ducks Nybegynder
24. april 2003 - 15:38 Der er 3 kommentarer og
1 løsning

Læse fra en ini fil

Hvis jeg har en ini fil der ligger i drev:\sti\fil.ini og som ser sådan ud:
[Noget]
NogetAndet=NogetTredje
Kan jeg så læse det på en eller anden smart måde? Noget lidt som, strIni = Open(drev:\sti\fil.ini, Noget, NogetAndet) ?
Avatar billede Slettet bruger
25. april 2003 - 20:40 #2
Måske noget i retning af dette kunne bruges:

http://www.eksperten.dk/spm/232979

Er det en ini-fil du selv har lavet? For så kunne du med fordel benytte følgende tre globale funktioner til at gemme i registreringsdatabasen i stedet for i en ini-fil:

Sub SaveSetting(AppName As String, Section As String, Key As String, Setting As String)

Function GetSetting(AppName As String, Section As String, Key As String, [Default]) As String

Sub DeleteSetting(AppName As String, [Section], [Key])
Avatar billede medions Nybegynder
25. april 2003 - 20:43 #3
Start med et lat lav en modul fil som indeholder flg.:


Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal sSection As String, ByVal sKey As String, ByVal sDefault As String, ByVal sReturn As String, ByVal lReturnSize As Long, ByVal sFilename As String) As Long
Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal sSection As String, ByVal sKey As String, ByVal sSetting As String, ByVal sFilename As String) As Long

Public Function CallINI(txtSection As String, txtKey As String, txtPath As String) As String
  ' Funktionen henter værdier fra inifil.
  Dim sValue As String
  Dim lSize As Long
  Dim lTemp As Long
  Dim sDefault As String
  sValue = String(256, " ")
  lSize = Len(sValue)
  lTemp = GetPrivateProfileString(txtSection, txtKey, sDefault, sValue, lSize, txtPath)
  If lTemp <> 0 Then
    CallINI = sValue
  Else
    CallINI = sDefault
  End If
End Function

Public Function WriteINI(txtSection As String, txtKey As String, sSetting As String, txtPath As String) As String
  ' Funktionen indsætter værdier fra Indstillinger.
  Dim sValue As String
  Dim lSize As Long
  Dim lTemp As Long
  sValue = String(256, " ")
  lSize = Len(sValue)
  lTemp = WritePrivateProfileString(txtSection, txtKey, " " & sSetting, txtPath)
  If lTemp <> 0 Then
    WriteINI = sValue
  Else
    WriteINI = sDefault
  End If
End Function


Nå så du vil kalde din INI fil, skriver du flg.
CallINI("LastOrdre", "OrdreNo", App.Path & "\FilNavn.ini")

Sådan her ser min INI fil ud:

[LastOrdre]
OrdreNo = 5035

//>Rune
Avatar billede medions Nybegynder
03. maj 2003 - 09:51 #4
Thx 4 Poinz

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester