Hallo,
bitte helft mir
warum geht das hier nicht, oder kann mirj emand sagen wo der fehler ist, bitte ich komm nicht weiter, ich möchte einfach das wenn ich daten eingebe die in eine random datei geschrieben werden, und in einem flexgrid ausgegeben werden,...bitte helfen bin am verzweifeln
Das hier ist der code zum einlesen ins flexgrid
Option Explicit
Dim Zeile, Spalte
Private Type filmtyp
FNummer As Long
FName As String * 20
FArt As String * 15
FFormat As String * 5
FAnzahl As Integer
FDatum As Date
End Type
Const datei = "i:\filmdata.rnd"
Dim film1(1 To 100) As filmtyp
Dim filmtyp
Private Sub Form_Load()
Dim kanal As Integer
Dim dateienlaenge
kanal = FreeFile
On Error Resume Next
Open datei For Random As kanal Len = Len(film1(1))
'dateienlaenge = LOF(Kanal) / Len(film1(1))
For Zeile = 1 To 100
gridi.Row = Zeile
For Spalte = 0 To 5
gridi.Col = Spalte
'With filmtyp
'Get Kanal, spale, .FNummer(spalte), .fart(Spalte),
' .fformat(Spalte), .fanzahl(Spalte), .fdatum(Spalte)
Next Spalte
Next Zeile
Close (kanal)
gridi.FixedCols = 0
gridi.Cols = 6
gridi.Rows = 100
gridi.ColWidth(0) = 300
gridi.ColWidth(1) = 3000
gridi.ColWidth(2) = 2000
gridi.ColWidth(3) = 1000
gridi.ColWidth(4) = 800
gridi.ColWidth(5) = 2000
gridi.Row = 0
For Spalte = 0 To 5
gridi.FixedAlignment(Spalte) = 4
gridi.Col = Spalte
If Spalte = 0 Then
gridi.Text = "Nr."
ElseIf Spalte = 1 Then
gridi.Text = "Name"
ElseIf Spalte = 2 Then
gridi.Text = "Art"
ElseIf Spalte = 3 Then
gridi.Text = "Anzahl"
ElseIf Spalte = 4 Then
gridi.Text = "Format"
ElseIf Spalte = 5 Then
gridi.Text = "Datum"
End If
Next Spalte
End Sub
Private Sub MenuHauptmenu_Click()
Unload Me
End Sub
Sub InDateiSchreiben()
Dim kanal As Integer
Dim dateienlaenge
Dim film As filmtyp
Dim index
kanal = FreeFile
Open datei For Random As kanal Len = Len(film(1))
For index = 1 To (EOF(kanal))
With film1(1)
Put kanal, index, txtname
Next index
End Sub
Private Sub MenuHinzu_Click()
Load Hinzufuegen
Hinzufuegen.Show
End Sub
Sub testdatei()
Dim kanal
kanal = FreeFile
Dim index
Dim dummy$
dummy$ = "Peter"
Open datei For Random As kanal Len = Len(film1(1))
For index = 1 To 100
Put kanal, index, dummy$
Next index
Close
End Sub Das ist jetzt der code zum schreiben in eine datei, oder sollte es sein...
Option Explicit
Private Type filmtyp
FNummer As Long
FName As String * 20
FArt As String * 15
FFormat As String * 5
FAnzahl As Integer
FDatum As Date
End Type
Const datei = "i:\filmdata.rnd"
Dim film1(1 To 100) As filmtyp
Private Sub CmdAbbrechen_Click()
Unload Me
End Sub
Private Sub CmdOk_Click()
Dim lfdnr
Dim laufendenummer
Dim kanal As Integer
Dim dateienlaenge
Dim index
kanal = FreeFile
Open datei For Random As kanal Len = Len(film1(1))
For index = 1 To (EOF(kanal))
Put kanal, index, filmtyp.FName
Next index
lfdnr = 1
laufendenummer = Val(lfdner) + 1
lblLfdnr.Caption = laufendenummer
End Sub
Private Sub Form_Load()
End Sub |