Pregunta: | 17525 - API GETPRIVATEPROFILESTRING |
Autor: | santi chine |
Hola me preguntaba si me podÃas ayudar con una funcion:
Estoy en Win98 y me falla la API GetPrivateProfileString. Cuando intento compilar el programa la funcion genera el siguiente error: No se ha encontrado el archivo : Kernel Este es el codigo q utiliza Dim cCadena As String Dim nLonCadena, nResp As Integer cCadena$ = Space$(255) nLonCadena = 0 nResp = GetPrivateProfileString(cSeccion, cItem, "", cCadena, ncadena, cNomFich) cCadena = Left$(cCadena, nResp) LeeINI = cCadena El fin de este codigo es cargar en una variable una cadena especifica de un fichero ini. Espero q me podais dar alguna solucion. |
Respuesta: | Heroe |
Proba con este codigo, tenes tanto la funcion para leer como para escribir....
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 Long, ByVal lpFileName As String) As Long Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long Public Function ReadParametro(ByVal Seccion As String, ByVal Variable As String, ValorDefault As String, StrRuta As String) As String Dim StrBuffer As String Dim ValueReturn As Long StrBuffer = String$(255, 0) ValueReturn = GetPrivateProfileString(Seccion, Variable, ValorDefault, StrBuffer, Len(StrBuffer), StrRuta) ReadParametro = Trim$(Left$(StrBuffer, InStr(StrBuffer, Chr$(0)) - 1)) End Function Public Sub SaveParametro(ByVal Seccion As String, ByVal Variable As String, ByVal Valor As String, StrRuta As String) Dim StrBuffer As String Dim ValueReturn As Long StrBuffer = String$(255, 0) ValueReturn = WritePrivateProfileString(Seccion, Variable, Valor, StrRuta) End Sub Cualquier duda, avisame.. PATO |