Gegeven het volgende (hoe heet zo'n ding ook alweer
) dinges:
Dict() heeft de grootte van een paar duizend. Het wordt op de volgende manier weggeschreven naar een bestand:
Inlezen van het bestand gaat op deze manier:
Maar het lukt me maar niet om één (gewijzigde) record weg te schrijven. Bijvoorbeeld, Dict(135) heeft voor English en Elven andere waardes aangenomen. Hoe zorg ik er dan voor dat alleen deze Dict(135) wordt weggeschreven zodat de file weer up to date is? Als ik het op de volgende manier doet loopt de complete file in de soep
En als ik het op een andere manier weg probeer te schrijven wordt er volgens mij helemaal niks weggeschreven
Suggesties?
Visual Basic:
1
2
3
4
5
6
| Public Type Dictionary English As String Elven As String End Type Public Dict() As Dictionary |
Dict() heeft de grootte van een paar duizend. Het wordt op de volgende manier weggeschreven naar een bestand:
Visual Basic:
1
2
3
4
5
| Open strDicFile For Binary As #1 For lngCounter = 1 To UBound(Dict) Put #1, , Dict(lngCounter) Next lngCounter Close |
Inlezen van het bestand gaat op deze manier:
Visual Basic:
1
2
3
4
5
6
7
| Open strDicFile For Binary As #1 While Not EOF(1) lngCounter = lngCounter + 1 ReDim Preserve Dict(lngCounter) Get #1, , Dict(lngCounter) Wend Close |
Maar het lukt me maar niet om één (gewijzigde) record weg te schrijven. Bijvoorbeeld, Dict(135) heeft voor English en Elven andere waardes aangenomen. Hoe zorg ik er dan voor dat alleen deze Dict(135) wordt weggeschreven zodat de file weer up to date is? Als ik het op de volgende manier doet loopt de complete file in de soep
Visual Basic:
1
2
3
4
5
| Dict(lngRecordNr).English = txtEnglish.Text Dict(lngRecordNr).Elven = txtElven.Text Open strDicFile For Binary As #1 Put #1, , Dict(lngRecordNr) Close |
En als ik het op een andere manier weg probeer te schrijven wordt er volgens mij helemaal niks weggeschreven
Visual Basic:
1
2
3
4
5
6
| Dict(lngRecordNr).English = txtEnglish.Text Dict(lngRecordNr).Elven = txtElven.Text Open strDicFile For Binary As #1 Put #1, lngRecordNr, Dict(lngRecordNr).English Put #1, lngRecordNr, Dict(lngRecordNr).Elven Close |
Suggesties?
"If you see a light at the end of a wormhole, it's probably a photon torpedo!"