Keresés

Új hozzászólás Aktív témák

  • ArchElf
    addikt

    szóval a fájlkezelést tanultuk és a feladat a következő lenne:
    egy ksi adatbázist kellene létrehozni egy rekord típusú fájlban. a fáljlban egy személyről 3 adatot kellene tárolni. ezen adatok eltárolásához létrehoztunk egy elrendezést. 3 textboxban a kívánt adatok vannak, a 4.ben kellene megjelennie annak, hogy hányadik rekordról van szó. a textboxok egyben szolgálnak az adatok bevitelére és egjelenítésére is.
    van 4 command button. egy előre és egy hátra funkciójú, ami a rekordok közötti navigációra szolgál. egy mentés nevű, ami a 3 textbox tartalmát beírja egy rekordba a fájlban, és egy töröl, ami az épp kiválasztott rekordot törli ki.
    remélem érthető...
    a kódból jelenleg ennyi van meg:

    Option Explicit
    Option Base 1
    Private Type hallgato
    nev As String * 30
    neptun As String * 6
    kp As Single
    End Type
    Dim h As hallgato
    Dim f As Integer
    Dim r As Integer
    Dim fnev As String
    Dim tmpfile As String

    Private Function darab() As Integer
    f = FreeFile
    Open fnev For Random Access Read As #f Len = Len(h)
    darab = LOF(f) / Len(h)
    Close #f

    End Function
    Public Sub kiirat(rekordsz As Integer)
    Dim db As Integer
    db = darab
    If db = 0 Then
    Label4.Caption = "No data"
    Call tiszta
    Else
    Label4.Caption = Str(rekordsz) + "/" + Str(db)
    f = FreeFile
    Open fnev For Random Access Read As #f Len = Len(h)
    Get #f, rekordsz, h
    textbox1.Text = h.nev
    textbox2.Text = h.neptun
    textbox3.Text = Str(h.kp)
    End If

    End Sub
    Public Sub tiszta()
    Text1.Text = "Maximum 30 karakter"
    Text2.Text = "NEPTUN"
    Text3.Text = "Kp"

    End Sub

    remélem tud valaki segíteni :R

    Ez működőképesnek tűnik.
    Load-ban be kell állítani a fájlnevet (ha nem textboxból kell beolvasni), Megnyitni a fált írás/olvasásra, le kell kérdni a rekordok számát, be kell állítani az első rekordot (nem kell beszárni a fájl).
    Bottonokban:
    - navigálás: gondolom neked is egyszerű (index változót kell növelni csökkenteni a 0 és a darabszám-1 között - vagy 1 és darabszám között??? már nem emlékszem)
    - editre: ugyanaz van, mint a GET (csak PUT-tal): beállítani a rekordszámot, a textboxokból legenerálni a típust, felülírni vele a rekordot az adott helyen.
    - mentésre: bezárni a fájlt és újranyitni
    - törlésre:
    legegyszerűbb az utolsó elemet a fájl végéről bemásolni a törölt helyére és a rekordhosszal csökkenteni a fájl hosszát.
    bonyolultabban minden rekordot a törölt rekod után eggyel előrébb írni, majd csökkenteni a fájl hosszát egy rekordhosszal.

    Nincs sajna VB6-om, csak magyarázni tudok...

    AE

Új hozzászólás Aktív témák