VBAPIIni filer
[ Hem ] Allmänt ASP XML SQL ADO HTML CSS VB Java Design Karta
Stränghantering API DDE Nätverk

Ini filer

För att kunna hantera INI filer för lagring kan man använda s.k. API anrop.

Detta görs genom att deklarera följande funktioner (I en Modul i VB och Access, i början av modulen i Excel):

OBS! Declare satserna skall skrivas på EN rad:

Declare Function GetPrivateProfileInt Lib "Kernel32" Alias
GetPrivateProfileIntA (ByVal lpApplicationName As String,
ByVal lpKeyName As String,
ByVal nDefault As Integer,
ByVal lpFileName As String) As Integer

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

Declare Function GetProfileInt Lib "Kernel32" Alias
GetProfileIntA (ByVal lpAppName As String,
ByVal lpKeyName As String,
ByVal nDefault As Integer) As Integer

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

Declare Function WritePrivateProfileString Lib "Kernel32"
Alias WritePrivateProfileStringA (ByVal lpApplicationName As String,
ByVal lpKeyName As Any,
ByVal lpString As Any,
ByVal lplFileName As String) As Integer

Declare Function WriteProfileString Lib "Kernel32" Alias
WriteProfileStringA (ByVal lpApplicationName As String,
ByVal lpKeyName As Any,
ByVal lpString As Any) As Integer

Exempel:
Sub EnProcedur()
' kolla landskoden i WIN.INI
   Dim sIniString As String
   Dim iLandskod As Integer
   Dim dummy As Long
   sIniString = Space(255)
' parametrar : sektion, nyckel, default,
   ' sträng för returvärde, längd på denna
   ' dvs.
   ' [intl]
   ' sLanguage=fin
   ' raden kollas...

   dummy = GetProfileString("intl","sLanguage","fin",sIniString,Len(sIniString))
   MsgBox "Land = " & sIniString
    ' kolla landnummern i WIN.INI
   iLandskod = GetProfileInt("intl", "iLanguage", 358)
   MsgBox "Landskod = " & iLandskod
    ' ändra landskoden till sve
   dummy = WriteProfileString("intl", "sLanguage", "sve")
    ' skriv till filen TEST.INI
   ' kolla sedan om filen har skapats i windows katalogen
   ' den skapas om den inte finns

   dummy = WritePrivateProfileString("testar", "första", "KUL", "TEST.INI")
   dummy = WritePrivateProfileString("testar", "andra", "KUL", "TEST.INI")
    ' läser från filen
   dummy = GetPrivateProfileString("testar", "andra", "KUL",sIniString, _
      Len(sIniString), "TEST.INI")
    ' tar bort nyckeln första
   ' 0& = C:s nul

   dummy = WritePrivateProfileString("testar", "första", 0& , "TEST.INI")
    ' INI filer Cachas för att snabba upp hanteringen
   ' följande rad ser till att INI filen skrivs till disken

   dummy = WritePrivateProfileString(0&, 0&, 0& , "TEST.INI")
    ' Följande rad skulle ta bort hela testar sektionen om den inte var
   ' bortkommenterad
   ' dummy = WritePrivateProfileString("testar", 0&, 0& , "TEST.INI")

End Sub
  APIRunda program(?)
API
Ini filer
Runda program(?)


Top
< API Runda program(?)>
© Anders Enges, Vörå 2002  | 31.01.01 12:03 Visa asp koden