Elikkäs: ajattelin alkaa kokeilla jonkinlaista VB6-versiota siitä miten runescapessa luetaan ja lopuksi lasketaan esineiden att/str/def bonus, ja olen täysin varma että joka ikisen objektin tiedot on tallennettu config-tiedostoon. Koitin ratkaista asiaa hyödyntäen 'Peliohjelmointi Visual Basicilla'-artikkelia ja sain jotakin, mutta en sitä miten tiedostosta luetaan aina yhdellä rivillä olevan tiedon kerrallaan ja välitetään pääosin vain siitä mitä on '='-merkin jälkeen.
Pystyykö kukaan edes pikkasen auttamaan ?
PS. Olisi kiva tietää, koska aion joskus väsätä pienen pelin jonka objetien tiedot pohjautuisivat config-tiedostoihin, mikäli se yleensäkään on mahdollista.
Satuin sulkemaan VB:n jo joten koodia en pysty näyttämään :(
Heippa rautamiekka!
Tässä olis eräs tapa poimia asetuksia...
Private Sub Command1_Click() TextBox1.Text = "": Dim filuStr() As String Open "filu.config" For Input As #1 filuStr = Split(Input$(LOF(1), 1), ">"): Close #1 Dim hlpStr() As String For i = LBound(filuStr) To UBound(filuStr) If InStr(filuStr(i), "=" & Chr$(34)) > 0 Then j = j + 1: ReDim Preserve hlpStr(j) As String: hlpStr(j) = filuStr(i) End If Next i Dim hlp2Str As String For i = LBound(hlpStr()) To UBound(hlpStr()) For j = 1 To Len(hlpStr(i)) hlp2Str = "" If Mid$(hlpStr(i), j, 2) = "=" & Chr$(34) Then For k = j + 2 To Len(hlpStr(i)) If Mid$(hlpStr(i), k, 1) = Chr$(34) Then Exit For hlp2Str = hlp2Str & Mid$(hlpStr(i), k, 1) Next k Text1.Text = Text1.Text & hlp2Str & vbCrLf End If Next j Next i End Sub
Öh, eikö helpommalla pääse, neau33 ?
Tuo Ravverin linkittämä artikkelli on paljon lyhyempi ja selkeempi. Voiko 'For i = 1 to 5'-lauseen vitosta muuttaa suuremmaksi kuin tiedostossa on rivejä ? Entä onko siihen mitään "automaatti"käskyä joka lukee tiedostoa niin pitkälle kunnes loppuu ?
VB6 väittää 'Subcript out of range' tästä
For i = LBound(hlpStr()) To UBound(hlpStr())
ja kun laittaa kursorin LBound- tai UBound-sanan päälle, tooltip sanoo
LBound(hlpStr()) = <subscript out of range> tai UBound ...
EDIT: Tiedän kyllä Read/WriteINI-koodeista mutta voisin koittaa muita.
No tee sitten itse.
"no tee sitten itse" vissii on mahdollista
Aihe on jo aika vanha, joten et voi enää vastata siihen.