PDA

View Full Version : سوال: سوال در مورد ذخیره محتویات لیست باکس



hackershz
پنج شنبه 19 آذر 1394, 17:07 عصر
با سلام و خسته نباشید


دوستان من یک لیست باکس توی برنامم دارم که هر لحظه یک لیست رو از اینترنت دریافت میکنه و محتویات لیست باکس رو با کد زیر در تکست باکس ذخیره میکنم


Dim item As String
With CommonDialog1
.Filter = "Text Files(*.txt)|*.txt"
.FilterIndex = 2
.CancelError = True
On Error GoTo ErrHandler
.ShowSave
Open .FileName For Output As #3
Dim Index As Integer
For Index = 0 To List1.ListCount - 1
item = List1.List(Index)
Print #3, item
Next Index
Close #3
Exit Sub
End With
ErrHandler:


مشکلی که دارم اینه که اگه محتویاتش بیشتر از 5000 هزار ادرس بشه برنامه تکست رو خالی ذخیره میکنه اما مثلا 2000 رکورد رو دقیق ذخیره میکنه

چه جوری میشه این محدودیت رو از بین برد ؟ و بتونیم بی نهایت رکورد رو دقیقا ذخیره کنیم

meys34
شنبه 21 آذر 1394, 12:24 عصر
سلام

کد شما درست کار میکنه مشکل از جای دیگه است...

یه پروژه جدید باز کنید توش 2 دکمه و 1 لیست باکس و 1 کامند دیالوگ بزارید:

Private Sub Command1_Click()
Dim i As Integer
For i = 1 To 5000
List1.AddItem i
Next
End Sub


Private Sub Command2_Click()
Dim item As String
With CommonDialog1
.Filter = "Text Files(*.txt)|*.txt"
.FilterIndex = 2
.CancelError = True
On Error GoTo ErrHandler
.ShowSave
Open .FileName For Output As #3
Dim Index As Integer
For Index = 0 To List1.ListCount - 1
item = List1.List(Index)
Print #3, item
Next Index
Close #3
Exit Sub
End With
ErrHandler:
End Sub


همه چیز درسته و تا عدد آخر هم ذخیره میشه...

مشکل احتمالا از آیتم های داخل لیست باکس هست احتمالا

متن داخل لیست باکس کاراکتر خاصی داره؟

منظورم اینه که اگر داخل لیست کاراکتر صفر باشده کاراکتر های بعد از اون رو نشون نمیده (وجود داره ولی دیده نمیشه)...
اینو امتحان کنید ببینید جواب میده:


item = Replace$(List1.List(Index), Chr$(0), "")