Avatar billede peanut2000 Nybegynder
25. juli 2004 - 11:47 Der er 15 kommentarer og
1 løsning

Se bestemte filtyper men ikke alle

Hej jeg har lavet en listbox, som viser hvilke filer jeg har i en bestemt mappe, men jeg vil gerne have at jeg kun kan se de mest brugte billede-forater (jpeg, bmp, gif...) Som koden står iøjeblikket, får jeg kun vist jpeg:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim fil As FileInfo   

        Dim thisdir As DirectoryInfo
   

        thisdir = New DirectoryInfo(Server.MapPath("../Galleri/FoerEfter/"))

        For Each fil In thisdir.GetFiles("*.jpg")


                ListBox1.Items.Add(fil.Name)
             
            Next
     


        If Not Page.IsPostBack Then

            ListBox1.SelectedIndex = 0
            Image1.ImageUrl = "/Galleri/FoerEfter/" + ListBox1.SelectedItem.Value

                  End If

    End Sub

Nogen som kan hjælpe??
Avatar billede snepnet Nybegynder
25. juli 2004 - 11:56 #1
Det virker ikks som det er understøttet - Du bliver nødt til at lave 2 eller flere kald til GetFiles(...).

Ref : http://www.dotnet247.com/247reference/msgs/46/230456.aspx
Avatar billede snepnet Nybegynder
25. juli 2004 - 11:58 #2
Men du kan jo også bare sørge for at der kun ligger billeder i det directory... Så kan du bare lave en GetFiles("*.*");
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 12:04 #3
Jeg er ikke helt sikker på hvordan, skal det se således ud???

Dim fil As FileInfo   

        Dim thisdir As DirectoryInfo
   

        thisdir = New DirectoryInfo(Server.MapPath("../Galleri/FoerEfter/"))

        For Each fil In thisdir.GetFiles("*.jpg")


                ListBox1.Items.Add(fil.Name)
             

Dim fil2 As FileInfo   

        Dim thisdir2 As DirectoryInfo
   

        thisdir2 = New DirectoryInfo(Server.MapPath("../Galleri/FoerEfter/"))

        For Each fil2 In thisdir2.GetFiles("*.jpg")


                ListBox1.Items.Add(fil2.Name)

            Next
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 12:06 #4
så skal der f.eks. stå gif i anden omgang selvf
Avatar billede snepnet Nybegynder
25. juli 2004 - 12:12 #5
Jeps... men du behøver ikke at gøre det hele 2 gange.

Dim fil As FileInfo   
    Dim thisdir As DirectoryInfo
   
    For Each fil In Directory.GetFiles(Server.MapPath("../Galleri/FoerEfter/"), "*.jpg")
        ListBox1.Items.Add(fil.Name)
       
    For Each fil In Directory.GetFiles(Server.MapPath("../Galleri/FoerEfter/"), "*.jpg")
        ListBox1.Items.Add(fil.Name)
Avatar billede snepnet Nybegynder
25. juli 2004 - 12:13 #6
Haha... en smutter der :o)

    For Each fil In Directory.GetFiles(Server.MapPath("../Galleri/FoerEfter/"), "*.jpg")
        ListBox1.Items.Add(fil.Name)
       
    For Each fil In Directory.GetFiles(Server.MapPath("../Galleri/FoerEfter/"), "*.gif")
        ListBox1.Items.Add(fil.Name)
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 12:52 #7
Jeg får fejl når jeg skriver koden som du gør, jeg har nu følgende:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim fil As FileInfo
        Dim thisdir As DirectoryInfo

        thisdir = New DirectoryInfo(Server.MapPath("../Galleri/FoerEfter/"))

        For Each fil In thisdir.GetFiles("*.jpg")

            ListBox1.Items.Add(fil.Name)
            ListBox2.Items.Add(fil.Name)

        Next

        thisdir = New DirectoryInfo(Server.MapPath("../Galleri/FoerEfter/"))

        For Each fil In thisdir.GetFiles("*.gif")

            ListBox1.Items.Add(fil.Name)
            ListBox2.Items.Add(fil.Name)

        Next

        If Not Page.IsPostBack Then

            ListBox1.SelectedIndex = 0
            Image1.ImageUrl = "/Galleri/FoerEfter/" + ListBox1.SelectedItem.Value

            ListBox2.SelectedIndex = 0
            Image2.ImageUrl = "/Galleri/FoerEfter/" + ListBox2.SelectedItem.Value
        End If

    End Sub

