View Full Version : یک مشکل با listbox
nameny
12 April 2008, 12:26 PM
با سلام باور کنید خیلی سریع نیاز دارم من تو vb.net یک لیست باکس دارم که تو اون سه خط متن دارم می خواهم این متن ها را ذخیره کنم تو یک پوشه چکار کنم می دونم باید کنترول savefiledialog را اضافه کنم ولی نمی دونم باهاش چطور این متن ها را ذخیره کنم کمکم کنید خواهش می کنم
john123
12 April 2008, 07:45 PM
سلام،
توي Listbox متن نيست در واقع سه آيتم داري.
براي ذخيره راههاي زيادي داري ، يكيش اينه كه اين آيتم ها رو يكي يكي بخوني و در يك فايل متني ذخيره كني.
در ضمن SaveFileDialog براي ذخيره كردن نيست ، رابطي جهت انتخاب مسير و نام فايل جهت ذخيره شدن است.
nameny
12 April 2008, 08:53 PM
اگر می شود save کردن این آیتم هارا بطور کامل توضیح دهید تا من همان کارهایی که شما می گین انجام بدم خواهش می کنم
john123
13 April 2008, 11:50 AM
سلام،
من كدش رو به زبان دلفي برتون مي نويسم خودتون به vb تبديلش كنيد.
راه حل اول:
ListBox1.Items.SaveToFile('c:\test.txt');
راه حل دوم:
Var
F: TextFile;
I: Integer;
begin
AssignFile(F, 'c:\test.txt');
Rewrite(F);
for I := 0 to ListBox1.Count - 1 do
begin
Writeln(F, ListBox1.Items[i]);
end;
CloseFile(F);
end;
john123
13 April 2008, 12:27 PM
سلام ،
يا مي توانيد از اين تابع استفاده كنيد:
'Outputting list boxes to text files
'Call with blnClearList=true to clear the listbox afterwards
Public Function SaveListToFile(ByVal strPrintToFile As String, _
ByRef lstFormList As ListBox, Optional ByVal blnClearList As Boolean = False)
Dim I As Long 'longs are quicker than Integers so I normally use those
Dim FN As Integer
FN = FreeFile
'print each line in the list to a new text file
Open strPrintToFile For Output As #FN
'Add all Items to the opened file
For I = 0 To lstFormList.ListCount - 1
Print #FN, lstFormList.List(I)
Next I
Close #FN 'thats it... your file is updated
'clear the listbox?
If blnClearList = True Then lstFormList.Clear
End Function
nameny
13 April 2008, 01:03 PM
ببخشید تو ویزوال بیسیک دات نت اصلا برای کنترول listbox متد savetofile اون جوری که شما نوشتید نیست
inforfang
13 April 2008, 02:52 PM
بیا عزیزم ... این کد توی VB.net ، تمام آیتم های داخل لیست باکس رو توی یک فایل به نام Sample1.txt ذخیره می کنه . اگر تو 3 تا آیتم داری ، می تونی اون حلقه رو برداری . :icon_surp
Dim oFile As System.IO.File
Dim oWrite As System.IO.StreamWriter
oWrite = oFile.CreateText("C:\sample1.txt")
Dim i As Integer = 0
For i = 0 To ListBox1.Items.Count - 1
oWrite.WriteLine(ListBox1.Items.Item(i).ToString() )
Next
oWrite.Close()
nameny
13 April 2008, 08:19 PM
خیلی متشکر آقای کردی ممنون
nameny
13 April 2008, 10:11 PM
ببخشید شما که این قدر خوب توضیح می دهید نمی توانید بگویید حالا چطور متن های یک فایل را در لیست باکس باز کنم
inforfang
14 April 2008, 12:50 AM
مثل همونه فقط باید خط به خط از فایل بخونی - به جای LineIn می تونی آیتم Listbox رو بزاری تا لیست باکس رو با اون پر کنی .
oRead = oFile.OpenText(“C:\sample.txt”)
While oRead.Peek <> -1
LineIn = oRead.ReadLine()
End While
oRead.Close()[
nameny
14 April 2008, 01:17 PM
خیلی ممنون ولی من وقتی می خواهم 7000 خط در listbox بزارم چرا فقط 700 و خورده ای نشان می دهد و بقیه را حذف می کند آیا تنضیماتی دارد
nameny
14 April 2008, 01:47 PM
ببخشید من چون اول کارم هست می توانید خودتون listbox را بگذارید و کد کامل را به من بدهید فقط برای اجرا لطفا
nameny
14 April 2008, 02:27 PM
درست شد زحمت نکشین خودم راه حل را پیدا کردم
EbliiS
14 April 2008, 03:48 PM
درست شد زحمت نکشین خودم راه حل را پیدا کردم
راه حل را در اختيار ديگر دوستان نيز قرار دهيد تا همه بتونن استفاده كنند!
در ضمن براي تشكر كردن زدن دكمهTHANKS كافي است!
vBulletin v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.