Toon posts:

[VBS] Lezen uit een INI file

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer een INI file uit te lezen met een Visual Basic Script,
maar ik kan geen functies vinden om dat te doen.

Ook kan ik ze nergens op i-net vinden. Kan iemand me hierbij helpen?
Of zijn er domweg geen functies voor?

Thanks...

Verwijderd

stom antwoord misschien want ik weet niet of het werkt maar :

Open "bestand.ini" for input as #1
input #1, regel 1
input #2, regel 2 ... enz
Close #1

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

OK, als eerste lijkt het me verstandig om input #2 hierboven te vervangen door input #1 :P

Verder: TS, kijk eens in de stickies aan het begin van dit forum. Dit is namelijk niet echt een fatsoenlijke topicstart. En dit is ook nog eens erg basale kennis.
Dus misschien zou je in het vervolg eens iets verder kunnen kijken dan het einde van je code-editor...?

My personal website


Verwijderd

Topicstarter
Verwijderd schreef op 11 maart 2003 @ 10:15:
stom antwoord misschien want ik weet niet of het werkt maar :

Open "bestand.ini" for input as #1
input #1, regel 1
input #2, regel 2 ... enz
Close #1
Dat is inderdaad een oplossing.
Maar ik zou liever op een nette manier met de ini file omgaan.
Dus met secties etc. Zodat een gebruiker ook met de regels kan schuiven zonder dat dan gelijk het script gebroken is.

Test.ini:

[Home]
Path=c:\
Home=c:\test

[Testje]
Debug=True

Zoiets zeg maar.
Toch bedankt voor het meedenken...

Verwijderd

Sorry het was idd #1 ipv #2 :)

Maar wat jij wil is toch gewoon mogelijk als je eerst het hele inibestand inleest en in een array zet. Dan kan je schuiven wat je wilt en daarna gewoon terugschrijven.

  • Kappie
  • Registratie: Oktober 2000
  • Laatst online: 23-08 16:03

Kappie

Tell me your secrets...

zoek eens met google op de volgende api calls:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Declare Function GetPrivateProfileString _
   Lib "kernel32" Alias "GetPrivateProfileStringA" _
  (ByVal lpSectionName 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 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


Daar kom je een heel end mee. Verder zijn er op het internet duizenden voorbeelden in VB om een ini file te behandelen.

He does fit the profile perfectly. He's intelligent, but an under-achiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.


Verwijderd

Topicstarter
@ CptEO, je hebt gelijk. Dat zou ook een prima oplossing zijn. Ik denk dat ik daar maar voor ga als er geen standaard functies voor zijn.

@ Kappie, klopt, maar voor zover ik heb kunnen zien zijn dat visual basic functies . En niet voor Visual Basic script.

Verwijderd

Topicstarter
Verder: TS, kijk eens in de stickies aan het begin van dit forum. Dit is namelijk niet echt een fatsoenlijke topicstart. En dit is ook nog eens erg basale kennis.
Dus misschien zou je in het vervolg eens iets verder kunnen kijken dan het einde van je code-editor...?
:? Sorry, me don't get? Hoezo niet echt een fatsoenlijke topcistart? Ik heb erg hard gezocht, maar kon echt nix vinden. Vandaar de post. Gaarne uitleg. Thanks

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Verwijderd schreef op 11 maart 2003 @ 10:45:
[...]


:? Sorry, me don't get? Hoezo niet echt een fatsoenlijke topcistart? Ik heb erg hard gezocht, maar kon echt nix vinden. Vandaar de post. Gaarne uitleg. Thanks
OK, in verband met interne druk hier misschien een iets te grove reactie O-)
Als je kijkt in de QuickStart zul je zien dat het de bedoeling is iets duidelijker aan te geven waar je in bezig bent geweest, wat je geprobeerd hebt en waar het dan op fout loopt. Je kunt zien dat het niet heel erg helder is omdat iemand je een antwoord geeft waarop jij direct antwoordt: "dat is niet de bedoeling, maar *allemaal extra informatie*".

Als je die extra informatie (over de secties btw) in je topicstart zet, is dat van het begin af aan duidelijk. En kunnen mensen je gerichter helpen. Het blijkt de laatste tijd erg slecht te gaan met de glazen bollen hier in P&W... ;)

My personal website


  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

ik heb een paar uurtjes VB in de week gehad op school, niet dat ik er dus 'echt' iets van weet.
maar wat wil je nu precies maken (waar voor) want dat heb je neit echt beschreven, als je dat zou willen doen graag.
Dan kan ik misschien een beetje mee denken aan een oplossing.

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Verwijderd

Topicstarter
Ok, mijn excuses daarvoor. Je antwoord is helder :) .
Ik zal de volgende keer duidelijker zijn.

Mijn bedoeling is dus om:
Een ini file te gebruiken met de globale settings die ik nodig heb in
verschillende scripts.

In veel programmeer / script talen zijn daar standaard functies voor zoals:
ReadProfString(INIFile, Section, Key, Result)

Ik vroeg me af of er een soort gelijke functie voor Visual Basic Script is.
Ik kan daar namelijk niets van terug vinden op het i-net.

Zoniet ga ik voor het inlezen van de volledige file.

Verwijderd

Misschien werkt dit?
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim path as string
Dim home as string

Private Type config
     Name as string
     Value as string
End Type

Open "bestand.ini" for random as #1
Dim var as Config
Do while not EOF(1)
Get #1,n, var
select case var.Name
       case path
            path=var.value
       case home
            home=var.home
end select
Loop
close #1

Verwijderd

Kappie schreef op 11 March 2003 @ 10:28:
zoek eens met google op de volgende api calls:
[code]


(zooi API calls)


Daar kom je een heel end mee. Verder zijn er op het internet duizenden voorbeelden in VB om een ini file te behandelen.
volgensmij werkt dat niet in Visual Basic script
Pagina: 1