Avatar billede kkd Nybegynder
21. november 2003 - 12:43 Der er 8 kommentarer og
1 løsning

Hente data fra array, som skal deles!

Hej...

Jeg har et problem, som er lidt svært at forklare, men jeg prøver alligevel:

Jeg laver og skriver et array på følgende måde:
Dim pakker, arrpakker

pakker = request.form("pakker")

arrpakker = Split(pakker,", ")

Response.Write "<p>Listen med pakker indeholder:</p>"

For t = LBound(arrpakker) to UBound(arrpakker)
    Response.Write arrpakker(t) & "<br>"
Next%>

hver t-variabel består nu af 2 tal, adskilt af et komma (f.eks. 4,0), hvor det første tal angiver et ID i en access-database og det andet tal angiver det antal som brugeren ønsker af pakken med ID-nummeret.

Det jeg skal er at gøre således at den kan hente de pakker med ID angivet som det første tal, det antal gange, som det andet tal angiver. Og det skal den gøre for hver t-variabel...
Avatar billede thesurfer Nybegynder
21. november 2003 - 13:32 #1
Giv et eksempel på indholdet af "pakker".. f.eks.:
1) "2,3, 7,2, 24,2" ?

Og du vil splittet der der står
2)
"2,3"
"7,2"
"4,24"

3)
Den skal så hente:
id'en "2", 3 gange?
id'en "7", 2 gange?
id'en "4", 24 gange?

svar venligst på alle 3 punkter..
Avatar billede kkd Nybegynder
21. november 2003 - 13:47 #2
1) Nemlig... jeg har x antal select-bokse med navnet pakker, hvorfor den værdi jeg får er præcis som du tror: f.eks. 6,0, 7,11, 8,4, o.s.v.
2) I array splitter jeg dem så ved ", " så jeg får (hvis der er 3 talpar)
t(0) = 6,0
t(1) = 7,11
t(2) = 8,4

3)
Mit største problem er at få isoleret de enkelte tal som nye variabler, så jeg kan bruge dem hver for sig, videre i forløbet.
Jeg skal kunne lave en "ordre-seddel" hvor man kan se at den pakke, som repræsenteres af et ID er blevet valgt x antal gange. Dvs at id og antal stadig skal kunne kobles sammen men også kunne bruges hver for sig...

Makes sense?

Kan det overhovedet lade sig gøre?
Avatar billede thesurfer Nybegynder
21. november 2003 - 14:02 #3
hvad med f.eks.:
t(0) = 232,5653 dvs id'en "232" hentes 5623 gange :)

id = CInt(Left(t(0), InStr(t(0), ",") -1))
x = (Right(t(0), InStr(t(0), ",") -1))  x = "gange"

forklaring:

CInt: laver en streng om til type Integer, dvs type tal.
inStr (in String): finder positionen af tegnet/tegnene der står mellem ""
left: henter alle tegn i strengen, hen til det angivet antal tegn, fra venstre side
right: henter alle tegn i strengen, hen til det angivet antal tegn, fra højre side

streng = "232,5633"
antal_tegn = positionen af "," i streng.. man skal huske at trække 1 fra, da "," ikke skal med.
left(streng, antal tegn) henter "232"
right(streng, antal_tegn) henter "5633"

Jeg kan ikke lige huske om det første tegn altid er 0.
dvs:
2 = 0, 3 = 1, 2 = 2, "," = 5, 6 = 6, 5 = 7, 3 = 8

Anyways.. du kan læse mere om "left", "right", og "instr" her:

CInt: http://www.w3schools.com/vbscript/func_cint.asp
Left: http://www.w3schools.com/vbscript/func_left.asp
Right: http://www.w3schools.com/vbscript/func_right.asp
InStr: http://www.w3schools.com/vbscript/func_instr.asp
Avatar billede thesurfer Nybegynder
21. november 2003 - 14:02 #4
rettelse:
id = CInt(Left(t(0), InStr(t(0), ",") -1))
x = CInt(Right(t(0), InStr(t(0), ",") -1))  x = "gange"
Avatar billede kkd Nybegynder
21. november 2003 - 14:17 #5
Jeg får en Type mismatch: 't' fejl.
Avatar billede thesurfer Nybegynder
21. november 2003 - 14:20 #6
det kan være at der skal stå:
CStr(t(0), ......)
CStr laver et "udtryk" om til typen streng og det er det som Left, Right, InStr forventer.. min fejl..
Avatar billede thesurfer Nybegynder
21. november 2003 - 14:21 #7
Alternativet kunne være:
minvar = t(0)
left(minvar,...)
right(minvar...)
osv..
Avatar billede kkd Nybegynder
21. november 2003 - 14:36 #8
puha...

Jeg er SLET ikke haj nok til .asp for at få det her til at virke.... Du må undskylde at jeg har brugt din tid, men jeg har meget jeg skal have lært først, kan jeg se.
Jeg lukker ned!
Avatar billede thesurfer Nybegynder
21. november 2003 - 16:03 #9
OK..
..noget jeg ikke forstår.. du vil hente et id et x antal gange.. jeg kan ikke se formålet med det..
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