PDA

View Full Version : سوال: لود کردن یه فایل تکست، داخل لیست باکس؟؟



mamad_Datcom
دوشنبه 04 آبان 1388, 17:39 عصر
سلام دوستان.
اگه یکی از دوستان نحوه لود کردن فایل تکست رو داخل Listbox یا ListView توضیح بده، ممنونش میشم.:لبخندساده:
هرکاری میکنم نمیتونم فایلTxtرو داخل ListBox لود کنم.:خجالت:

Thanks

Pr0grammer
دوشنبه 04 آبان 1388, 19:15 عصر
Private Sub SaveLoadListbox(plstLB As ListBox, pstrFileName As String, _
pstrSaveOrLoad As String)

Dim strListItems As String
Dim i As Long

Select Case pstrSaveOrLoad
Case "save"
Open pstrFileName For Output As #1
For i = 0 To plstLB.ListCount - 1
plstLB.Selected(i) = True
Print #1, plstLB.List(plstLB.ListIndex)
Next
Close #1

Case "load"
plstLB.Clear
Open pstrFileName For Input As #1
While Not EOF(1)
Line Input #1, strListItems
plstLB.AddItem strListItems
Wend
Close #1
End Select

End Sub


روش استفاده :

Private Sub Form_Load()
Call SaveLoadListbox(List1, App.Path + "\test.txt", "load")
End Sub

در ضمن باید یک فایل txt با نام test.txt در مسیر برنامه تون قرار بدید...
موفق باشید

mamad_Datcom
سه شنبه 05 آبان 1388, 05:00 صبح
سلام دوست عزیز
ممنونم از اینکه لطف کردید و پاسخ سوالم رو دادید.:قلب:
اما من هرکاری کردم نتونستم به نتیجه برسم. :گریه: (البته میدونم که مشکل از خودم)

چند تا سوال داشتم::خجالت:
1:/ این 2 تا متغیر واسه چی هستند.(البته میدونم که هیچکاری انجام نمیدن.احتمالا ... )





Dim i As Long
Dim strListItems As String




2:/ تو قسمت Select case تابع، Case های "load" و "save" از کجا باید بیاند؟!!! :متفکر:


اصلا درست تعریف شده اند؟







Select Case pstrSaveOrLoad
Case "save"


Open pstrFileName For Output As #1


For i = 0 To plstLB.ListCount - 1

plstLB.Selected(i) = True

Print #1, plstLB.List(plstLB.ListIndex)
Next
Close #1









Case "load"


plstLB.Clear

Open pstrFileName For Input As #1

While Not EOF(1)
Line Input #1, strListItems
plstLB.AddItem strListItems
Wend
Close #1
End Select











3:/ ممنون میشم اگه این 2 خط رو معنی کنید::گیج:



Open pstrFileName For Output As #1





Open pstrFileName For Output As #1





4:/ تو VB منظور از "#1" و "EOF" چی هستش::ناراحت:





While Not EOF(1)
Line Input #1, strListItems


plstLB.AddItem strListItems


Wend


Close #1


5:/ نحوه عملکر (منظور از) عبارت App.Path + "\test.txt" تو کد زیر چیه؟


Call SaveLoadListbox(List1, App.Path + "\test.txt", "load")

!!!راستی، من میخواستم یه فایل Txt ذخیره شده تو PC رو داخل ListBox لود کنم.!!!


هرچند که میدونم سوال های من خارج از حوصله، خیلی ابتدایی و شاید هم اشتباه هستش، اما امیدوارم که شما دوستان حوصله کنید و پاسخ سوالها رو بدید. :چشمک:

Thanks :لبخندساده:

Pr0grammer
سه شنبه 05 آبان 1388, 07:52 صبح
این 2 تا متغیر واسه چی هستند.(البته میدونم که هیچکاری انجام نمیدن.احتمالا ... )



Dim i As Long
Dim strListItems As String
اگه دقت کنید متغیر i برای حلقه for و StrListItems هم برای وقتی هستش که هر خط از فایل متنی خونده میشه داخل این متغیر ذخیره و بعد به ListBox اضافه میشه :




2:/ تو قسمت Select case تابع، Case های "load" و "save" از کجا باید بیاند؟!!! :متفکر:
اصلا درست تعریف شده اند؟

و :

نحوه عملکر (منظور از) عبارت App.Path + "\test.txt" تو کد زیر چیه؟
اگه دقت کنید کدی که نوشته شده سه تا پارامتر داره؛ یکی مسیر فایل ، یکی دیگه نام ListBox مورد نظر و آخری، مشخص میکنه که میخواین Save کنید یا Load !
در صورتی که Load کنید اطلاعات از فایل متنی به داخل List لود میشه و در صورتی که Save کنید اطلاعات ListBox به داخل فایل متنی ذخیره میشه!

مثلا من در Form_Load گفتم فایل test.txt رو از مسیری که فایل exe برنامه وجود داره لود کنه :



Private Sub Form_Load()
Call SaveLoadListbox(List1, App.Path + "\test.txt", "load")
End Sub



ممنون میشم اگه این 2 خط رو معنی کنید::گیج:


Open pstrFileName For Output As #1

ببینید pstrFileName همون متغیری هستش که ما برای تعیین مسیر فایل متنی به عنوان پارامتر در نظر گرفتیم؛ پس در این خط ما فقط یک فایل ترتیبی رو باز کردیم!





تو VB منظور از "#1" و "EOF" چی هستش::ناراحت:


#1 شماره File Handle هستش؛ Eof هم مخف End Of File هستش و به معنی انتهای فایل!


در کد بالا از اونجا که Not آوردیم، باید بگیم که تا وقتی که به انتهای فایل با هندل 1 نرسید (همون فایل متنی که در پارامتر مشخص میشه!) کدها رو اجرا کنه...





موفق باشید/