Avatar billede runberg Nybegynder
01. november 2002 - 08:13 Der er 9 kommentarer og
1 løsning

Opdeling af Querystring

Hejsa

Jeg har lige et lille spørgsmål:

Jeg har en side, som kaldes med et ikke bestemt antal parametre. Dvs, at stringen kan se ud som følger:

?pkt0="0,1"&pkt1="1"&pkt2="0,2"&

Stringen er bygget op, således at den altid slutter med et &-tegn. Desuden, er de forskellige variabler altid navngivet fra ptk0 - pkt1 og fremefter.

Det jeg skal have gjort, er at jeg skal have lavet en forløkke, som tager værdierne i hvert punkt i stringen, startende med pkt0, og have sat værdierne ind i en arraylist sådeleds at det kommer til at se sådan her ud:

arraylist(0)= "0,1"
arraylist(1)= "1"
arraylist(2)= "0,2"

.. og så fremdeles, afhængigt af hvor mange punkter der er i stringen. Hvis det er til nogen hjælp, kan det forudsættes, at der som min. altid vil være et punkt i querystringen. Desuden slutter stringen altid med et &.. Måske man kan tælle antal punkter, ved at teste på hvor mange &-tegn der er?????

Håber der er en der kan hjælpe!!!
Avatar billede dk_akj Nybegynder
01. november 2002 - 08:26 #1
kan du ikke bruge split ??

myArray = split(request.querystring(),'&')

//akj
Avatar billede runberg Nybegynder
01. november 2002 - 08:28 #2
.. Jo, det kan jeg godt, men så får jeg et par problemer. For det første, så bliver stringen i mit array = "pkto="0,1"" og ikke kun værdierne. Desuden mener jeg at få et problem da jeg jo har et &-tegn i slutningen af min string.
Avatar billede dk_akj Nybegynder
01. november 2002 - 08:33 #3
Nåh ja, så skal du igang med strenggymnastikken.
for i = 1 to upperbound(myarray)  ' loop gennem array 
  pos1 = instr(myarray(i),char(34))  ' find første "
  pos2 = instr(pos1,myarray(i),char34())  ' find andet "
  data = mid(myarray(i),pos1.pos2 - pos1) ' find det der står mellem "og"
  myarray(i) = data
next
Avatar billede runberg Nybegynder
01. november 2002 - 08:44 #4
Hmm... vil det virke?? Jeg er ikke helt sikker på hvad det er du laver...

Du starter med at finde først og sidste &-tegn, og derefter finder du det der ligger imellem eller hvad??? Hvad er char34??? Det jeg skal have er vel egentlig det der står mellem de to "-tegn ikk???? men dette passer måske med char34 eller hvad???

Og så lige igen??? Det sidste og tegn.... Hvilken betydning får det i forhold til den sørste split??? jeg vil ikke risikere at få en tom string i slutningen af arrayet!
Avatar billede dk_akj Nybegynder
01. november 2002 - 09:21 #5
Her er et afprøvet eksempel.

' opbyg streng til testformål chr(34) = "
mystring = "?pkt0=" & chr(34) & "0,1" & chr(34) & "&pkt1=" & chr(34) & "1" & chr(34) & "&pkt2=" & chr(34) & "0,2" & chr(34) & "&"

response.write mystring & "<br>" ' udskriv teststreng
mystring = replace (mystring,chr(34),"")    'fjern alle "
mystring = replace (mystring,"?","&")    ' erstat første ? med et &
myarray = split(mystring,"&")    ' lav om til array

for i = 1 to ubound(myarray) ' loop gennem array
    pos1 = instr(myarray(i),"=")  ' pos af =
    data = right(myarray(i), len (myarray(i)) - pos1)  'tag alt efter =
    response.write data & "<br>"  ' udskriv data
next


//akj
Avatar billede runberg Nybegynder
01. november 2002 - 09:29 #6
Tester det lige og vender tilbage senere
Avatar billede runberg Nybegynder
01. november 2002 - 09:57 #7
Jamen det virker jo!!! ... Har dog ikke fundet ud af hvad det der chr(34) er, men så længe det virker, så er jeg glad :-)

Tak for hjælpen!!!!
Avatar billede dk_akj Nybegynder
01. november 2002 - 10:02 #8
chr(34) giver en " 34 er ascii koden for "

mystring = replace (mystring,","") ' dette giver en fejl da der er et ulige antal "
mystring = replace (mystring,chr(34),"") ' dette vil virke

ligeledes kan du jo ikke bruge ' i asp/vbscript da det jo starter en kommentar, det er bare nødvendigt nogle gange så der kan man bruge chr(39)

Håber det hjalp dig til at forstå det, ellers spørg løs.

//akj
Avatar billede runberg Nybegynder
01. november 2002 - 18:00 #9
Først og fremmest: Endnu engang tak for hjælpen! Det hele virker nu... næsten :-) jeg har stadig et enkelt problem!

Som nævnt i starten af mit spørgsmål, så er planen med al den her string-gymnastik, at jeg vil hente en querystring, men jeg får en fejl, når jeg forsøger at skrive:

dim inputString as String = Request.QueryString

---eller----

String intputString = Request.QueryString


Så hvordan får jeg nu konverteret qyerystringen til en string??
Avatar billede runberg Nybegynder
01. november 2002 - 18:05 #10
Okay.. det lykkeds med en simpel toString..... Har dog fundet nye problemer, så her går det godt .-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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