Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Apua tiedoston lukemiseen VB:ssä

sochapter [28.01.2008 14:29:25]

#

Hei vaan kaikille!

Olen tässä rakentamassa hyvin yksinkertaista ja helppokäyttöistä kalenteriohjelmaa. Opiskelen ensimmäistä vuotta datanomiksi Lappeenrannassa(vaiko Lappeen rannassa?) ja yritän saada ohjelmoinnin numeron parhaaksi mahdolliseksi rakentamalla tätä ohjelmaa.

Suunnittelu on jäänyt vähän vaiheeseen, ryntäsin suoraan kirjoittamaan ohjelmaa(hyihyi, ruma tapa), joten arvattavissa on että ongelmia on syntynyt. Olen saanut ohjelman toimimaan jo "puoliksi", eli ohjelma osaa kirjoittaa tiedostoon päivämäärän ja sitä vastaavan merkinnän, mikä ohjelmalla on tehty.

Ohjelmassa on "Hae merkintöjä"-toiminto ja sen pitäisi toimia niin, että kun käyttäjä kirjoittaa ruutuun päiväyksen, ohjelma ilmoittaa, montako merkintää päivälle on ja kirjoittaa ko. merkinnät ruudulle. En vain keksi millä tavoin tämmöinen onnistuisi, en ole ehtinyt perehtymään VB:n vielä paljoa, tosiaankin ensimmäistä vuotta opiskelen. Tuossa vielä ohjelman koodi, jos joku sitä sattuu tarvitsemaan:

Option Explicit


Private Sub cmdLisaa_Click()

'm. tarvittavat muuttujat
Dim pvm As Date
Dim merkinta As String

'annetaan muuttujille arvot
pvm = txtPvm
merkinta = txtMerkinta

'avataan tiedosto kirjoittamista varten ja kirjoitetaan siihen
Open "c:\noter\arkisto.txt" For Append As #1
    Print #1, pvm & ": " & merkinta
    MsgBox "Tallensit päivälle " & pvm & " merkinnän: " & "'" & merkinta & "'"
Close #1

End Sub

'ja tästä eteenpäin pitäisi saada cmdHae-nappia painettua saada ohjelma hakemaan arkisto.txt-tiedostosta päivämäärä ja sitä vastaavien merkintöjen määrä ja itse merkinnät
Private Sub cmdHae_Click()

K_L [28.01.2008 14:44:53]

#

Terve,

Tässä opas tiedostoihin VB:ssä:

https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=vbo_8

Antti Laaksonen [28.01.2008 23:50:50]

#

Tässä on ensinnäkin yksinkertainen koodi, joka näyttää tiedoston rivit yksi kerrallaan ja laskee niiden määrän:

Dim rivi As String
Dim maara As Integer
Open "tiedosto.txt" For Input As #1
While Not EOF(1)
    Line Input #1, rivi
    maara = maara + 1
    MsgBox "Rivi " & maara & ": " & rivi
Wend
Close #1

Tämä koodi taas erottaa merkkijonosta päivämäärän ja merkinnän, jos niiden välissä on kaksoispiste ja välilyönti:

Dim mjono As String
Dim osat() As String
Dim pvm As Date
Dim merkinta As String
mjono = "28.1.2008: Heipparallaa!"
osat = Split(mjono, ": ")
pvm = osat(0)
merkinta = osat(1)
MsgBox "Päivämäärä: " & pvm
MsgBox "Merkintä: " & merkinta

Päivämääriä voi toki vertailla keskenään:

Dim pvm As Date
pvm = InputBox("Kirjoita päivämäärä:")
If pvm = "24.12.2008" Then
    MsgBox "Hyvää joulua!"
End If

sochapter [29.01.2008 17:44:17]

#

Kiitoksia kovasti molemmille auttajille, ymmärsipä tämmöinen aloittelijakin jotakin :)

tv. Tero Korhonen

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta