مشاهده نسخه کامل
: مشكل با كد جستجو در فايل هاي تصادفي ؟
aaaammmm87
25-12-2008, 13:49
سلام دوستان
برنامه زير رو نوشتم و توي قسمت جستجوي اشتراك مشكل دارم لطف كنيد نگا كنيد كه مشكلم كجاست .
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
aaaammmm87
25-12-2008, 19:53
اين هم كدي رو كه واسه جستجو نوشتم ؟
Private Sub cmdsearch_Click()
Dim error As Boolean
fnum = FreeFile
Dim search As Integer
Open "F:\University\Vb\file\taxi\information.txt" For Random As #fnum
searchbox = InputBox("Enter Code?")
search = Int(searchbox)
Get #fnum, , taxirec.code
'Do While Not (EOF(fnum))
If search = taxirec.code Then
Get #fnum, , taxirec.code
Get #fnum, , taxirec.name
Get #fnum, , taxirec.address
Get #fnum, , taxirec.tel
Textcode.Text = taxirec.code
Textname.Text = taxirec.name
Textaddress.Text = taxirec.address
Texttel.Text = taxirec.tel
Textcode.SetFocus
Exit Sub
Else
error = True
End If
'Loop
Close #fnum
If error = True Then MsgBox "no fild"
End Sub
VBYOFSKI
30-12-2008, 12:35
Get #fnum, , taxirec.code
Get #fnum, , taxirec.name
Get #fnum, , taxirec.address
Get #fnum, , taxirec.tel
چرا اينجارو اينجوري نوشتين؟ تا جايي كه من ميدونم اگه از Get #fnum, , taxirec استفاده كني تمام اطلاعات مربوط به اون ركورد رو تو txirec ميريزه.
VBYOFSKI
30-12-2008, 14:46
من برنامه شما رو نگاه کردم. چتدتا چیزو دقت نکرده بودین.
1- واسه کار با فایلهای Random باید Len رو در آخر دستوری که واسه باز کردن فایل هست وارد کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
2- تو ماژول که Type رو تعریف کردین باید متغییرهای String از نوع ثابت باشن:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید3- شما چرا واسه گرفتن رکوردهای فیلدهاتون اینجوری کار کردین:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبه جای اینا میتونستی از Get #fnum, taxirec.code, taxirec که تمام رکوردها رو تو taxirec میریزه استفاده کنی. (این واسه Put هم صادقه) کلا این نوع دریافت و نوشتن اصلاعات تو فایل برای فایلهای ترتیبی هست.
اینم اصلاح کد Serach:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
aaaammmm87
30-12-2008, 17:05
سلام دوستان برنامه رو نوشتم (البته يه دفتر تلفن )
private sub cmdsearch_click()
stpath = app.path & "informationtel.txt"
if dir(stpath) <> "" then
lenghtrecord = filelen(stpath) / len(telrec)
end if
dim no as boolean
no = false
open stpath for random access read as #1
searchbox = trim(inputbox("plase enter name"))
for i = 1 to lenghtrecord
get #1, , telrec
if (searchbox = telrec.name1) then
text1.text = telrec.name1
text2.text = telrec.famil
text3.text = telrec.tel
text4.text = telrec.emaile
text5.text = telrec.web
close
exit sub
else
no = true
end if
next
if no = true then msgbox "no fild"
close
end sub
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.