View Full Version : ذخیره listview
  
Snoopboy
پنج شنبه 04 خرداد 1391, 15:18 عصر
با سلام و خسته نباشید.
ببخشید من یه برنامه نوشتم که می خوام ایتم های درون listview رو ذخیره کنم.
یعنی وقتی برنامه باز و بسته شد ایتم ها سر جاشون باشن. یه چیزی تو مایه های savesetting.
اگه ممکنه راهنمایی کنید.
ممنون:قلب:
ROSTAM2
پنج شنبه 04 خرداد 1391, 15:43 عصر
تو يه فايل متني اطلاعات ليست ويو رو ذخيره كنيد 
براي هر رديف (آيتم) يك لاين اختصاص بديد و براي هر خانه آنها را با يك كاراكتر جداسازي كنيد مثل / | @ و يا مي تونيد از چندتا كاراكتر با هم استفاده كنيد بطوري كه بتونيد براي بازخواني اطلاعات اونا رو با استفاده از تابع SPLIT به خانه هاي مربوطه برگردونيد 
براي ايجاد لاين جديد از vbNewLine استفاده كنيد كه براي جداسازي آيتم ها استفاده مي شه كه براي بازخواني مي شه با تابع Split توسط vbNewLine آيتمها رو تفكيك كرد....
ROSTAM2
پنج شنبه 04 خرداد 1391, 17: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, 17:52 عصر
جناب کار نکرد. کلی ارور داد. خیلیاشو بر طرف کردم ولی بازم نشد.
ممنون.
میلاد علوی
پنج شنبه 11 خرداد 1391, 21:59 عصر
راحت ترین کار اینه یه دیتابیس اکسس درست کنی بریزی توش و از اون فراخونی کنی 
کار نداره که
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.