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
Annonceindlæg fra Deloitte
10. februar 2004 - 19:38
#1
Lav en DirectoryInfo udfra directory navn, kald GetFiles og lav noget udfra hvert filnavn.
10. februar 2004 - 19:52
#2
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
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 !
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
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.
10. februar 2004 - 22:31
#7
Et alternativ til array kunne være hvis du kunne lave lookup af kontroller by name.
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
11. februar 2004 - 08:16
#9
Hvordan er img defineret ? Jeg formoder at img1, img2 etc. er kontroller ?
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
12. februar 2004 - 17:00
#11
svar
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.