Gå til innhold

Hvordan hente tekst fra en .ini fil og plassere på en knapp?


Anbefalte innlegg

Skrevet

Har en knapp som skal få et navn, alt ettersom hva som står i en .ini fil.

 

F.eks står det "ballong" inne i ini filen programmet hente fram "ballong" fra den og plassere "ballong" på knappen (caption).

 

Noen som vet åsn dette gjøres ? :)

Videoannonse
Annonse
Skrevet

Slik?

 

Form


Private Sub Form_Load()

iniPath$ = "c:jan.ini"

Command1.Caption = GetFromINI("captions", "command1", iniPath$)

End Sub

 

Modul


Option Explicit

Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpRetunedString 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 lplFileName As String) As Long

Global r%

Global entry$

Global iniPath$

Function GetFromINI(AppName$, KeyName$, FileName$) As String

  Dim RetStr As String

  RetStr = String(255, Chr(0))

  GetFromINI = Left(RetStr, GetPrivateProfileString(AppName$, ByVal KeyName$, "", RetStr, Len(RetStr), FileName$))

End Function

 

c:jan.ini


[captions]

command1=ABC123

Skrevet

np

 

Du skrive til .ini-fila slik BTW:

 


Private Sub save_Click()

WritePrivateProfileString "captions", "command1", Text2.Text, iniPath$

End Sub

 

(text2.txt er da det som lagres seff :) )

Skrevet

Hmmm... prøvde å bruke en ini til å hente fram tall også på samme måte.

 

Det gikk ikke, tror at jeg må fortelle VB at det er tall som skal hentes og ikke tekst på en måte ?

 

Tenkte å gi intervallet til en timer via en ini fil. Altså står det f.eks 2000 i inifilen så skal timeren bruke 2000 som intervall ( timer1.interval =.. )

 

Vet du hvordan det gjøres ? :-)

Skrevet


Private Sub Form_Load() 

iniPath$ = "c:jan.ini" 

Timer1.Interval = Val(GetFromINI("interval", "timer1", iniPath$))

End Sub 

 

Dette fungerer kanskje. Prøv :)

 

Edit: Glemte en parantes :roll:

Skrevet

Nei. Funker bare ikke.. skjer ingenting.. funker ikke engang hvis jeg kun har:

 

Timer1.Interval = 1000 f.eks..

 

Sikkert enkelt hvis man først vet hvordan :)

Skrevet

Hvis du fortsatt ikke har fått til å loade tall, tror jeg det er noe feil med .ini fila di, fordi du trenger ikke å forandre på noe mellom txt/tall :roll:

Skrevet

Stemmer nok det ja :-)

 

Nå fungerer alt som jeg ønsker!

 

 

Neste prosjekt blir å hente ut data fra 3 temperatursensorer som gir seriedata til serieporten og presentere dem i grafer/logg. Blir litt fram i tid det.. fant noen eksempler på nettet men de manglet grafe funksjonen. Må sette meg mer inn i VB :-|

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