Executing of that code does nor write any data to phone.dat file becuase.....?
Option Explicit
Dim gperson As PersonInfo
Dim gFilenum As Integer
Dim gRecordLen As Long
Dim gCurrentRecord As Long
Dim gLastRecord As Long
Private Sub Form_Load()
gRecordLen = Len(gperson)
gFilenum = FreeFile
Open "e:\programs\vb\eab\phone.dat" For Random As gFilenum Len = gRecordLen
gCurrentRecord = 1
gLastRecord = FileLen("e:\programs\vb\eab\phone.dat") / gRecordLen
If gLastRecord = 0 Then
gLastRecord = 1
End If
showcurrentrecord
End Sub
Public Sub showcurrentrecord()
Get #gFilenum, gCurrentRecord, gperson
txtname.Text = Trim(gperson.Name)
txtphone.Text = Trim(gperson.Phone)
txtcomments.Text = Trim(gperson.Comments)
frmmyphone.Caption = "السجل" + _
Str(gCurrentRecord) + " / " + Str(gLastRecord)
End Sub
Public Sub savecurrentrecord()
Get #gFilenum, gCurrentRecord, gperson
gperson.Name = txtname.Text
gperson.Phone = txtphone.Text
gperson.Comments = txtcomments.Text
Put #gFilenum, gCurrentRecord, gperson
End Sub
Private Sub imgnew_Click()
savecurrentrecord
gLastRecord = gLastRecord + 1
gperson.Name = ""
gperson.Phone = ""
gperson.Comments = ""
Put #gFilenum, gCurrentRecord, gperson
gCurrentRecord = gLastRecord
showcurrentrecord
txtname.SetFocus
End Sub