PROCEDURE Init DECLARE LONG GetPrivateProfileString IN WIN32API ; STRING lpApplicationName, ; STRING lpKeyName, ; STRING lpDefault, ; STRING @lpReturnedString, ; LONG nSize, ; STRING lpFileName DECLARE LONG WritePrivateProfileString IN WIN32API ; STRING lpApplicationName, ; STRING lpKeyName, ; STRING lpString, ; STRING lpFileName DECLARE LONG WritePrivateProfileSection IN WIN32API ; STRING lpAppName, ; STRING lpString, ; STRING lpFileName DECLARE LONG GetLastError IN WIN32API ENDPROCThen, in other application:
Arquivo_Inix = SYS(5) + SYS(2003) + "\SISTEMA.ini" loBIBLIO_Ini = CREATEOBJECT("arquivos_ini.arquivos_ini") && If arquivos_ini is the name of the DLL loBIBLIO_Ini.carquivo_ini = Arquivo_Inix loBIBLIO_Ini.CallSomeMethod>
>DEFINE CLASS arquivos_ini AS custom OLEPUBLIC > > carquivo_ini = "" > nultimoerro = 0 > Name = "arquivos_ini" > > PROCEDURE ler_valor_arq_ini > LPARAMETER TcSessao, tcNomeChave, tcArquivo_ini > LOCAL lcArq_ini, lnError, lnRetval, lcBuffer, lcRetval > IF EMPTY(tcArquivo_ini) > lcArquivo_ini= THIS.cArquivo_ini > ELSE > lcArquivo_ini= tcArquivo_ini > ENDIF > lcBuffer = SPACE(250) + CHR(0) > IF GetPrivateProfileString(TcSessao, tcNomeChave, "", @lcBuffer, LEN(lcBuffer), lcArquivo_ini) > 0 > lcRetval = ALLTRIM(CHRTRAN(lcBuffer, CHR(0), "")) > THIS.nUltimoErro= 0 > ELSE > THIS.nUltimoErro= GetLastError() > lcRetval = "" > ENDIF > RETURN lcRetval > ENDPROC > > > PROCEDURE excluir_sessao_ini > LPARAMETER TcSessao, tcArquivo_ini > LOCAL lcArq_ini, lnError, lnRetval > IF EMPTY(tcArquivo_ini) > lcArquivo_ini= THIS.cArquivo_ini > ELSE > lcArquivo_ini= tcArquivo_ini > ENDIF > lnError = WritePrivateProfileSection(TcSessao, "", lcArquivo_ini) > IF lnError = 0 > THIS.nUltimoErro= GetLastError() > ELSE > THIS.nUltimoErro= 0 > ENDIF > RETURN IIF(lnError = 0, THIS.nlasterror, 0) > ENDPROC > > > PROCEDURE grava_arq_ini > LPARAMETER TcSessao, tcNomeChave, tcValue, tcArquivo_ini > LOCAL lcArq_ini, lnError, lnRetval, lcBuffer, lnError > IF EMPTY(tcArquivo_ini) > lcArquivo_ini= THIS.cArquivo_ini > ELSE > lcArquivo_ini= tcArquivo_ini > ENDIF > lnError = WritePrivateProfileString(TcSessao, tcNomeChave, tcValue, lcArquivo_ini) > IF lnError = 0 > THIS.nUltimoErro= GetLastError() > ELSE > THIS.nUltimoErro= 0 > ENDIF > RETURN IIF(lnError = 0, THIS.nlasterror, 0) > ENDPROC > > PROCEDURE Init > LPARAMETER tcArquivo_ini > IF NOT EMPTY(tcArquivo_ini) AND TYPE("tcArquivo_ini") = "C" > THIS.cArquivo_ini= tcArquivo_ini > ELSE > THIS.cArquivo_ini= "" > ENDIF > DECLARE LONG GetPrivateProfileString IN WIN32API ; > STRING lpApplicationName, ; > STRING lpKeyName, ; > STRING lpDefault, ; > STRING @lpReturnedString, ; > LONG nSize, ; > STRING lpFileName > > DECLARE LONG WritePrivateProfileString IN WIN32API ; > STRING lpApplicationName, ; > STRING lpKeyName, ; > STRING lpString, ; > STRING lpFileName > > DECLARE LONG WritePrivateProfileSection IN WIN32API ; > STRING lpAppName, ; > STRING lpString, ; > STRING lpFileName > > DECLARE LONG GetLastError IN WIN32API > ENDPROC > >ENDDEFINE >