Avatar billede Beach Mester
23. februar 2002 - 17:45 Der er 19 kommentarer og
2 løsninger

Huske variabel (string) med function

Hvordan kan jeg gemme noget i variablen file, så jeg senere på siden kan bruge værdierne i den?

Jeg har følgende kode:

Function checkfile()
Dim fso, f, filespec, file
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(Request.Querystring("tlf") & ".txt")
If (fso.FileExists(filespec)) Then
file="ja"
Else
file="nej"
End If
End Function
%>

<%
checkfile
Response.Write file
%>

//Beach
Avatar billede stig3 Mester
23. februar 2002 - 17:49 #1
Brug en Session variabel:

Session("file") = "hejsa"

Den følge så brugeren og du kan hente værdien:
Response.write Session("file")
Avatar billede stig3 Mester
23. februar 2002 - 17:50 #2
Hovsa:

Hvis det er på samme side..........
Hvorfor så ikke bare bruge en almindelig variabel
Avatar billede Beach Mester
23. februar 2002 - 17:51 #3
Prøver lige:-)

//Beach
Avatar billede Beach Mester
23. februar 2002 - 17:52 #4
Det er på samme side! Og er det ikke allerede en variabel jeg har lavet?
Kan du læse af ovenstående at jeg er ret grøn i ASP:-)))

//Beach
Avatar billede stig3 Mester
23. februar 2002 - 17:57 #5
Nu er jeg med (tror jeg)

For at få variablen med ud af functionen skal du kalde functionen det samme som den variabel der skal trækkes ud.

Function file()
Dim fso, f, filespec, file
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(Request.Querystring("tlf") & ".txt")
If (fso.FileExists(filespec)) Then
file="ja"
Else
file="nej"
End If
End Function
%>

<%
Response.Write file() 'Jeg kan ikke huske om der skal paranteser på - prøv med først
%>
Avatar billede Beach Mester
23. februar 2002 - 18:06 #6
Det kan den sgu ikke li:-)
Har lavet følgende:

Function file()
Dim fso, f, filespec, file
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(Request.Querystring("tlf") & ".txt")
If (fso.FileExists(filespec)) Then
'Response.Write "filen findes "
file="ja"
Else
'Response.Write "filen findes ikke "
file="nej"
End If
'Response.Write file
End Function
%>

<%
Response.Write file()
'testfile
%>

Har prøvet både med og uden paranteser

//Beach
Avatar billede stig3 Mester
23. februar 2002 - 18:14 #7
hvad siger den ??
Avatar billede stig3 Mester
23. februar 2002 - 18:15 #8
Hvad siger den til det her ?

Function file()
  file="ja"
End Function
%>

<%
Response.Write file()
'testfile
%>
Avatar billede stig3 Mester
23. februar 2002 - 18:21 #9
Den virkede i hvert fald her hos mig. Men prøv så:

Function file()
  Dim fso, f, filespec, file
  Set fso = CreateObject("Scripting.FileSystemObject")
  file = Server.MapPath(Request.Querystring("tlf") & ".txt")
End Function
%>

<%
Response.Write file()
'testfile
%>



Hvad udskriver den ??
Avatar billede Beach Mester
23. februar 2002 - 18:23 #10
ja %> filen findes ja

Det er hvad jeg får ud af:
<%
Function file()
  file="ja"
End Function
%>

<%
Response.Write file()
%>
Avatar billede stig3 Mester
23. februar 2002 - 18:25 #11
og den jeg postede:
18:21:10

Hvad skriver den ?
Avatar billede Beach Mester
23. februar 2002 - 18:26 #12
Med denne kode:
Function file()
  Dim fso, f, filespec, file
  Set fso = CreateObject("Scripting.FileSystemObject")
  file = Server.MapPath(Request.Querystring("tlf") & ".txt")
End Function
%>

<%
Response.Write file()
%>

Får jeg en HTTP 500 - Intern serverfejl
Avatar billede stig3 Mester
23. februar 2002 - 18:29 #13
så prøv at skriv sti/filnavn direkte:

Function file()
  Dim fso, f, filespec, file
  Set fso = CreateObject("Scripting.FileSystemObject")
  file = Server.MapPath("c:\minfil.txt")
End Function
%>

<%
Response.Write file()
%>
Avatar billede horsmark Nybegynder
23. februar 2002 - 18:32 #14
hmm det vil være en god idé at navngive variablen file til eks. strFile eftersom file-ordet kan være reserveret af systemet...

En anden god ting er af dim´e variablen udenfor functionen eftersom den jo skal bruges globalt på siden
Avatar billede horsmark Nybegynder
23. februar 2002 - 18:34 #15
ps. der skal ikke () = pranteser efter en variabel.. :-)

Dim strFile
strFile = "test"

response.write strFile
Avatar billede Beach Mester
23. februar 2002 - 18:35 #16
Samme fejl med:

Function file()
  Dim fso, f, filespec, file
  Set fso = CreateObject("Scripting.FileSystemObject")
  file = Server.MapPath("d:\home\freestyledk\www\kabler\") & Request.Querystring("tlf") & ".txt")
End Function
%>

<%
Response.Write file()
%>

Det er sgu da smystisk:-(

//Beach
Avatar billede Beach Mester
23. februar 2002 - 18:36 #17
>>>horsmark
Prøver lige...

//Beach
Avatar billede Beach Mester
23. februar 2002 - 18:40 #18
Med følgende kode så virker det faktisk som det skal:
<% Dim strfile %>
<%
Function checkfile()
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(Request.Querystring("tlf") & ".txt")
If (fso.FileExists(filespec)) Then
Response.Write "filen findes "
strfile="ja"
Else
Response.Write "filen findes ikke "
strfile="nej"
End If
End Function
%>

<%
checkfile
Response.Write strfile
%>

Så et svar fra horsmark vil give lidt point:-)
//Beach
Avatar billede Beach Mester
23. februar 2002 - 18:42 #19
Point senere, maden er sat på bordet. Takker for hjælpen til jeg begge *S*

//Beach
Avatar billede Beach Mester
23. februar 2002 - 19:47 #20
>>>horsmark
Vil du ikke have nogle point?

//Beach
Avatar billede Beach Mester
01. marts 2002 - 04:25 #21
Det lader ikke til at horsmark vi have point, så jeg giver dig lidt for din iver efter at prøve selv om det ikke virkede og tager resten tilbage til mig selv. Er det OK?
Den oprintlige var på 15p som blev forhøjet til 25p pga. horsmark og at jeg gerne ville smide 10p af til dig for et par gode forsøg. Så du får de 10p:-)

//Beach
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