Hejsan,
Jag har en INI-fil som ser ut såhär:
[Server1]
hostname=asda
maxplayers=123
password=asd
map=asdas
levelrotation=12
winlimit=12
roundlimit=4
freezetime=3
buytime=3
startmoney=16000
[Server2]
hostname=asda
maxplayers=123
password=asd
map=asdas
levelrotation=12
winlimit=12
roundlimit=4
freezetime=3
buytime=3
startmoney=16000
Hur gör jag om jag vill ladda in detta i en Listview vid start?
Ska tillägga också att det är bara hostname, password, maxplayers och map som skall laddas i listviewn. Men de andra ska finnas i variabler som kan användas på andra sätt.
nikoMedlem sedan juni 20022 599 inlägg Lite pseudo-kod som du kan googla vidare på:
i = 0
do while true
i = i +1
GetPrivateProfileString "Server" & i, "hostname", sHostName, len(sHostName), <sökväg till din ini-fil>
if sHostName = "" exit do
GetPrivateProfileString "Server" & i, "maxplayers", sMaxPlayers, len(sHostName), <sökväg till din ini-fil>
' osv ..
Set lItem = dinListView.ListItems.Add(, , sHostName)
lItem.SubItems(1) = sMaxPlayers
' osv ..
loop
Okej tack för den hjälp jag fick, fast nu är fallet att man inte vet vad Server1 och Server2 heter. Plus att det kan vara 10 st eller 20 osv... Någon som vet? Thx ändå
nikoMedlem sedan juni 20022 599 inlägg
fast nu är fallet att man inte vet vad Server1 och Server2 heter. Plus att det kan vara 10 st eller 20 osv...
Kan inte riktigt se var jag förutsatte att man "vet vad Server1 och Server2 heter" eller att det bara finns ett speciellt antal (förutom att det inte får finnas luckor). Utveckla gärna vad du menar ..
Alltså användaren lägger till en [hanstext] där hans information sparas.
Sen vill jag att alla användares information lagras i en listview!
Så den laddar alla [hanstext] 'det kan vara hur många som helst beroende på hur många användare det är. Sen all info (hostname, maxplayers osv.) laddas i subitems.
nikoMedlem sedan juni 20022 599 inlägg
Alltså användaren lägger till en [hanstext] där hans information sparas.
OK. Så sektionerna heter inte alls Server1, Server2 osv .. som man så klart tror när man läser ditt första inlägg? Om det nu är så så antar jag att du först blir tvungen att ta reda på vad alla sektioner heter med GetPrivateProfileSectionNames och sen använda ungefär koden ovan på var och en av sektionerna som returneras.
Pseudo-kod (version 2):
GetPrivateProfileSectionNames sBuffer, len(sBuffer), <sökväg till din ini-fil>
arrSections = split(sBuffer, chr(0))
for i = 1 to ubound(arrSections) - 1
GetPrivateProfileString arrSections(i), "hostname", sHostName, len(sHostName), <sökväg till din ini-fil>
GetPrivateProfileString arrSections(i), "maxplayers", sMaxPlayers, len(sMaxPlayers), <sökväg till din ini-fil>
' osv ..
Set lItem = dinListView.ListItems.Add(, , sHostName)
lItem.SubItems(1) = sMaxPlayers
' osv ..
next i
Måste jag inte göra lite variabler också?
Text till sBuffer, sHostname osv?
Dim sHostname as String
Dim sMaxPlayers As Integer
Dim sBuffer() as byte? Dim sBuffer as Integer?
nikoMedlem sedan juni 20022 599 inlägg
Måste jag inte göra lite variabler också?
Jo, du måste göra mycket mer än så.
http://susning.nu/Pseudo
du har inte lust att skriva hur? :P
nikoMedlem sedan juni 20022 599 inlägg Nej, faktiskt inte men om du googlar på "GetPrivateProfileString visual basic" eller "GetPrivateProfileSectionNames visual basic" så lär du få upp hur mycket exempel som helst.
De här tex:
http://www.officecomputertraining.com/vbtutorial/tutpages/page40.asp
http://www.tek-tips.com/gfaqs.cfm/lev2/4/lev3/32/pid/222/fid/39