PDA

View Full Version : ذخیره listview



Snoopboy
پنج شنبه 04 خرداد 1391, 14:18 عصر
با سلام و خسته نباشید.
ببخشید من یه برنامه نوشتم که می خوام ایتم های درون listview رو ذخیره کنم.
یعنی وقتی برنامه باز و بسته شد ایتم ها سر جاشون باشن. یه چیزی تو مایه های savesetting.
اگه ممکنه راهنمایی کنید.
ممنون:قلب:

ROSTAM2
پنج شنبه 04 خرداد 1391, 14:43 عصر
تو يه فايل متني اطلاعات ليست ويو رو ذخيره كنيد

براي هر رديف (آيتم) يك لاين اختصاص بديد و براي هر خانه آنها را با يك كاراكتر جداسازي كنيد مثل / | @ و يا مي تونيد از چندتا كاراكتر با هم استفاده كنيد بطوري كه بتونيد براي بازخواني اطلاعات اونا رو با استفاده از تابع SPLIT به خانه هاي مربوطه برگردونيد
براي ايجاد لاين جديد از vbNewLine استفاده كنيد كه براي جداسازي آيتم ها استفاده مي شه كه براي بازخواني مي شه با تابع Split توسط vbNewLine آيتمها رو تفكيك كرد....

ROSTAM2
پنج شنبه 04 خرداد 1391, 16:08 عصر
اين كدها بهينه شده نيست و براي VB 2008 هستش خودتون يه جوري جمع و جورش كنيد

براي ذخيره سازي


Dim Text As String, SaveDialog As New SaveFileDialog With {.Filter = "My Items List |*.mtl"}
Dim nu As Byte = 0
Dim Items As String = ""
If SaveDialog.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
With Me.ListView1
For i = 0 To .Items.Count - 1
Items += .Items(i).SubItems(1).Text + "/" + .Items(i).SubItems(2).Text + "|"
Next
Text = Mid(Items, 1, Len(Items) - 1)
FileIO.FileSystem.WriteAllText(SaveDialog.FileName , Text, False)
End With
End If


براي بازخواني:


On Error GoTo ERRORLINE
Dim Items, NItem As Array, Item As String
Dim Msg As MsgBoxResult
Dim Text As String, OpenDialog As New OpenFileDialog With {.Filter = "My Items List|*.mtl"}
If OpenDialog.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
Text = FileIO.FileSystem.OpenTextFileReader(OpenDialog.Fi leName).ReadToEnd()

If Len(Text) = 0 Then Exit Sub
If ListView1.Items.Count > 0 Then
Msg = MsgBox("Do you want to delete list items before load a list file?", MsgBoxStyle.YesNoCancel + MsgBoxStyle.Question)
Select Case Msg
Case MsgBoxResult.Yes : GoTo AllStatement
Case MsgBoxResult.No : GoTo littleStatement
Case MsgBoxResult.Cancel : Exit Sub
End Select
AllStatement:
ListView1.Items.Clear()
littleStatement:
End If
Items = Split(Text, "|")
For i = 0 To UBound(Items)
NItem = Split(Items(i), "/")
With ListView1
With .Items.Add(.Items.Count + 1)
.SubItems.Add(NItem(0))
.SubItems.Add(NItem(1))
End With
End With
Next
End If
Exit Sub
ERRORLINE:
MsgBox(Err.Description, MsgBoxStyle.Critical)

Snoopboy
پنج شنبه 04 خرداد 1391, 16:52 عصر
جناب کار نکرد. کلی ارور داد. خیلیاشو بر طرف کردم ولی بازم نشد.
ممنون.

میلاد علوی
پنج شنبه 11 خرداد 1391, 20:59 عصر
راحت ترین کار اینه یه دیتابیس اکسس درست کنی بریزی توش و از اون فراخونی کنی
کار نداره که