Denne kode bruger jeg i forskellige VBS filer - jeg har IKKE testet om det virker i ASP.
<kode> Sub Include(File) Set objFSo = CreateObject("Scripting.FileSystemObject") Set f = objFso.OpenTextFile(File, 1) str = f.ReadAll f.Close ExecuteGlobal str End Sub </kode>
Her kan jeg hente indholdet af en anden VBS fil ind og eksekvere denne kode før end jeg fortsætter med resten af min kode.
netro >> ja, men problemet er bare, at sidens indhold jo godt nok ligger i en database, men det er som ren HTML, altså incl. koder m.v. og det er hvis dette indeholder f.eks. $$$galleri_odense$$$ så skal det erstattes af en fil der bliver eksekveret på den aktuelle placering. Jeg har forsøgt at hente filen med httpget og det virker for så vidt også godt nok, blot bliver siden ustyrlig langsom at hente.
Kan du ikke klippe/klistre lidt, hvis det kun er HTML-kode, der ligger i tabellen?
Sub RepKode(indhold, key) If InStr(indhold, key) Then pos = InStr(indhold, key) Response.Write Left(indhold, pos - 1) Server.Execute ("/galleri/" & key & ".asp") Response.Write Mid(indhold, pos + Len(key)) Else Response.Write indhold End If End Sub
Sub RepKode(indhold, key) If InStr(indhold, key) Then ' Hvis $$$galleri_odense$$$ indgår i tabelfeltet pos = InStr(indhold, key) ' Startposistion for $$$galleri_odense$$$ (det første $) Response.Write Left(indhold, pos - 1) ' Udskriv kode, der står inden $$$galleri_odense$$$ Server.Execute ("/galleri/" & Replace(key, "$", "") & ".asp") ' Eksekver filen "/galleri/galleri_odense.asp" Response.Write Mid(indhold, pos + Len(key)) ' Udskriv kode, der står efter $$$galleri_odense$$$ Else Response.Write indhold ' Hvis $$$galleri_odense$$$ ikke fundet, så udskriv blot hele feltet End If End Sub
' Kald sub med det aktuelle felts indhold og strengen, der ønskes erstattet - resultat udskrives her Call RepKode(rs("indhold"), "$$$galleri_odense$$$")
Jeg valgte at lave det som en sub, fordi du sikkert vil bruge det på flere forskellige felter.
Hvis der kun står ét gallerinavn i hvert felt, så virker det. Men hvis der fx. både står $$$galleri_odense$$$ og $$$galleri_aarhus$$$ i samme felt, så gør det ikke.
Følgende burde virke, selvom der er flere gallerinavne i samme felt. Nu skal du bare kalde nedenstående sub med et array som parameter nummer to i stedet.
Sub RepKode(indhold, arr_key) For i = 0 To UBound(arr_key) If InStr(indhold, arr_key(i)) Then pos = InStr(indhold, arr_key(i)) Response.Write Left(indhold, pos - 1) Server.Execute ("/galleri/" & Replace(arr_key(i), "$", "") & ".asp") indhold = Mid(indhold, pos + Len(arr_key(i))) End If Next Response.Write indhold End Sub
netro >> jeg er nød til lige at have lidt mere hjælp, du skal nok få nogle flere point.
Det du har lavet virker såmænd godt nok, men der er dog lige noget der "halter" :o)
Mit array med gallerinavne ser nu således ud: gallerinavne = Array("$$$galleri_odense$$$", "$$$galleri_aarhus$$$")
Hvis mit indhold indeholder strengen:
"Galleri fra Odense<br>$$$galleri_odense$$$<br><br>Galleri fra Århus<BR>$$$galleri_aarhus$$$"
Så virker det fint nok.
Hvis jeg bytter rundt på min streng så den ser således ud: "Galleri fra Århus<BR>$$$galleri_aarhus$$$<BR><BR>Galleri fra Odense<br>$$$galleri_odense$$$"
- så udskriver den blot $$$galleri_odense$$$ og $$$galleri_aarhus$$$, den eksekverer altså ikke filerne. Såvidt jeg har kunne teste mig frem til, så skyldes det, at rækkefølgen i mit array ikke stemmer overens med rækkefølgen i min streng.
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.