Johnny Winther Ronnenberg (slet GH87Y) wrote:
> Hvad gør jeg forkert?
>
> <%
> 1: dim fs
> 2: Set fs = Server.CreateObject("Scripting.FileSystemObject")
> 3: Set textFile = fs.CreateTextFile("f:\converted.txt")
> 4: '-- textFile.write("hello world")
> 5: '-- textFile.close()
> 6: '-- textFile = nothing
> 7: '-- fs = nothing
> %>
Her er dokumentasjonen:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/jsmthcreatetextfile.asp
Denne funksjonen gis som eksempelkode:
Sub CreateAfile
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close
End Sub
Hvis en sammenligner dette med din kode så er det ikke vanskelig å se
forskjeller:
1) Du har ikke dimmet objektet textfile. (Dessuten er dette et svært
uheldig navn på et fso objekt. Det ligner dessuten mistenkelig på et
reservert ord.)
2) Du benytter paranteser på Close metoden.
3) Du benytter nøkkelordet Nothing, hvilket jeg vil tro genererer en feil.
4) Du setter fs nothing uten å bruke statementet Set.
Prøv å endre disse tingene og kjør koden på nytt.
Jeg ville lagt slik kode i en egen funksjon, fordi dette er generell
kode som kan benyttes igjen og igjen i mange ulike asp filer. Slik ville
jeg ha skrevet denne koden:
Function CreateFile(sFullPath, sTxt)
On Error Resume Next
Dim oFSO, oFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.CreateTextFile(sFullPath, True, False)
oFile.Write sTxt
oFile.Close
Set oFSO = Nothing
CreateFile = (Err.Number = 0)
End Function
terje