Imports System.IO
...
Sub Private hentTemperaturer()
Dim readerTemp As StreamReader = File.OpenText("c:\temperaturer.txt")
' filen har tre linjer
Dim strInn as String
strInn = readerTemp.readline() ' henter linje 1 "Molde 8"
strInn = readerTemp.readline() ' henter linje 2 "Tingvoll 12"
strInn = readerTemp.readline() ' henter linje 3 "Vigra 9"
strInn = readerTemp.readline() ' gir "Nothing"
readerTemp.close()
End Sub
OpenText() av ukjent fil gir RUNTIME-feil (programmereren kan ikke oppdage dette!).
ReadLine() gir "Nothing" (ikke runtimefeil) hvis det ikke er mer å lese.
Prosedyren kalles ved hendelsene form.Load (programmet starter), button1.click (bruker vil ha oppdaterte temperaturer) og timer1.tick (som vi satte til hvert 1000de millisekund).
Samtidighetsproblematikk: Hvis mitt program har filen åpen (for lesing) bør ikke andre (notepad) åpne den for skriving. Likens: Hvis andre har åpnet filen (for skriving), bør ikke mitt program få åpne filen (for lesing). Slik blokkering gir feilmelding, men er vanlig, for å sikre at leserne ikke er forvirret hva angår det EGENTLIGE innholdet i filen. For å redusere sjansen for blokkering må lesere og skrivere av delte filer åpne bare hvis absolutt nødvendig (en MÅ ha siste versjon), samt minimalisere tiden filen holdes åpen. Merk: Det er greit at flere lesere har samme fil åpen samtidig!
Ingen kommentarer:
Legg inn en kommentar