Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > ASP > Generella frågor

FileSystemObject

MrXr
MrXr

Gradering

#19836

Jag undrade vad som är fel i min kod här under:

<%
thetext="Write this text in the file"

Set fs = CreateObject("Scripting.FileSystemObject")

Set wfile = fs.CreateTextFile("iframelinks.txt", False)
wfile.WriteLine "<a href="<%=Request.QueryString("search")%>" target="iframe"><%=Request.QueryString("search2")%></a><br>"

wfile.close
Set wfile=nothing
Set fs=nothing

response.write("Confirmed!")
%>

 

Får felmeddelandet:

Microsoft VBScript compilation error '800a03ea'

Syntax error

/site/add.asp, line 7

wfile.WriteLine <a href="<%=Request.QueryString("search")
----------------^

Har lite svårt att förklara mig så ställ gärna frågor om ni inte förstår!

Mvh Erik

ID: #19836 | Skapades: 2010-06-08 20:14:06 | Tråden har 46 svar och har lästs 1347 gånger.
Sida: 1 234

voigtan
voigtan

Gradering

#19837

Förmodligen har du inte sparat, då din sträng inte ser ut alls som felmeddelandet säger, för det andra så är din sträng felaktigt uppbyggd:

<%
thetext="Write this text in the file"

Set fs = CreateObject("Scripting.FileSystemObject")

dim sFile
sFile = Server.MapPath("iframelinks.txt")

