Danny92 Skrevet 22. april 2007 Skrevet 22. april 2007 Det er en ting jeg lurer på Jeg har prøvd mange muligheter nå men får det ikke til! Alltså jeg vil oppne en litten ting i en ini fil! f.eks: Open "server", "port", SettingsIni Den ini filen ser sånn ut(Den heter settings.ini) : [server] port=90 Der det står 90 skal vises i textboksen ikke port= sånn men bare 90 Har set sånt på mange andre ting også begynte jeg også å trenge det (Bruker VB6)
Harald Staff Skrevet 22. april 2007 Skrevet 22. april 2007 Hei I VB6 bruker du API'en GetPrivateProfileString, som på http://vbnet.mvps.org/code/file/pprofilebasic.htm hvis du Googler den finner du masse andre innpakninger også. HTH. Beste hilsen Harald
Danny92 Skrevet 22. april 2007 Forfatter Skrevet 22. april 2007 Alltså jeg skjønte ikke så mye av det men jeg skal forklare litt mer! Jeg har fåt til det med at 90 kan byttes ut med noen annet f.eks [server] port=90 Der det står 90 byttes ut med noe annet jeg skriver i textboksen. Men det som er problemet er ossen jeg skal få det som står etter port= til og vises i textboxen!
GeirGrusom Skrevet 22. april 2007 Skrevet 22. april 2007 i = instr(Line, "=") Name = Mid(Line, 1, i) Value = Mid(line, i + 1) Noe slikt.
Harald Staff Skrevet 23. april 2007 Skrevet 23. april 2007 Prøv denne forenklede implementeringen da (altså prøv den før du fullt ut mener å forstå den). Hvis du ikke har en mappe C:\Temp du kan skrive til så endre banen: Option Explicit Private Declare Function GetPrivateProfileString _ Lib "kernel32" Alias "GetPrivateProfileStringA" _ (ByVal lpSectionName As String, _ ByVal lpKeyName As Any, _ ByVal lpDefault As String, _ ByVal lpbuffurnedString As String, _ ByVal nBuffSize As Long, _ ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString _ Lib "kernel32" Alias "WritePrivateProfileStringA" _ (ByVal lpSectionName As String, _ ByVal lpKeyName As Any, _ ByVal lpString As Any, _ ByVal lpFileName As String) As Long Sub WriteToIni(Seksjon As String, Nokkel As String, Verdi As String) Call WritePrivateProfileString(Seksjon, Nokkel, Verdi, "C:\Temp\Settings.ini") End Sub Function ReadIni(Seksjon As String, Nokkel As String) As String Dim sBuffer As String sBuffer = Space(255) Call GetPrivateProfileString(Seksjon, Nokkel, "Ikke funnet", sBuffer, 255, "C:\Temp\Settings.ini") ReadIni = Trim$(sBuffer) ReadIni = Replace(ReadIni, Chr(0), "") End Function Sub Test() Dim Verdi As String Verdi = InputBox("Port nummer:") Call WriteToIni("Server", "Port", Verdi) DoEvents MsgBox ReadIni("Server", "Port"), vbInformation, "Inifil sier:" End Sub HTH. Beste hilsen Harald
Merko Skrevet 30. april 2007 Skrevet 30. april 2007 (endret) Hei, om du forsatt ikke får det til med de andres hjelp kan du gjøre dette: Lag en Module i formen din med denne koden: Public 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 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 Function ReadINI(Section As String, KeyName As String, FileName As String) As String Dim sRet As String sRet = String(255, Chr(0)) ReadINI = Left(sRet, GetPrivateProfileString(Section, ByVal KeyName$, "", sRet, Len(sRet), FileName)) End Function Sub WriteINI(sSection As String, sKeyName As String, sNewString As String, sFilename) Call WritePrivateProfileString(sSection, sKeyName, sNewString, sFilename) End Sub For å lese fra en fil: ReadINI("Server", "Port", DiMappe) ' Server er [Server] Port er "Port=" "Dimappe" er mappen Settings.ini holder til. Da leser den fra: [server] Port=<dette> For å skrive til en fil: WriteINI("Server", "Port", "20", DiMappe) ' Server er [Server] Port er "Port=" "20" er det du vil skrive til "Port=<her" "Dimappe" er mappen Settings.ini holder til. Da skriver den: [server] Port=20 - Du kan lage en string til "DiMappe" sånn at det blir litt bedre system på det. Feks: Dim DiMappe As String DiMappe = App.Path & "\settings.ini" ' Mappen Settings.ini er For håpe dette var til hjelp, bare spør viss det er noe annet. Endret 30. april 2007 av vbPro
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå