Új hozzászólás Aktív témák
-
opr
veterán
Ennél kicsit konkrétabban kéne leírnod a kérdést
Először is, mi a feladat? Másodszor: mi a jelenlegi kódod? Harmadszor: mi a hiba, hol száll el, stb."Programozó vagyok. Ez azt jelenti, hogy amit leírok, megtörténik." :D “The only valid measurement of code quality is What-The-F**ks/Minute.” - Robert Martin
-
martonx
veterán
put/get úristen ez VB6 lesz.
És ezt oktatják az iskolában??? Eldobom az agyamat. Szerencsétlen diákok. Komolyan nem értem, akkor már miért nem VBScriptet oktatnak? Az legalább tartós tudást ad, ha más nem, makró programozásnál lehet hasznosítani.
Na de VB6 tudással mit tudsz kezdeni 2011-ben?
Én kérek elnézést!
-
veterán
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 StringPrivate Function darab() As Integer
f = FreeFile
Open fnev For Random Access Read As #f Len = Len(h)
darab = LOF(f) / Len(h)
Close #fEnd 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 IfEnd Sub
Public Sub tiszta()
Text1.Text = "Maximum 30 karakter"
Text2.Text = "NEPTUN"
Text3.Text = "Kp"End Sub
remélem tud valaki segíteni
"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"
-
ArchElf
addikt
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
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
martonx
veterán
Ugye VB.NET-ről beszélünk? Mert ha igen, akkor elküldheted a kódod. Megoldás szempontjából végülis mindegy, hogy .Net vagy nem.
Ha már megvan a mini adatbázisod, és a csv-d, akkor olvasd be csvből az adatokat, majd azokon végiglépdelve, amit nem találsz meg az adatbázisodban, azt beletöltöd.
Amúgy, ahhoz nem kell csv-hogy excellel kezeld az adatokat, sima COM objektumon keresztül tudsz kommunikálni az excellel. Ezt sokkal elegánsabbnak tartanám.
Vagy csinálsz egy excel makrót, ami szintén beleír az adatbázisodba
BME-n már ilyen szakdolgozatokért is adnak diplomát?
Én kérek elnézést!