Nu kan jeg godt se jpeg og gif filer i min liste, men nu virker det sidste ikke - kan man kun bruge next en gang??? jeg har jo brugt den 2
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 12:54 #8
det sidste der sker er at når jeg vælger et billede i min listbox, så vises billedet, men det sker ikke mere, jeg er så i tvivl om det er pga at jeg bruger next 2 gange, jeg er ikke så god til de løkker...
Avatar billede snepnet Nybegynder
25. juli 2004 - 13:01 #9
Jeg har bare skrevet det ind herude, og er bestemt ikke VB-mand - så der kan sagtens være masser af fejl i det... Jeg havde f.eks. ikke fanget den med at man skulle afslutte med Next :o)

Jeg forstår ikke helt hvad du men med at det sidste ikke virker - relateret til dine løkker.... Hvis du både ser jpg og gif virker begge din løkker jo ?!?

Er det sidste det med at du sætter item 0 selected eller ?
Avatar billede snepnet Nybegynder
25. juli 2004 - 13:04 #10
Haha.... Nåja. Jeg var vist lidt træg om at opdatere vinduet der :o)

Nej - det skulle ikke have noget at gøre med at du skriver next to gange... Det er der ikke noget problem i.

Kan du ikke vise den kode der køres når når du vælger i en listboks ?
(en handler af IndexChanged).

Desuden vil jeg gerne se din PageInit metode. Så skal jeg nok finde ud af hvad der kikser.
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 13:04 #11
Nej der er noget mere kode, men før jeg tilføjede gif, virkede det hele - dvs. at jeg kunne vælge et billede fra listboxen og få det vist på siden, nu viser den bare et kryds, som når den ikke kan finde billedet:

her er resten af koden:

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim str As String

        str = ListBox1.SelectedIndex.ToString()
        Image1.ImageUrl = "/Galleri/FoerEfter/" + ListBox1.SelectedItem.Value
    End Sub

    Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
        Dim str As String

        str = ListBox2.SelectedIndex.ToString()
        Image2.ImageUrl = "/Galleri/FoerEfter/" + ListBox2.SelectedItem.Value
    End Sub
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 13:06 #12
Det er som om det sidste af koden ikke virker mere efter de ændringer jeg har lavet:

If Not Page.IsPostBack Then

            ListBox1.SelectedIndex = 0
            Image1.ImageUrl = "/Galleri/FoerEfter/" + ListBox1.SelectedItem.Value

            ListBox2.SelectedIndex = 0
            Image2.ImageUrl = "/Galleri/FoerEfter/" + ListBox2.SelectedItem.Value
        End If
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 13:11 #13
Nu har jeg fundet fejlen, det var mig selv der havde dummet mig hehe.

Tak for hjælpen smid lige et svar og der er point til snepnet ;0)
Avatar billede snepnet Nybegynder
25. juli 2004 - 13:13 #14
Fint nok :o) - du må skrive hvis der skulle være andet.
Mvh
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 13:24 #15
Måske du kan hjælpe mig med følgende spg: http://www.eksperten.dk/spm/522972 omkring validering på web10
Avatar billede snepnet Nybegynder
25. juli 2004 - 13:29 #16
Det kan jeg godt, men guidmastermaster har givet dig svaret :o)
Du bliver nødt til også at checke på serveren om indtastningerne er gyldige.
Mvh
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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