Prßce s INI soubory

Postup:

Struktura INI Souboru je nßsledujφcφ:

[APPLICATION]
Status Bar = True
Tool Bar = True

[Main Window]
Top = 127
Left = 22

V hranat²ch zßvorkßch je uvßd∞na sekce, °ßdek mß strukturu klφΦ = hodnota.

Do modulu se nejprve musφ nadeklarovat nßsledujφcφ API funkce pro prßci s privßtnφm INI souborem a je vhodnΘ i nadeklarovat prom∞nnou, kterß bude udr₧ovat jmΘno INI souboru p°φstupnΘ pro celou aplikaci:

Public IniName As String

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 WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
* ka₧dß deklarace musφ b²t napsßna na jednΘ, samostatnΘ °ßdce.

V deklaracφch je v²znam jednotliv²ch parametr∙ nßsledujφcφ:

lpApplicationName - jmΘno sekce
lpKeyName - klφΦ
lpString - hodnota k ulo₧enφ
lpDefault - hodnota, kterß se vrßtφ kdy₧ nabyl klφΦ nalezen
lpReturnedString - hodnota, kterß se vrßtφ, byl-li klφΦ nalezen
nSize - dΘlka pro naΦφtßnφ hodnoty (poΦet znak∙)
lpFileName - jmΘno INI souboru

Ve spouÜt∞cφm formulß°i, ve funkci LOAD nadefinujte prom∞nnou IniName :

IniName = App.Path +ö\muj.iniö
'App.Path vrßtφ cestu, ze kterΘ byla aplikace spuÜt∞na

P°φklad procedury pro zßpis do Ini souboru:

Public Sub UlozDoIni ()

   Dim X As Long
   X = WritePrivateProfileString (ôMoje sekceö,öMuj klicö,ömoje hodnotaö,IniName)

End Sub

P°φklad procedury pro Φtenφ z Ini souboru:

Public Sub CtiZIni()

   Dim X As Long
   Dim Extr As String

   
'prom∞nnß pro naΦtenou hodnotu
   Extr = String (50,0)
   
'bez tohoto °ßdku to nebude makat
   
X = GetPrivateProfileString (ôMoje sekceö,öMuj klicö,öhodnota nenalezenaö,Extr,50,IniName)

   End Sub

Pokud nenφ hodnota klφΦe nalezena, Extr bude obsahovat text ôhodnota nenalezenaö, jinak bude obsahovat hodnotu klφΦe do dΘlky 50 znak∙ (dΘlku m∙₧ete p°edefinovat).

Zp∞t

Autor: The Bozena