Gå til innhold

Problem med GetPrivateProfileInt


Anbefalte innlegg

Koden min ser slik ut:

Dim bak
Dim mouseover

bak = GetPrivateProfileInt("Farger", "Bak", vbBlack, App.Path & "\settings.ini")
mouseover = GetPrivateProfileInt("Farger", "Over", vbWhite, App.Path & "\settings.ini")

MsgBox mouseover & vbNewLine & bak

Tekst filen min ser slik ut:

[Farger]
Bak=&H8000000F
Over=&H8000000D

Men allikavel popper det bare opp to 0-tall.. Hva er galt med koden?

Endret av Jonas
Lenke til kommentar
Videoannonse
Annonse

Du kan ikke bruke GetPrivateProfileIntfor å hente hex koder. Men en mulig løsning er å hente dataen som en String og konvertere tallet til desimal med Val:

 

Private 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

Private Sub cmdGetNum_Click()

Dim Ret As Long
Dim bak As String
Dim mouseover As String

bak = Space(255)
mouseover = Space(255)

Ret = GetPrivateProfileString("Farger", "Bak", vbBlack, bak, 255, App.Path & "\settings.ini")
bak = Mid(bak, 1, Ret)

Ret = GetPrivateProfileString("Farger", "Over", vbWhite, mouseover, 255, App.Path & "\settings.ini")
mouseover = Mid(mouseover, 1, Ret)

MsgBox Val(mouseover) & vbNewLine & Val(bak)

End Sub

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...