Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:18 Der er 25 kommentarer og
1 løsning

søger efter mapper med undvigelser

Jeg har det her script som søger efter et mappe navn på min web-server:

----------------->> KODE <<---------------------------------
<form name="foldersearch" method="post">
  mappe: <input type="text" name="folder">
  mappe<input name="path" type="hidden" value="mappe">&nbsp
  <input type="submit" name="submit" value="Søg">
</form>
<%
If Request.Form("folder") <> "" Then
  strSearch = Request.Form("folder") & "mappe"
 
  Set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FolderExists("C:\Inetpub\" & strSearch) Then
        Response.write "<font size='2px' color='red'><b>" & Request.Form("folder") & "mappe er optaget!</b></font>"
    Else
        Response.write "<font size='2px' color='green'><b>" & Request.Form("folder") & "mappe er ledigt!</b></font><br /><form name='bestilsub' action='default.asp?side=bestilsub' method='post'><input name='subname' type='hidden' value=" & Request.Form("folder") & " <br /> <input type='submit' name='bestilsub' value='bestil' /></form>"
    End If
  Set objFSO = Nothing
End If
%>

Kan det lade sig gøre at man kan lave en liste af navn som ikke findes og ikke må kunne benyttes fx. fuck. Så hvis man søger på det får man besked om at navnet findes selv om det ikke gør.
Jeg ved godt man jo bare kan lave mapperne på serveren men det er jo for let, plus der vil komme til at være mange tomme mapper.
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:26 #1
Eksempel:

dim optaget
optaget = ",fuck,nope,"

If objFSO.FolderExists("C:\Inetpub\" & strSearch) or instr(optaget, "," & strSearch & ",") > 0 Then

Her vil den skrive "mappe er optaget!", hvis man søger på "fuck" eller "nope", selvom mapper ikke findes.
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:31 #2
narj ikke helt, søger jeg på nope siger den mappen er ledig.
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:35 #3
Hmm.. måske skal det være "= 0" i stedet for "> 0".. Prøv det..
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:37 #4
meget bedre. takker

lig et svar.
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:38 #5
Ellers prøv det her:


response.write "Positionen af '" & strSearch & "' i listen: " & instr(optaget, "," & strSearch & ",") & "<br>"

If objFSO.FolderExists("C:\Inetpub\" & strSearch) or instr(optaget, "," & strSearch & ",") > 0 Then


Test lige med "nope"..

Så skulle den gerne skrive: Positionen af 'nope' i listen: 6
(eller noget i den stil)

Hvad skriver den så, når du indtaster "nope"?
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:38 #6
Svar :-)
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:39 #7
hvad ville du med den sidst kode?
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:39 #8
Hmm.. Det kan da ikke passe..?

Prøv lige at teste med "nope" og "abc"..

Hvad siger den så den ved "nope", og hvad siger den ved "abc"?
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:40 #9
ups ja det har du ret i, virker ikke. nu er alt optaget
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:42 #10
Koden fra 01/07-2007 00:38:06 skulle afsløre, om koden instr-linien fungerer korrekt..

Jeg tror ikke at "= 0" er korrekt..

Hvis man tester med "nope", som findes i listen, burde instr(optaget, "," & strSearch & ",") være større ned 0...

instr(optaget, "," & strSearch & ",") burde så returerer positionen 6 (eller 7, hvis den ikke bruger 0-index)..
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:42 #11
Det skal være:

If objFSO.FolderExists("C:\Inetpub\" & strSearch) or instr(optaget, "," & strSearch & ",") > 0 Then

Hvordan ser din kode ud nu?
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:43 #12
nope er ledigt
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:47 #13
ved ikke om du har taget højde for denne her lille linje: strSearch = Request.Form("folder") & "mappe"
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:48 #14
Det har jeg ikke :-)

Hvorfor skal der tilføjes "mappe" til navnet..?
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:49 #15
det er en længere forklaring
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:50 #16
Prøv lige med:

If objFSO.FolderExists("C:\Inetpub\" & strSearch) or instr(optaget, "," & left(strSearch, len(strSearch) - len("mappe")) & ",")
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:50 #17
nå men nu er det løst strengen skal se sådan her ud:

If objFSO.FolderExists("C:\Inetpub\" & strSearch) or instr(optaget, "," & Request.Form("folder") & ",") > 0 Then
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:51 #18
Du kan erstatte len("mappe") med tallet 5 (antallet af tegn/bogstaver i "mappe")..

Men så skal du huske, at 5 er lig antallet af tegn i "mappe".. fremfor at kunne se hvad det er, at den tager længden af..
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:53 #19
Jeg ved ikke om du har set det, men du kan sagtens beholde tilføjelsen "mappe"..

Du bruger bare koden fra 01/07-2007 00:50:00.
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:53 #20
If objFSO.FolderExists("C:\Inetpub\" & strSearch) or instr(optaget, "," & left(strSearch, len(strSearch) - len("mappe")) & ",") virker ikke, nope er stadig ledig.
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:53 #21
jeg glemte at tilføje "Then":

If objFSO.FolderExists("C:\Inetpub\" & strSearch) or instr(optaget, "," & left(strSearch, len(strSearch) - len("mappe")) & ",") Then
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:54 #22
nope er stadig ledig
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:55 #23
men der er vel ikke noget galt med at bruge min streng

If objFSO.FolderExists("C:\Inetpub\" & strSearch) or instr(optaget, "," & Request.Form("folder") & ",") > 0 Then
Avatar billede thesurfer Nybegynder
01. juli 2007 - 00:55 #24
For at være sikker..

strSearch = Request.Form("folder") & "mappe"

Hvis man indtaster "nope" i feltet "folder" i formen, kommer strSearch til at indeholde:

nopemappe

Korrekt?
Avatar billede thomasmyg Nybegynder
01. juli 2007 - 00:59 #25
yes det stemmer og nu funker det. takker
Avatar billede thesurfer Nybegynder
01. juli 2007 - 01:00 #26
Alletiders.. :-)

Du kan også bruge den med Request.Form("folder"), uden "mappe" delen.. hvis det ikke betyder at du skal ændre en masse navne.. det er der ingen grund til..
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

Seneste spørgsmål Seneste aktivitet
30 min siden Tomt felt i Start Af ErikHg i Windows
I går 23:00 Hyperlink til tekst Af Nanarsi i Excel
18/0121:03 Forlænge ringetid Af 1Dorte i Apps til Android
17/0117:38 Video ikoner Af Malm i Windows
17/0117:27 Video ikoner Af logbuilders i Windows