Set wfile = fs.CreateTextFile(sFile, False)
wfile.WriteLine "<a href=""" & Request.QueryString("search") & """ target=""iframe"">" & Request.QueryString("search2") & "</a><br>"

wfile.close
Set wfile=nothing
Set fs=nothing

response.write("Confirmed!")
%>
Och CreateTextFile behöver en absolut path, sen kommer du generera ett fel när du uppdatera sidan då filen redan har skapats.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #19837 | Skapades: 2010-06-08 20:50:25

MrXr
MrXr

Gradering

#19838

Hur gör jag då om jag vill lägga till mer text till själva filen?

Om jag vill bygga på filen istället för att skapa en ny?

ID: #19838 | Skapades: 2010-06-08 23:15:05

voigtan
voigtan

Gradering

#19839

Läs mer om det på: http://msdn.microsoft.com/en-us/lib...28VS.85%29.aspx

Men något i stil med:

<%
dim fs, sFile, file
sFile = Server.MapPath("iframelinks.txt")

Set fs = CreateObject("Scripting.FileSystemObject")
set file = fs.OpenTextFile(sFile, 8, true)
file.WriteLine "<a href=""" & Request.QueryString("search") & """ target=""iframe"">" & Request.QueryString("search2") & "</a><br>"
file.close
Set file=nothing
Set fs=nothing

response.write("Confirmed!")
%>

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #19839 | Skapades: 2010-06-08 23:21:54

MrXr
MrXr

Gradering

#19840

Å vad dum jag är, hade glömt en end if sats längst ner som jag scalat bort innan från inloggnings sessionen.

Tack för hjälpen dock! :)

ID: #19840 | Skapades: 2010-06-08 23:26:23

voigtan
voigtan

Gradering

#19841

Eh, va? Koden du har bifogat har inget med någon if-fråga.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #19841 | Skapades: 2010-06-08 23:29:31

MrXr
MrXr

Gradering

#19843

Bifoga bara all asp kod som jag trodde fans.

fans en <%=end if%> kod bit längst ner som gav sista felmeddelandet iallafall.

ID: #19843 | Skapades: 2010-06-08 23:42:18

MrXr
MrXr

Gradering

#19844

ända problemet nu är i firefox dubbel registrerar i text filen tillskillnad från opera.

Har inte hunnit testa IE än. Det får dock bli morgondagens problem :)

ID: #19844 | Skapades: 2010-06-08 23:44:29

voigtan
voigtan

Gradering

#19845

1. Din kod hade aldrig fungerat ändå, då du bröt strängar hej vilt

2.

Microsoft VBScript compilation error '800a03ea'

Syntax error

/site/add.asp, line 7

wfile.WriteLine <a href="<%=Request.QueryString("search")
----------------^

Har inget med <%=end if%> att göra

Så jag förstå inte varför "Dock tackar" för hjälpen, bli lite irriterad över att man lägger ner tid att rätta de fel du har skapat.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #19845 | Skapades: 2010-06-08 23:47:19

voigtan
voigtan

Gradering

#19846

Citerar MrXr:

ända problemet nu är i firefox dubbel registrerar i text filen tillskillnad från opera.

Har inte hunnit testa IE än. Det får dock bli morgondagens problem :)

Igen, postar relevant kod då, för vad denna kod gör är att den skriver bara det en gång, förmodligen så kör du någon konstig loop eller liknande eller så få du med två GET poster

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #19846 | Skapades: 2010-06-08 23:48:14

MrXr
MrXr

Gradering

#19847

1.

Den fungerar faktiskt som jag vill, vet inte hur det spelar någon roll.

2. kom nytt felmeddelande och när jag hittade felet längst ner så fixade det sig. Vet inte hur jag ska ta med kod som jag från början inte vet om :/.

3.

"bli lite irriterad över att man lägger ner tid att rätta de fel du har skapat." jag sa att jag får kolla mer på det imorgon när jag har tid :)

blev lite i sista minuten just nu.

Skiten funkar nu iallafall förutom just det med att den i visa webbläsare drar dubbla inskrivningar, får som sagt kolla in mer på detta imorn.

P.S

Jag ska inte tacka för hjälpen i så tidigt läge om jag får sådan här respons :)

D.S

 

Godnatt

ID: #19847 | Skapades: 2010-06-09 00:07:27

voigtan
voigtan

Gradering

#19849

1. Om du kör med din orginal kod så får du felmeddelande:

Microsoft VBScript compilation  error '800a0408'

Invalid character

/add.asp, line 7

wfile.WriteLine "<a href="<%=Request.QueryString("search")
---------------------------^
Så nej, din kod har aldrig fungerat, spelar ingen roll om du hade en <%=end if%> då det inte var ens den raden ASP koden visade som fel, det var rad 7 på din add.asp, vilket var i stil med:

wfile.WriteLine <a href="<%=Request.QueryString("search")...


2. När kom meddelandet? När du började använda min kod?

Citat:
"Skiten funkar nu iallafall förutom just det med att den i visa webbläsare drar dubbla inskrivningar, får som sagt kolla in mer på detta imorn."

Jag använder uteslutet firefox i all min utveckling och den skriver bara en rad per postning och alla webbläsare fungera vad jag vet exakt samma vid en form-post och vid en uppdatering, Vad är det du gör med dokumentet? Är det en form-postnning? Eller en vanlig sid besök?

Jag gjorde en test: http://voigt.se/sandbox/aspkoll/MrXr/getPost/ det ända som är annolunda nu är att jag har lagt in en tidpunkt när någon data skrivs in i textfilen, kan du testa där? add.asp är det fler actions som körs i denna sida? Kanske är bäst att lägga in koden i en metod istället och kolla om querystring search och search2 är något, i så fall triggar du metoden.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
Redigerades av voigtan den 9 juni 2010. Läs tidigare inlägg.
Redigerades av voigtan den 9 juni 2010. Läs tidigare inlägg.
Redigerades av voigtan den 9 juni 2010. Läs tidigare inlägg.
ID: #19849 | Skapades: 2010-06-09 06:46:48

MrXr
MrXr

Gradering

#19851

Hmm, vad händer på http://voigt.se/sandbox/aspkoll/MrX...Post  ; ?

Kanske något du har gjort där som jag har missat i min kod.

Funderar på att lägga in en redirect direkt efter den skrivit i filen så jag kanske slipper dubbelskriviningen.

ID: #19851 | Skapades: 2010-06-09 09:06:42

voigtan
voigtan

Gradering

#19852

Vad som händer är att den postar till sig själv och om värderna stämmer med de jag har satt så skriver den till filen, dvs querystring värderna måste vara satta till det jag har sagt att dom skall vara (mest för att det inte skall missbrukas som demo)

Vad händer på din sida? Är det ett formulär du postar som bli dubbleter? Till Vilken sida postar du den? Inkludera du add.asp fler än en gång?

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #19852 | Skapades: 2010-06-09 09:09:45

MrXr
MrXr

Gradering

#19863

Vet inte men gick runt problemet genom att använda response.redirect direkt till en annan sida utan själva koden som lägger till texten.

Alltså så står asp koden separat med den sidan som säger att tillägget av text funkade som det skulle.

Nu är mer problemet hur jag kan få denna dåligt skrivna kod här under att ändra från att läsa en speciell rad till at deleta den, sökt runt i någon timme nu utan att hitta en lösning:

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("accepted.txt"), 1)
f.skipline
f.skipline
Response.Write(f.ReadLine)
f.Close

Set f=Nothing
Set fs=Nothing
%>

Koden är dålig, jag vet men går det att lösa så att den istället för att läsa en specifik rad till att den tar bort själva raden.

ID: #19863 | Skapades: 2010-06-09 16:45:25

voigtan
voigtan

Gradering

#19864

Jag vet inte vilken av mina fyra frågor du svarade på, men redirect låter inte som en lösning, är det ett formulär postning så är det vettigare att köra en "Postning" för om de uppdatera sidan så få de i alla fall frågan om att den skall posta igen.

Vilken rad skall tas bort? Är det bara att den skall skriva över filen så är det ju bara att göra det istället för att ta bort en rad. Vad försöker du åstakomma med din kod? att skriva till filter är en rätt så långsam process och speciellt när du skall börja modifiera text innehåll, men google sa: http://www.freevbcode.com/ShowCode.Asp?ID=2667 verkar vara precis det du är ute efter.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #19864 | Skapades: 2010-06-09 16:52:45
Sida: 1 234
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy