Avatar billede ins4ne Nybegynder
27. januar 2006 - 11:18 Der er 16 kommentarer og
1 løsning

Udregning fra Form, Hvordan?

Hej,
Jeg har et problem.
Jeg har ét felt (request.form("calc")) som jeg gerne vil have man skal skrive et  regnestykke i fx 12+2 og så submitter man og asp regner ud hvad der står i request.form("calc").
Men hvordan får jeg asp til at tolke det som et regnestykke?
Jeg har prøvet med CInt(request.form("calc")).

Jeg går ud fra der er en anden funktion til dette?

På forhånd tak.
Avatar billede lordnelson Seniormester
27. januar 2006 - 11:28 #1
Du kan feks. splitte den på tegnet  + eller / osv

LN
Avatar billede ins4ne Nybegynder
27. januar 2006 - 11:31 #2
Ja det havde jeg tænkt på, men er der ikke en funktion der kan gøre det?
Avatar billede lordnelson Seniormester
27. januar 2006 - 11:37 #3
Ved det ikke måske ..........

LN
Avatar billede wilweb Nybegynder
27. januar 2006 - 11:46 #4
du kan gøre sådan
<%
tal="15+4"
'arrTal = Split(request.form("calc"), "+")
arrTal = Split(tal, "+")
' udskriv alle
for i = 0 To ubound(arrTal)
'response.Write arrTal(i)
sum = sum + cint(arrTal(i))
Next

' udskriv tal
Response.write sum
'Response.write arrTal(ubound(arrTal))
%>
Avatar billede wilweb Nybegynder
27. januar 2006 - 11:48 #5
Tal er en string og det vil en request.form("calc") også være det skulle derfor virke med din request.form("calc").
Avatar billede lordnelson Seniormester
27. januar 2006 - 11:51 #6
Eller bedre endnu check om det er et plus tegn eller hvad der er i
så kan du lave det samme med - / *
<%
tal = request("tal")
if tal <> "" then
SearchChar = "+"
vaerdi = Instr(1, tal, SearchChar, 1)
if vaerdi <> 0 then
tal2 = split (tal,"+")
For i = 0 To UBound(tal2)
sum = sum + cint(tal2(i))
next
response.write sum
end if
end if
%>
LN
Avatar billede ins4ne Nybegynder
27. januar 2006 - 12:01 #7
Ja det må jeg prøve, hvis der ikke er et nemmere alternativ.
Lordnelson smider du ikke også et svar så deler i pointene?
Avatar billede wilweb Nybegynder
27. januar 2006 - 12:05 #8
5 linjer det kan du da ikke få nemmere?

arrTal = Split(request.form("calc"), "+")
for i = 0 To ubound(arrTal)
sum = sum + cint(arrTal(i))
Next
Response.write sum
Avatar billede ins4ne Nybegynder
27. januar 2006 - 12:18 #9
Det kunne jo være der var en funktion fx som CInt(), som ville omdanne det til en talvariabel (dog som kunne læse +,-,/,*)
Avatar billede ins4ne Nybegynder
27. januar 2006 - 12:19 #10
Men weilweb, hvordan kan man udbygge dit eksempel til også at tage -,/,*?
Avatar billede ttopholm Nybegynder
27. januar 2006 - 12:21 #11
husk også at tage højde for prioritet af tegnene.. når du vil regne...
Avatar billede lordnelson Seniormester
27. januar 2006 - 12:26 #12
Behold du bare dine point

Men skulle jeg lave noget lignende turde jeg da ikke bruge

arrTal = Split(request.form("calc"), "+")
for i = 0 To ubound(arrTal)
sum = sum + cint(arrTal(i))
Next
Response.write sum

For hvad sker der his brugeren taster et andet tegn en + ??????
prøv at se hvad der sker
LN
Avatar billede wilweb Nybegynder
27. januar 2006 - 12:53 #13
lordnelson:> jeg har svaret på det der blev spurgt om :<
ins4ne:> kan du ikke bruge replace til at fjerne uønskede tegn fra din request.form("calc")  før du regner på det?
Avatar billede ins4ne Nybegynder
27. januar 2006 - 13:39 #14
Ingen anelse jeg prøver mig frem.
Tak for hjælp.
Eftersom lordnelson ikke vil have nogle point får du allesammen :O
Avatar billede wilweb Nybegynder
27. januar 2006 - 14:18 #15
ins4ne:> jeg skal lave en til dig efter weekenden, kan ikke før da jeg skal ud og rejse nu.
Avatar billede ins4ne Nybegynder
27. januar 2006 - 14:56 #16
Mange tak, det ville være lækkert.
Avatar billede wilweb Nybegynder
01. februar 2006 - 23:14 #17
noget a la dette her:
Fjerner det et tegn og erstatter med tom, jeg har ikke testet det!
MyString = request.form("calc")
MyString = Replace(MyString, "-", chr(0))
MyString = Replace(MyString, ",", chr(0))
MyString = Replace(MyString, "/", chr(0))
MyString = Replace(MyString, "*", chr(0))
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