Avatar billede alpapa Nybegynder
10. februar 2004 - 19:04 Der er 9 kommentarer og
2 løsninger

Count billeder i en mappe?

Hejsa C#'ere

Hvordan kan jeg "tælle" alle billeder i en mappe?

Planen var, at jeg ved hjælp af en QueryString, fx. linket  minside.aspx?id=1 skulle åbne med alle de billeder som ligger i en bestemt mappe

Linket minside.aspx?id=2 åbner med alle billederne fra en anden mappe

Antallet af billeder i hver mappe kan variere!

Billederne kalder jeg 1.jpg, 2.jpg osv i hver mappe

Jeg skal vel have gang i noget Count i samspil med et Array?

Kan i hjælpe mig i gang?

alpapa
Avatar billede arne_v Ekspert
10. februar 2004 - 19:38 #1
Lav en DirectoryInfo udfra directory navn, kald GetFiles og lav noget
udfra hvert filnavn.
Avatar billede repsak Nybegynder
10. februar 2004 - 19:52 #2
Avatar billede alpapa Nybegynder
10. februar 2004 - 21:25 #3
Oki - så langt så godt...

Nu mangler jeg bare at få denne ene linie, der er udkommenteret, til at spille, sådan at antallet af billeder i mappen (antal) sætter mine ASP.NET Image Tags til Visible - kan I greje den, eller har I et bedre forslag?

Nu skriver den: "Identifier expected", tror ikke den kan lide det punktum ;-)


if(null != Request.QueryString["id"])
    {
        int antal = 0;
        string ImageUrl;
        if(Int32.Parse(Request.QueryString["id"]) == 1)
        {
            DirectoryInfo mappe = new DirectoryInfo(Server.MapPath("../\\!mappe1\\"));
            foreach(FileInfo billed in mappe.GetFiles("*.jpg"))
            {
                antal++;
                ImageUrl = "../!mappe1/"+antal+".jpg";
                //img+antal+.Visible = true;
            }
        }
    }

alpapa
Avatar billede arne_v Ekspert
10. februar 2004 - 21:41 #4
Man kan ikke lade variable indgå i variabel navne.

Lav img om til et array så du kan bruge img[antal].Visible !
Avatar billede alpapa Nybegynder
10. februar 2004 - 21:46 #5
Okay -> arne_v ~ Gider du ikke sætte det ind i min kontekst, er lidt rookie i det her...
Hvis du gider er du 100 point rigere ;-)

alpapa
Avatar billede arne_v Ekspert
10. februar 2004 - 22:30 #6
Jeg har aldrig arbejdet med ASP.NET, så jeg har svært ved at komme med
eksempel i ASP.NET kontext.

Men jeg kender nok C# til at vide at man ikke kan:

            foreach(...)
            {
                antal++;
                ...
                img+antal+.Visible = true;
            }

hvor img1, img2, img3, ... er kontroller - men godt:

            foreach(...)
            {
                antal++;
                ...
                img[antal].Visible = true;
            }

hvor img er et array af kontroller.
Avatar billede arne_v Ekspert
10. februar 2004 - 22:31 #7
Et alternativ til array kunne være hvis du kunne lave lookup af kontroller
by name.
Avatar billede alpapa Nybegynder
10. februar 2004 - 23:08 #8
hvor img er et array af kontroller.
Det forstår jeg ikke?

Men din sidste kode fejler i linie 69:
Compiler Error Message: CS0117: 'char' does not contain a definition for 'Visible'

Source Error:
Line 68:             antal++;
Line 69:             img[antal].Visible = true;

alpapa
Avatar billede arne_v Ekspert
11. februar 2004 - 08:16 #9
Hvordan er img defineret ? Jeg formoder at img1, img2 etc. er kontroller ?
Avatar billede alpapa Nybegynder
12. februar 2004 - 16:55 #10
arne_v - jeg har fundet en anden løsning på problemet...

Herunder genereres en div til hvert *jpg, som bliver fundet i de forskellige mapper.

foreach(FileInfo billed in mappe.GetFiles("*.jpg"))
{
    antal++;
           
    System.Web.UI.HtmlControls.HtmlGenericControl divx;
    divx = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
    divx.Attributes.Add("id", "Layer" + antal);
    divx.InnerHtml += "<a href=\"java script:;\"><img src="+sti+antal+".jpg border=\"0\" width=\"100\" /></a>";
    placeholder.Controls.Add(divx);
}

Smid et svar så du kan få nogle point

alpapa
Avatar billede arne_v Ekspert
12. februar 2004 - 17:00 #11
svar
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