Avatar billede mydream Nybegynder
22. marts 2006 - 17:49 Der er 10 kommentarer og
1 løsning

url i en Left()

Jeg har en fil: fil1.asp der indeholder en masse kode.
I fil2.asp vil jeg gerne skrive de 200 første tegn i fil1.asp

Hvordan får jeg den url ind i Left(url,200)?
Avatar billede yamino Nybegynder
22. marts 2006 - 18:58 #1
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("fil1.asp")
Set f = fso.OpenTextFile(filespec,1)

Response.write Left(f.ReadAll,200)

f.Close
Avatar billede mydream Nybegynder
22. marts 2006 - 20:37 #2
hmmm det ser ud som om den skriver asp koden uden at tolke den. Egentlig skal den jo vente til serveren er færdig med koden.

Hvordan løses det?
Avatar billede yamino Nybegynder
23. marts 2006 - 01:18 #3
Dvs, den kode du har i fil1.asp, vil du have fil2.asp til at læse, tolke den, og udskrive de første 200 tegn af resultatet? Det er en dum måde at gøre det på.

Kan du ikke smide koden fra begge filer ind, så jeg kan se på en smartere måde at løse den på?
Avatar billede mydream Nybegynder
23. marts 2006 - 07:31 #4
Koden fra fil1.asp er meget omfattende, og der er selvfølgelig en mening med galskaben. :) De 200 tegn var bare et eksempel.

Som mit site er bygget op, har jeg en fast side, der inkluderer andre sider i midten, alt afhængig af hvilken side der bliver kaldt dynamisk i min url, men det er ikke den optimale måde at gøre det på ifb SEO, så jeg vil gerne bytte om, så mine forskellige sider fremover i stedet for inkluderer en header.asp og en footer.asp, der jo så er opdelingen af min samlede fil1.asp.

Da jeg engang imellem skal rette i min fil1.asp, vil det være smart for mig at header.asp og footer.asp selv finder rettelserne, så jeg ikke skal ændre i dem. (ja det forstod jeg fint selv, men fangede du den?)
Avatar billede everclear Praktikant
24. marts 2006 - 14:24 #5
Hvi sdu absolut VIL have hevet koden ud EFTER siden er blevet genereret, kan du bruge WinHTTPRequest. F.eks.:

addr = "fil1.asp"
 
  if len(addr) > 0 then
    set objSvrXML = Server.CreateObject("WinHttp.WinHttpRequest.5")
    objSvrXML.open "get", addr, false
    objSvrXML.send
    strResult = objSvrXML.responseText
    set objSvrXML = nothing
  else
    strResult = "Ikke valid adresse!"
  end if
 
strResult = Replace(strResult, "'", "''")

Hvor strResult så bliver en streng med din kode i.
Avatar billede mydream Nybegynder
25. marts 2006 - 07:37 #6
everclear, det virker ikke. Den siger at den ikke kan createobject.
Avatar billede everclear Praktikant
25. marts 2006 - 11:31 #7
Du skal nok lige tjekke med din udbyder om du har adgang til WinHttp på dit domæne. Det er ikke alle der udbyder det nemlig.

Det geniale ved WinHttp er, at du kan request en hvilken som helst asp side, også selv om den skal bruge querystrings m.v. Du kan f.eks. request fil1.asp?id=1, hvor du så vil få den genrerede kode tilbage for denne side. Ligesom hvis du havde valgt "vis kilde" i din browser.
Avatar billede mydream Nybegynder
25. marts 2006 - 16:19 #8
Jeg har asphttp. Kan det bruges?
Avatar billede everclear Praktikant
26. marts 2006 - 20:01 #9
aspHttp kan også sagtens bruges. Den bruges på nogenlunde samme måde:

Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HTTPObj.Url = "fil1.asp"
strResult = HTTPObj.GetURL

Din strResult bliver så din kode ligesom med WinHttp.
Avatar billede mydream Nybegynder
26. marts 2006 - 22:33 #10
Det virker. Tak for hjælpen til jer begge to.

Everclear vil du lægge et svar?
Avatar billede everclear Praktikant
26. marts 2006 - 22:45 #11
Naturligvis:-) Her er et 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
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