aha.. Då har jag blandat ihop dig med någon annan.. :)
edit: Blandade ihop dig med en annan duktig programerare; Spango..
32 svar · 4 239 visningar · startad av udden · sida 2 av 2
Har en textfil som innehåller "Hej då" Öppnar jag den med fso.openTextFile så får jag rätt utskrift. Försöker jag däremot öppna den med: Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP") objXMLHTTP.Open "GET", strURL, False objXMLHTTP.Send strReturn = objXMLHTTP.responseText Set objXMLHTTP = Nothing Response.Write(strReturn) Så blir utskriften: Hej d? Varför blir det såhär? Är det n
Läs frågan i sin helhet →aha.. Då har jag blandat ihop dig med någon annan.. :)
edit: Blandade ihop dig med en annan duktig programerare; Spango..
:r
Textdokumentet kanske kan läsas in via fso istället? såhär exempelvis:
<%
Response.Clear
Response.CharSet = "ISO-8859-1"
Response.write readFile("mintextfil.txt")
Response.End
function readFile(filename)
Dim fso, ts, f
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(filename)
Set ts = f.OpenAsTextStream(1,-2)
readFile = ts.ReadALL
set ts = nothing
set f = nothing
set fso = nothing
end function
%>
Sedan ropar du bara på din aspfil med en inparameter kanske..
Hm, det där kan väl inte fungera om sidan ligger på en annan server?
solbulle, nej, men om man har tillgång till textdokumentet så är det ju inga problem :)
Jag fattar ändå inte hur jag kan göra så att jag kommer åt en sida över internet med den funktionen. Jag får det inte att fungera!?!
solbulle skrev:
Det enda jag kom fram till var en "binär" lösning:
function BinToText(varBinData, intDataSizeInBytes) const adFldLong = 128 const adVarChar = 200 set objRS = Server.CreateObject("ADODB.Recordset") objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong objRS.Open objRS.AddNew objRS.Fields("txt").AppendChunk(varBinData) tmp = objRS("txt").Value objRS.Close BinToText = tmp end function
Kan man även läsa in worddukment, pdf, ppt m.m. och få ut texten ur dem?
Du kan läsa dem och få en binär blobb som du sen kan göra lite vad du vill med. T.ex. skicka till användaren.
Japp jag ska luska vidare i det där med binära. Har hittat en kod som kanske kan användas. Postar här när jag har någon färdig kod.
Hjälp
Jag försöker hämta rubriker ifrån olika nyhetssidor inom orienteringssporten med XMLHTTP och det går rätt hyfsat. Bara dett att jag inte får fram mina åäö. Läste era binär lösningar men får de inte att fungera i min kod då jag bara vill ha vissa delar av en sida. Någon som kan hjälpa mig? Här är i alla fall min kod och jag är övertygad om att svaret finns precis framför näsan på mig...
<%
Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.orientering.se", False
objHTTP.Send
strHTML = objHTTP.responseText
Set objHTTP = Nothing
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<span class=""newsheader"">.*</span>"
Set hittade = objRegExp.Execute(strHTML)
Response.Write "Nyhet 1: " & hittade(O) & "<br>"
Response.Write "Nyhet 2: " & hittade(1) & "<br>"
Response.Write "Nyhet 3: " & hittade(2) & "<br>"
%>
Väldigt tacksam för svar...
Välkommen till wf!
Det är bara att klistra in funktionen och kalla på den, ingen skillnad på om du bara ska plocka ut bitar av sidan eller inte.
<%
function BinToText(varBinData, intDataSizeInBytes)
const adFldLong = 128
const adVarChar = 200
set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong
objRS.Open
objRS.AddNew
objRS.Fields("txt").AppendChunk(varBinData)
tmp = objRS("txt").Value
objRS.Close
BinToText = tmp
end function
Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.orientering.se", False
objHTTP.Send
strHTML = BinToText(objHTTP.responseBody,35000)
Set objHTTP = Nothing
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<span class=""newsheader"">.*</span>"
Set hittade = objRegExp.Execute(strHTML)
Response.Write "Nyhet 1: " & hittade(O) & "<br>"
Response.Write "Nyhet 2: " & hittade(1) & "<br>"
Response.Write "Nyhet 3: " & hittade(2) & "<br>"
%>
Tackar vänligast för välkomnandet och för den fina koden som fungerade. Som ni ser var det kanske lite väl sent igår men jag ville ju ha scriptet att fungera. :l Borde dock ha lagt mig så jag kunde lösa det pigg i huvudet. ;)