Avatar billede douglas Nybegynder
14. november 2002 - 18:13 Der er 12 kommentarer og
1 løsning

Fra listview til type

Jeg bruger en listview til at vise nogle forskellige data.
Disse data hentes fra et defineret type "CD".
At hente data fra typen og vise i listview1, kan jeg godt, men tage data fra listview1, kan jeg desværre ikke finde ud af.
Håber at folk herinde kan.

(Nogle af variablerne bliver ikke brugt)

Public FilNavn As String
Public ValgtNavn As String
Public Postnr As Integer
Public Postlængde As Integer
Public SidstePost As Integer

Type CD
    Kunstner As String * 50
    Titel As String * 50
    Tid As String * 10
    Rating As Integer
    Kommentar As String * 200
    Id As Integer
End Type

Public Register As CD


Private Sub Form_Load()
    FilNavn = "users\" & ValgtNavn
    List
   
End Sub

Private Sub List()
   
    Postlængde = Len(Register)
    Open FilNavn For Random As #1 Len = Postlængde
    SidstePost = FileLen(FilNavn) \ Postlængde
   
    ListView1.ListItems.Clear
   
    For i = 1 To SidstePost
        Get #1, i, Register
        Set itm = ListView1.ListItems.Add(1, "Row" & i, RTrim(Register.Kunstner))
        itm.SubItems(1) = Register.Id
        itm.SubItems(2) = RTrim(Register.Titel)
        itm.SubItems(3) = RTrim(Register.Tid)
        itm.SubItems(4) = RTrim(Register.Rating)
        itm.SubItems(5) = RTrim(Register.Kommentar)
       
    Next i
   
    Close #1
End Sub
Avatar billede tubber Juniormester
14. november 2002 - 18:23 #1
Hvad mener du med at hente data ud ?

Der er foreksempel : listview1.selecteditem eller listview1.listitem.name og ListView3.SelectedItem.ListSubItems(*)

Kan du specificere lidt mere hvis det er ?
Avatar billede kjeld_klit Nybegynder
14. november 2002 - 18:24 #2
Text1.text = ListView1.SelectedItem.SubItems(1)

læser data i listview, men er det bare det du mangler?
Avatar billede douglas Nybegynder
14. november 2002 - 18:28 #3
Det er simpelt:
I listview er der 4 kolonner.
Data fra dem skal hentes ned i det tilsvarende type, hvorfra dataene er hentet.
Altså overskrive det data der er i typen i forvejen.
Tror ikke der er så meget mere at forklare.

Men prøver mig lidt videre frem med det I skrev.

Bare blev ved med at komme med gode ideer...
Avatar billede douglas Nybegynder
14. november 2002 - 18:36 #4
Og nej, det er ikke bare selecteditem, det er alle items deri.
F.eks. alle 5 rækker
Avatar billede tubber Juniormester
14. november 2002 - 18:38 #5
ok 5 min og jeg kigger lige vidre på det
Avatar billede tubber Juniormester
14. november 2002 - 19:02 #6
listview1.ListItems.Item(*)

eller en løkke

for i = 0 to ListView1.ListItems.Count
  Dinting = ListView1.ListItem.Index(i)
Next i
Avatar billede douglas Nybegynder
14. november 2002 - 19:04 #7
Jeg fandt ud af det ved egen hjælp, ellers tak for ulejligheden
Avatar billede kjeld_klit Nybegynder
14. november 2002 - 19:06 #8
Jammen det var da godt :-?
Avatar billede tubber Juniormester
14. november 2002 - 19:40 #9
Hvad var svaret ?
Avatar billede douglas Nybegynder
14. november 2002 - 20:19 #10
For i = 1 To ListView1.ListItems.Count
        Set itm = ListView1.ListItems.Item(i)
        Register.Kunstner = ListView1.ListItems.Item(i)
        Register.Titel = itm.SubItems(1)
        Register.Tid = itm.SubItems(2)
        Register.Rating = itm.SubItems(3)
        Register.Kommentar = itm.SubItems(4)
       
        Put #1, Postnr, Register
    Next i

Uhyggeligt simpelt faktisk...
Tog bare lidt tid for mig at finde ud af det

Er pænt newbie til VB, og når man så skal bruge et objekt der ikke er standard, kan det godt være svært ...
Men nu virker det da.
Avatar billede tubber Juniormester
14. november 2002 - 21:49 #11
lige en ting......tror der mangler en post.....

Index starter med nul så du skal sætte den sådan her:

For i = 0 To ListView1.ListItems.Count
        Set itm = ListView1.ListItems.Item(i)
        Register.Kunstner = ListView1.ListItems.Item(i)
        Register.Titel = itm.SubItems(1)
        Register.Tid = itm.SubItems(2)
        Register.Rating = itm.SubItems(3)
        Register.Kommentar = itm.SubItems(4)
       
        Put #1, Postnr, Register
    Next i

Du bruger jo i som tæller af index :O)
Avatar billede douglas Nybegynder
15. november 2002 - 13:51 #12
Hmmm ... det er måske rigtigt, men det fungerer fint med i = 1 to yadda yadda...
Avatar billede tubber Juniormester
15. november 2002 - 15:07 #13
ok :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Analytiker til Security Operationscenter i Cyberdivisionen Hvidovre

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Vil du være med til at opbygge og udvikle Forsvarets dronekapacitet?

Politiets Efterretningstjeneste

Teknisk IT-sikkerhedsspecialist i PET

Capgemini Danmark A/S

AI Data Architect