Avatar billede slapstick Nybegynder
17. januar 2002 - 15:43 Der er 22 kommentarer og
2 løsninger

kommafil

nogen der kan fortælle mig hvordan jeg tager indholdet af en form og putter den i en kommafil? og ved senere posts fra samme form putter indholdet end i samme kommafil(uden at slette det der står der i forvejen)
Avatar billede madrich Nybegynder
17. januar 2002 - 16:44 #1
Download dokumentationen for VBscript 5.0 fra microsofts homepage

Søg efter fso (file scripting object)

der finder du svar på dit spørgsmål
Avatar billede madrich Nybegynder
17. januar 2002 - 16:45 #2
sorry VBscript 5.5 :)
Avatar billede slapstick Nybegynder
18. januar 2002 - 12:20 #3
tak har os fundet dokumentationen MEN !! hehe

har prøvet de her 3 forskellige eksempler men de gør ingenting?
dvs de laver ikke en txtfil og åbner og skriver ikke i dem osv

Dim fso, MyFile
Set fso = CreateObject(\"Scripting.FileSystemObject\")
Set MyFile = fso.CreateTextFile(\"c:\\testfile.txt\", True)
MyFile.WriteLine(\"This is a test.\")
MyFile.Close


----

Function TextStreamTest
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
  Dim fso, f, ts
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  fso.CreateTextFile \"test1.txt\"  \' Create a file.
  Set f = fso.GetFile(\"test1.txt\")
  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
  ts.Write \"Hello World\"
  ts.Close
  Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
  TextStreamTest = ts.ReadLine
  ts.Close
End Function


--------

Sub OpenTextFileTest
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Dim fso, f
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  Set f = fso.OpenTextFile(\"c:\\testfile.txt\", ForWriting, True)
  f.Write \"Hello world!\"
  f.Close
End Sub

Avatar billede madrich Nybegynder
18. januar 2002 - 12:44 #4
det skulle de gøre!

ved du hvordan man kalder en funktion eller en sub? (bliv ikke fornærmet, men bare for at tjekke hvor hjælpen skal sættes ind)
Avatar billede slapstick Nybegynder
18. januar 2002 - 12:46 #5
heh now we\'re getting somewhere
nej for jeg er pænt rookie til det her
Avatar billede webbe Nybegynder
18. januar 2002 - 13:12 #6
Bruger selv følgende script der virker perfekt:

\'Danner kommafilen ud fra kundenr
filEfternavn = \".kom\"

\'Find et filnavn
Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")
fileName = Session(\"Kundenr\")&filEfternavn

i = 1

do while objFSO.FileExists(Server.MapPath(\"./concorde/\"&fileName))
        fileName = Session(\"Kundenr\")&\"(\"&i&\")\"&filEfternavn
        i = i + 1
loop
   
Set objTextStream = objFSO.CreateTextFile(Server.MapPath(\"./concorde/\"&fileName))

\'indsætter i DB
sql = \"INSERT INTO Data (Kundenr_id,Sys_dato,Kom_fil) VALUES (\"&\"\'\"&Request.Form(\"kundenr\")&\"\', \'\"&date&\"\', \'\"&filename&\"\')\"
Connect.Execute(sql)

\'Skriver til text-filen linie for linie
If Request.Form(\"dato1\") <> \"\" OR Request.Form(\"bilag1\") <> \"\" OR Request.Form(\"konto1\") <> \"\" OR Request.Form(\"tekst1\") <> \"\" Then
    for i = 1 to 5
        outStr = Request.Form(\"dato\" & i) & \",\"
        outStr = outStr & Request.Form(\"bilag\" & i) &  \",\"
        outStr = outStr & Request.Form(\"t\" & i) & \",\"
        outStr = outStr & Request.Form(\"konto\" & i) & \",\"
        outStr = outStr & Request.Form(\"tekst\" & i) & \",\"
        outStr = outStr & Request.Form(\"kasse_ind\" & i) & \",\"
        outStr = outStr & Request.Form(\"kasse_ud\" & i) & \",\"
        outStr = outStr & Request.Form(\"bank_ind\" & i) & \",\"
        outStr = outStr & Request.Form(\"bank_ud\" & i)
       
        If outStr <> \",,,,,,,,\" Then
            objTextStream.WriteLine outStr
        End if
    next
End if

objTextStream.Close
Set objTextStream = Nothing
Set objSFO = Nothing
Avatar billede slapstick Nybegynder
18. januar 2002 - 13:15 #7
tak !!! :)))
Avatar billede slapstick Nybegynder
18. januar 2002 - 13:33 #8
hvaså har jeg lavet en total brøler her eller?
den siger den her fejl:

Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: \'stats\'
/stats/stats.asp, line 8


Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")
fileName = stats.txt

i = 1

do while objFSO.FileExists(Server.MapPath(\"stats.txt\"))
        fileName = stats.txt
        i = i + 1
loop
Set objTextStream = objFSO.CreateTextFile(Server.MapPath(\"stats.txt\"))
\'Skriver til text-filen linie for linie
If Request.Form(\"gender\") <> \"\" OR Request.Form(\"alder\") <> \"\" OR Request.Form(\"postnr\") <> \"\" Then
\'    for i = 1 to 5
        outStr = Request.Form(\"gender\") & \",\"
        outStr = outStr & Request.Form(\"alder\") &  \",\"
        outStr = outStr & Request.Form(\"postnr\")
       
        If outStr <> \",,,,,,,,\" Then
            objTextStream.WriteLine outStr
        End if

End if

objTextStream.Close
Set objTextStream = Nothing
Set objSFO = Nothing 
Avatar billede webbe Nybegynder
18. januar 2002 - 13:35 #9
Tror stats er et reserveret ord, men er ikke sikker.

Prøv at ændre til statistik.txt
Avatar billede slapstick Nybegynder
18. januar 2002 - 13:36 #10
aaah ok prøver lige
Avatar billede webbe Nybegynder
18. januar 2002 - 13:36 #11
Aaaahh - her er fejlen:

(Server.MapPath(\"stats.txt\"))

skal være

(Server.MapPath(\"./stats.txt\"))
Avatar billede slapstick Nybegynder
18. januar 2002 - 13:38 #12
hmm næ nu siger den

Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: \'statistik\'
/stats/stats.asp, line 8


det er her den er gal med:
Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")
fileName = statistik.txt <-- den der
Avatar billede webbe Nybegynder
18. januar 2002 - 13:40 #13
Prøv lige at rette dine Server.Mappath methods
Avatar billede slapstick Nybegynder
18. januar 2002 - 13:42 #14
hmm har prøvet at sætte ./ ind foran men den siger samme fejl :/ linie 8 blabla
Avatar billede webbe Nybegynder
18. januar 2002 - 13:45 #15
Kan være fordi det script jeg gav dig automatisk finder et filnavn ud fra nogle variable....prøv det her

\'Danner kommafilen ud fra kundenr
filEfternavn = \".kom\"

\'Find et filnavn
Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")
fileName = statistik.txt

Set objTextStream = objFSO.CreateTextFile(Server.MapPath(\"./statistik.txt\"))

\'indsætter i DB
sql = \"INSERT INTO Data (Kundenr_id,Sys_dato,Kom_fil) VALUES (\"&\"\'\"&Request.Form(\"kundenr\")&\"\', \'\"&date&\"\', \'\"&filename&\"\')\"
Connect.Execute(sql)

\'Skriver til text-filen linie for linie
If Request.Form(\"dato1\") <> \"\" OR Request.Form(\"bilag1\") <> \"\" OR Request.Form(\"konto1\") <> \"\" OR Request.Form(\"tekst1\") <> \"\" Then
    for i = 1 to 5
        outStr = Request.Form(\"dato\" & i) & \",\"
        outStr = outStr & Request.Form(\"bilag\" & i) &  \",\"
        outStr = outStr & Request.Form(\"t\" & i) & \",\"
        outStr = outStr & Request.Form(\"konto\" & i) & \",\"
        outStr = outStr & Request.Form(\"tekst\" & i) & \",\"
        outStr = outStr & Request.Form(\"kasse_ind\" & i) & \",\"
        outStr = outStr & Request.Form(\"kasse_ud\" & i) & \",\"
        outStr = outStr & Request.Form(\"bank_ind\" & i) & \",\"
        outStr = outStr & Request.Form(\"bank_ud\" & i)
       
        If outStr <> \",,,,,,,,\" Then
            objTextStream.WriteLine outStr
        End if
    next
End if

objTextStream.Close
Set objTextStream = Nothing
Set objSFO = Nothing
Avatar billede webbe Nybegynder
18. januar 2002 - 13:46 #16
Har jeg frostået det rigtigt hvis det er den samme txt-fil der skal skrives til hver gang???

I så fald skal du sørge for at der er en fil der hedder statistik.txt i den mappe du afvikler scriptet i.
Avatar billede slapstick Nybegynder
18. januar 2002 - 13:51 #17
yay det er den samme fil og jeg har lavet txtfilen
ok nu ser koden sådan her ud og den kommer syadig med den samme fejl

Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")
fileName = statistik.txt

Set objTextStream = objFSO.CreateTextFile(Server.MapPath(\"./statistik.txt\"))
\'Skriver til text-filen linie for linie
If Request.Form(\"gender\") <> \"\" OR Request.Form(\"alder\") <> \"\" OR Request.Form(\"postnr\") <> \"\" Then
\'    for i = 1 to 5
        outStr = Request.Form(\"gender\") & \",\"
        outStr = outStr & Request.Form(\"alder\") &  \",\"
        outStr = outStr & Request.Form(\"postnr\")
       
        If outStr <> \",,,,,,,,\" Then
            objTextStream.WriteLine outStr
        End if

End if

objTextStream.Close
Set objTextStream = Nothing
Set objSFO = Nothing 
Avatar billede slapstick Nybegynder
18. januar 2002 - 15:24 #18
ok det er sikkert helt ude i tågerne det her men nu har jeg rpøvet at lave det sådan her

Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")
Set objTextStream = objFSO.OpenTextFile(Server.MapPath(\"./statistik.txt\"))
        outStr = Request.Form(\"gender\") & \",\"
        outStr = outStr & Request.Form(\"alder\") &  \",\"
        outStr = outStr & Request.Form(\"postnr\")
       
        If outStr <> \",,,,,,,,\" Then
            objTextStream.WriteLine outStr
        End if



objTextStream.Close
Set objTextStream = Nothing
Set objSFO = Nothing 
Avatar billede slapstick Nybegynder
18. januar 2002 - 15:26 #19
nåh ja nu står den bare og hænger indtil jeg ik gider se på det mer
Avatar billede webbe Nybegynder
19. januar 2002 - 18:40 #20
Jeg er totalt blank lige nu!

Kan slet ikke gennemskue hvad der går galt!

Kan jeg ikke få lov til at se HELE koden i den fil du har gang i?
Avatar billede slapstick Nybegynder
21. januar 2002 - 13:33 #21
jo selvfølgelig
her er den:

<% Response.buffer = True %>
<%

\'filEfternavn = \".kom\"

\'Find et filnavn
Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")
Set objTextStream = objFSO.OpenTextFile(Server.MapPath(\"./statistik.txt\"))
\'Skriver til text-filen linie for linie
\'If Request.Form(\"gender\") <> \"\" OR Request.Form(\"alder\") <> \"\" OR Request.Form(\"postnr\") <> \"\" Then
\'    for i = 1 to 5
        outStr = Request.Form(\"gender\") & \",\"
        outStr = outStr & Request.Form(\"alder\") &  \",\"
        outStr = outStr & Request.Form(\"postnr\")
       
      \' If outStr <> \",,,,,,,,\" Then
            objTextStream.WriteLine outStr
      \'  End if

\'End if

objTextStream.Close
Set objTextStream = Nothing
Set objSFO = Nothing 

Response.Cookies(\"stats\")(\"gender\") = Request.Form(\"gender\")
Response.Cookies(\"stats\")(\"age\") = Request.Form(\"alder\")
Response.Cookies(\"stats\")(\"areacode\") = Request.Form(\"postnr\")
Response.Cookies(\"stats\")(\"crunch\") = Request.Form(\"crunch\")
Response.Cookies(\"stem\").expires = Now() + 700
gender = Request.Form(\"gender\")
age = Request.Form(\"alder\")
areacode = Request.Form(\"postnr\")

%>

<html><head><title>Brugerundersøgelse</title><link rel=\'stylesheet\' href=\'css/stats.css\'>
</head>
<body background=\"regnskove.gif\" topmargin=\"0\" leftmargin=\"0\" class=\"text\" TEXT=\"#000000\" LINK=\"#000000\" VLINK=\"#000000\" ALINK=\"#000000\">
<center>
<table cellpadding=\'0\' cellspacing=\'0\' border=\'0\' class=\'text\'>
<tr>
<td class=\'text\'>
<b>
<br>
Tak :)
<br><br>
Her er dine svar !
</b>
<br><br>
Køn:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b><%=gender %></b>
<br><br>
Alder:&nbsp;&nbsp;&nbsp;&nbsp;<b><%=age %></b>
<br><br>
Postnr:&nbsp;&nbsp;<b><%=areacode %></b>

</td>
</tr>
</table>
</center>
</body>
</html>
Avatar billede webbe Nybegynder
21. januar 2002 - 13:36 #22
Hmmmm - kan ikke se hvad der er galt.

Vil du have dine point igen?
Avatar billede slapstick Nybegynder
21. januar 2002 - 14:09 #23
nej det er ok
tak for hjælpen ellers :))
Avatar billede webbe Nybegynder
21. januar 2002 - 14:10 #24
Okay - er ked af jeg ikke kunne hjælpe dig med det sidste problem!
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