Avatar billede metalspaden Nybegynder
09. oktober 2003 - 16:23 Der er 16 kommentarer og
1 løsning

Replace med en løkke

Nogen der kan hjælpe mig med at få dette til at virke?
Er ret ny til asp, så undskyld hvis der er nogle ret dumme fejl. Havde tænkt mig at lave en "replace-løkke".
Men når jeg prøver at køre løkken siger den:
"Data type mismatch in criteria expression."

form1 = "modstander"
form2 = "maps"
form3 = "map11"
form4 = "map12"
form5 = "map21"
form6 = "map22"
form7 = "resume"
form8 = "type"
formNr = 1
intInputs = 8
Do While intInputs+1 > formNr
  nummer = "form" & formNr
  nummer = strNummer
  strNummer = Replace(Request.Form("form" & formNr),"<","&lt;")
  strNummer = Replace(Request.Form("form" & formNr),">","&gt;")
  strNummer = Replace(Request.Form("form" & formNr),VbCrLf,"<br>")
  strNummer = Replace(Request.Form("form" & formNr),"'","&#39;")
  formNr = formNr + 1
Loop
Avatar billede medions Nybegynder
09. oktober 2003 - 16:24 #1
No can do...

//>Rune
Avatar billede medions Nybegynder
09. oktober 2003 - 16:25 #2
Men lig dem ind i et array istedet for så kan det lade sig gøre!

//>Rune
Avatar billede medions Nybegynder
09. oktober 2003 - 16:27 #3
form = Array("modstander", "maps", "map11", "map12", "map21", "map22", "resume", "type")

For i = LBound(form) To UBound(form)
  nummer = "form" & formNr
  nummer = strNummer
  strNummer = Replace(Request.Form(Form(i)),"<","&lt;")
  strNummer = Replace(Request.Form(Form(i)),">","&gt;")
  strNummer = Replace(Request.Form(Form(i)),VbCrLf,"<br>")
  strNummer = Replace(Request.Form(Form(i)),"'","&#39;")
Next

//>Rune
Avatar billede medions Nybegynder
09. oktober 2003 - 16:27 #4
SÅdan her, så er koden oxo lidt flottere:

Form = Array("modstander", "maps", "map11", "map12", "map21", "map22", "resume", "type")

For i = LBound(form) To UBound(form)
  strNummer = Replace(Request.Form(Form(i)),"<","&lt;")
  strNummer = Replace(Request.Form(Form(i)),">","&gt;")
  strNummer = Replace(Request.Form(Form(i)),VbCrLf,"<br>")
  strNummer = Replace(Request.Form(Form(i)),"'","&#39;")
Next

//>Rune
Avatar billede metalspaden Nybegynder
09. oktober 2003 - 16:33 #5
thanx.. men ville også gerne have at løkken automatisk gav navn.
Dvs. så der istedet for strNummer stod formModstander. Og så skifter til formMaps ved næste, osv.
Avatar billede metalspaden Nybegynder
09. oktober 2003 - 16:34 #6
Kan self bare lave et ekstra array til navnene, men kunne godt være der var en lidt "nemmere" måde
Avatar billede medions Nybegynder
09. oktober 2003 - 16:34 #7
??? hvad mener du?

//>Rune
Avatar billede metalspaden Nybegynder
09. oktober 2003 - 16:49 #8
Mener noget i den her stil:
        arrForm = Array("modstander", "maps", "map11", "map12", "map21", "map22", "resumee", "typee")
        For i = LBound(arrform) To UBound(arrform)
          arrForm(i) = Replace(Request.Form(arrForm(i)),"&lt;","&amp;lt;")
          arrForm(i) = Replace(Request.Form(arrForm(i)),"&gt;","&amp;gt;")
          arrForm(i) = Replace(Request.Form(arrForm(i)),VbCrLf,"&lt;br&gt;")
          arrForm(i) = Replace(Request.Form(arrForm(i)),"'","&amp;#39;")
        Next
Avatar billede metalspaden Nybegynder
09. oktober 2003 - 16:49 #9
Men det virker ikke just^
Avatar billede medions Nybegynder
09. oktober 2003 - 16:56 #10
Så prøv sådan her:

form1 = "modstander"
form2 = "maps"
form3 = "map11"
form4 = "map12"
form5 = "map21"
form6 = "map22"
form7 = "resume"
form8 = "type"
formNr = 1
intInputs = 8
Do While intInputs+1 > formNr
  nummer = "form" & formNr
  nummer = strNummer
  strNummer = Replace(Request.Form(Execute("form" & formNr)),"<","&lt;")
  strNummer = Replace(Request.Form(Execute("form" & formNr)),">","&gt;")
  strNummer = Replace(Request.Form(Execute("form" & formNr)),VbCrLf,"<br>")
  strNummer = Replace(Request.Form(Execute("form" & formNr)),"'","&#39;")
  formNr = formNr + 1
Loop

//>Rune
Avatar billede metalspaden Nybegynder
09. oktober 2003 - 17:03 #11
Så siger den: Type mismatch: 'form1'
Avatar billede metalspaden Nybegynder
09. oktober 2003 - 17:15 #12
Ved ikke helt hvordan jeg skal lave den. Og gider ikke til at skrive 24 (4*8) Replaces, hvis jeg kan komme uden om.
Avatar billede medions Nybegynder
09. oktober 2003 - 17:24 #13
Well, du ka jo hente alle dine forms sådan her:

For Each Item In Request.Form
  Response.Write(Request.Form(Item) & "<br>")
Next

Så kan du jo bare replace dem alle sådan!

//>Rune
Avatar billede metalspaden Nybegynder
09. oktober 2003 - 18:22 #14
Kan jeg godt bruge det, når jeg skal bruge replacene til en sql sætning?
Avatar billede medions Nybegynder
09. oktober 2003 - 22:17 #15
Ja!

For Each Item In Request.Form
  strNummer = strNummer & Request.Form(Item)
Next


//>Rune
Avatar billede medions Nybegynder
13. oktober 2003 - 17:37 #16
thx 4 Poinz

//>Rune
Avatar billede metalspaden Nybegynder
18. oktober 2003 - 00:02 #17
Så lidt.
Her er løsningen jeg brugte, hvis folk har brug for den:

strSQL = "Insert into afstem (emne,tekst1,tekst2,tekst3,1,2,3) values("
For Each item in Request.Form
  strReplace = Replace(Request.Form(item),"'","&#39;")
  strReplace = Replace(Request.Form(item),">","&gt;")
  strReplace = Replace(Request.Form(item),"<","&lt;")
  strReplace = Replace(Request.Form(item),VbCrLf,"<br>")
  strSQL = strSQL & "'" & strReplace & "',"
Next
strSQL = strSQL & ")"

Og det virker upåklageligt..
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