Toon posts:

[ASP +filesystem]

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo
ik ben weer bezig met me filesystem alleen nu kom ik het volgende probleem tegen.
Ik heb een folder en daarin subfolders nu wil ik de namen van de subfolder op me scherm showen.. echter ik zit te werken via een server waardoor ik gebruik wil maken van virtuele folder....
Hopelijk kan me iemand helpen met onderstaande code!?!?!
Want de fout zit volgens mijn in de regel : "set ofolder = oFSO.getFolder(Folder_Physical)" maar ik kom er zelf niet uit......
__________________________________________________________

<%
Dim oFSO, oFolder, oFiles, oFile,x
Dim FOLDER_VIRTUAL, FOLDER_PHYSICAL, EXT_IS_JPG, EXT_IS_JPEG, EXT_IS_GIF, EXT_IS_PNG, FILENAME, TEMP_STRING
FOLDER_VIRTUAL ="./images/meetings/"
FOLDER_PHYSICAL = Server.mapPath(FOLDER_VIRTUAL)


set oFSO = Server.CreateObject("scripting.fileSystemObject")
set ofolder = oFSO.getFolder(Folder_Physical)

for each x in ofolder
'Print the name of all subfolders in the test folder
Response.write(x.Name & "<br />")
next
set fo=nothing
set fs=nothing
%>

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Krijg je een foutmelding?

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
Soort fout:
Runtimefout Microsoft VBScript (0x800A01B6)
Deze eigenschap of methode wordt niet ondersteund door dit object


en verwijst naar de regel: for each x in ofolder

  • markvt
  • Registratie: Maart 2001
  • Laatst online: 12:06

markvt

Peppi Cola

Deze regels:
code:
1
2
set fo=nothing
set fs=nothing


Doen niets
code:
1
2
set oFSO = nothing
set ofolder = nothing

zal beter werken.

Wat is de waarde van : Server.mapPath(FOLDER_VIRTUAL) ?

Deze code gebruik ik voor mijn folder+file script:.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
dim maindir
maindir = "C:\WEBSERVER\www\kb\"
Call Recurse(maindir)

    Sub Recurse(Path)

    Dim fso, Root, WindowsFolder, Files, _
    Folders, File, i, FoldersArray(100)
    
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    Set Root = fso.getfolder(Path)
    Set Files = Root.Files
    Set Folders = Root.SubFolders
    For Each File In Files
    '''''''''''''''''''''''''''''
    'Code For Each File Found
    'Files afdrukken:
'   response.write File & "<br>"
    'Files afdrukken zonder path:
'   response.write replace(File,maindir,"") & "<br>"
    'Goes Here!
    '''''''''''''''''''''''''''''
    Next
    
    For Each Folder In Folders
    '''''''''''''''''''''''''''''
    'Code For Each Folder Found
    'Folders afdrukken:
'    response.write Folder.Path & "<br>"
    'Folders adrukken zonder path: 
' response.write "<!--" & maindir & "-->" 
    response.write "<a href='" & replace(Lcase(Folder.Path),Lcase(maindir),"") & "'>" & replace(Lcase(Folder.Path),Lcase(maindir),"") & "</a>"  & "<br>"
     'Goes Here!
    '''''''''''''''''''''''''''''
    FoldersArray(i) = Folder.Path
    i = i + 1
    Next
    
    For i = 0 To UBound(FoldersArray)
    if FoldersArray(i) <> "" Then 
    Recurse FoldersArray(i) 
    Else
    Exit For
    End if
    Next
    
    End Sub

[ Voor 109% gewijzigd door markvt op 24-10-2004 17:07 ]

van-tilburg.info -=- meka (sega emulator) - Proud MEDION fanclub member - KOPPIG VOLHOUDEN !


Verwijderd

Topicstarter
Dim oFSO, oFolder, oFiles, oFile,x
Dim FOLDER_VIRTUAL, FOLDER_PHYSICAL, EXT_IS_JPG, EXT_IS_JPEG, EXT_IS_GIF, EXT_IS_PNG, FILENAME, TEMP_STRING
FOLDER_VIRTUAL ="./images/meetings/"
FOLDER_PHYSICAL = Server.mapPath(FOLDER_VIRTUAL)

  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Verwijderd schreef op 24 oktober 2004 @ 16:50:
Soort fout:
Runtimefout Microsoft VBScript (0x800A01B6)
Deze eigenschap of methode wordt niet ondersteund door dit object


en verwijst naar de regel: for each x in ofolder
Dat komt omdat je naar een folder verwijst en niet naar een collection van folders. Probeer eens oFolder.SubFolders

