Gå til innhold

Anbefalte innlegg

Hvordan kan man få programmet til å lese og skrive fra en fil?

Jeg vil nemlig lage et lite snarveiprog som jeg siden kan konfigurerre ved hjelp av å lese skrive til ini/inf filer.

Hvis inifila ser slik ut:

 

//snarveier

-------------

 

1. Kontrollpanel

2. CS 1.6

3. O.s.v.

Lenke til kommentar
Videoannonse
Annonse

Du kan selvsagt bruke Windows innebygde funksjonalitet for å lese/skrive i INI-filer. Dette krever imidlertid bruk av såkalt API-calls, så jeg har laget en CLASS-module for å gjøre det enklere. Den kan lastes ned her.

 

Den kan brukes på følgende måte:

 

Option Explicit

' Vi bruker en kontroll-array for å la brukeren konfigurere linkene. Sett inn en ComboBox, kall
' den for cmdLink og sett "Index" til 0. Deretter kopierer du kontrollen og legger inn mengden
' du antar er nødvendig.

Dim INIFile As New INIFile

Private Sub Form_Load()

' Spesifiserer hvilken fil vi skal skrive og lese fra.
INIFile.Path = App.Path & IIf(Right(App.Path, 1) <> "/", "/", "") & "/Configuration.ini"

' Oppdater informasjon
ReadInformation

End Sub

Private Sub Form_Unload(Cancel As Integer)

' Lagrer all informasjon ved applikasjonens slutt

SaveInformation

End Sub

Public Sub ReadInformation()

' Leser inn all informasjon.

Dim Tell As Long

For Tell = 0 To cmbLink.Count - 1
   cmbLink(Tell).Text = INIFile.GetString("Snarveier", "Nøkkel" & cmbLink(Tell).Index, "")
Next

End Sub

Public Sub SaveInformation()

' Lagrer all informasjon ved å gå igjennom hele kontroll-arrayen.

Dim Tell As Long

For Tell = 0 To cmbLink.Count - 1
   INIFile.WriteString "Snarveier", "Nøkkel" & cmbLink(Tell).Index, cmbLink(Tell).Text
Next

End Sub

 

Det er også mulig å gjøre dette manuelt. Informasjon kan leses og skrives direkte inn i en fil på følgende måte.

 

Dim sText As String, lFree As Long

sText = "Dette er en test"

' Finner en ledig "handle"
lFree = FreeFile

' Skriver inn all informasjon i filen
Open "C:\Test.txt" For Binary As lFree
   Put #lFree, , sText
Close lFree

' Sletter strengen for å se om innlastingen ble en suksess
sText = ""

' Laster inn all informasjon i filen
Open "C:\Test.txt" For Binary As lFree
   ' Allokerer strengen (dette er nødvendig, ettersom GET-kommandoen
   ' laster inn informasjon etter størrelsen på variabelene som gis)
   sText = Space(LOF(lFree))
   
   ' Henter informasjonen
   Get #lFree, , sText
Close lFree

' Viser strengen
MsgBox sText

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...