Dat geeft een collection van subfolders terug van een folder object. Ik zou als ik jou was de variabele x ook vervangen door een logischere naam. x verwijst meestal naar een numerieke waarde en niet naar een object.

dus
ASP:
1
2
for each oSubFolder in oFolder.SubFolders
...

I'm not a complete idiot - several parts are missing.


Verwijderd

Topicstarter
Thnx met onderstaande code werkt het :D
nu moet ik alleen de variabelen die daaruit komen en op het scherm komen doorpassen naar het volgende script(page) en dan word dat de nieuwe variabele...

Verwijderd

Topicstarter
Nu wil ik dus zoals ik zonet al zei link maken waarbij op het scherm de naam van de map word getoond en de link bestaat uit < a href=pics2.asp?naam= en de naam is dus opgebouw uit de variabele x.Name...
Response.write("test") dat werkt
maar als ik daar
Response.write("<a href="pics2.asp?name="&(x.Name)"&">test</a>")
van maak dan werkt dat niet :S

Verwijderd

Een " in een string moet je escapen, in VBScript met nog een " ervoor, dus:
ASP:
1
Response.write("<a href=""pics2.asp?name=""" & x.Name  & """>test</a>") 
zou moeten werken.

HTH :)

  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Verwijderd schreef op 24 oktober 2004 @ 17:38:
Nu wil ik dus zoals ik zonet al zei link maken waarbij op het scherm de naam van de map word getoond en de link bestaat uit < a href=pics2.asp?naam= en de naam is dus opgebouw uit de variabele x.Name...
Response.write("test") dat werkt
maar als ik daar
Response.write("<a href="pics2.asp?name="&(x.Name)"&">test</a>")
van maak dan werkt dat niet :S
Dat kan ook niet werken want er staat:
Schrijf ("Een stukje tekst"Een stuk dat een variabele of een ander ASP item moet zijn."Weer een stukje tekst"Het & teken"En het laatste stukje tekst")

Hier begrijpt IIS niets van. Probeer het eens als volgt:
ASP:
1
Response.write("<a href=""pics2.asp?name=" & x.Name & """>test</a>")

Een "" wordt door ASP namelijk vertaalt als het karakter " dus staat er feitenlijk
ASP:
1
<a href="pics2.asp?name=de waarde van x.Name">test</a>

I'm not a complete idiot - several parts are missing.


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Verwijderd schreef op 24 oktober 2004 @ 17:59:
Een " in een string moet je escapen, in VBScript met nog een " ervoor, dus:
ASP:
1
Response.write("<a href=""pics2.asp?name=""" & x.Name  & """>test</a>") 
zou moeten werken.

HTH :)
Volgens mij werkt dit niet. De output heeft namelijk 3 quotes. Eén aan het begin van de url één aan het begin van de waarde voor name en één aan het einde van de url. Er moet dus of nog een quote bij of je moet die voor de waarde weghalen. Deze is namelijk niet nodig.

I'm not a complete idiot - several parts are missing.


Verwijderd

WvdWest schreef op 24 oktober 2004 @ 18:05:
[...]
Volgens mij werkt dit niet. De output heeft namelijk 3 quotes. Eén aan het begin van de url één aan het begin van de waarde voor name en één aan het einde van de url. Er moet dus of nog een quote bij of je moet die voor de waarde weghalen. Deze is namelijk niet nodig.
Wat hier bovenstaat klopt wel. 2 quotes voor de quote in de href en 1 quote om van html te switchen naar asp.

Verwijderd

Topicstarter
ok dat heb ik werkend...
Alleen wil ik dus een map een naam geven met spaties ertussen hoe kan ik dat dan compleet doorgeven?
want met die link werkt dat niet :S

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Vall,

We vereisen in Programming & Webscripting een beetje zelfwerkzaamheid. Het is geen helpdesk. Het lijkt er echter op dat je het wel zo begint te beschouwen. Je stelt vraag na vraag achter elkaar in een topic, welke soms niet eens gerelateerd zijn aan het eigenlijke probleem.

Ik mis dan ook een beetje de zelfwerkzaamheid bij je; wat heb je zelf geprobeerd, wat heb je gevonden? Ik denk dat een goed boek over ASP / VBScript dan ook meer uitkomst kan bieden; je lijkt namelijk de basis te missen. Het oplossen van de losse probleempjes leert je deze basis niet, waardoor je wat blijft aanmodderen.

Dit topic begint me ook veel te veel een "neem-mij-aan-het-handje" topic te worden. Deze gaat dan ook dicht. Zie P&W FAQ - De "quickstart" voor de eisen die we aan een topic stellen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.