If Not (rs.BOF or rs.EOF) Then Randomize P1 = int(rs.RecordCount * rnd) rs.Move(P1) GrabInfo ' Next rs.MoveFirst Do P2 = int(rs.RecordCount * rnd) loop until (P1 <> P2) rs.Move(P2) GrabInfo ' Next rs.MoveFirst Do P3 = int(rs.RecordCount * rnd) loop until (P3 <> P2) and (P3 <> P1) rs.Move(P3) GrabInfo ' Next rs.MoveFirst Do P4 = int(RS.RecordCount * rnd) Loop Until (P4 <> P3) AND (P4 <> P2) AND (P4 <> P1) rs.Move(P4) GrabInfo
End If ------slut-------------
Pga. den måde jeg vil udskrive indholdet af posterne, vil jeg gerne tildele hvert element i arry'et et variabelnavn.
Er der nogen begavede hoveder, der ved hvordan laver jeg den funktion/løkke?
...Altså splitter hvert element ved ";" i arrayet og derefter tildeler hvet element et variabelnavn?
Hvorfor er det du ikke bare kan nøjes med at bruge:
ditArray = split(dinstreng, ";")
og så henvise til ditArray(0) (eller 1, 2, 3 - alt efter hvilke af de fire elementer du vil ha' fat i?
Anyways, så prøv følgende (hvis det altid kun vil dreje sig om 4 elementer i arrayet):
dim var1, var2, var3, var4 '<-- skal erklæres globalt!
sub setVars(data) myArray = Split(data, ";") var1 = myArray(0) var2 = myArray(1) var3 = myArray(2) var4 = myArray(3) end sub
Der er selvfølgelig ingen check for, om dit array indeholder de 4 påkrævede elementer, eller om der evt. er flere. Men det kan du jo altid bygge ind, hvis det er...
If Not (rs.BOF or rs.EOF) Then Randomize P1 = int(rs.RecordCount * rnd) rs.Move(P1) GrabInfo ' Next rs.MoveFirst Do P2 = int(rs.RecordCount * rnd) loop until (P1 <> P2) rs.Move(P2) GrabInfo ' Next rs.MoveFirst Do P3 = int(rs.RecordCount * rnd) loop until (P3 <> P2) and (P3 <> P1) rs.Move(P3) GrabInfo ' Next rs.MoveFirst Do P4 = int(RS.RecordCount * rnd) Loop Until (P4 <> P3) AND (P4 <> P2) AND (P4 <> P1) rs.Move(P4) GrabInfo
End If
dim var1, var2, var3, var4 '<-- skal erklæres globalt!
1. Linien: dim var1, var2, var3, var4 skal flyttes op i starten af scriptet.
2. Din RandLoc variabel ser kun ud til at indeholde 1 ID - er det korrekt? Den skal se nogenlunde sådan ud, hvis du skriver den ud, hvis det skal virke: id1;id2;id3;id4;
Jeg har lige prøvet at lave et simpelt eksempel, som virker fint hos mig:
<% Dim var1, var2, var3, var4
Sub setVars(data) myArray = Split(data, ";") var1 = myArray(0) var2 = myArray(1) var3 = myArray(2) var4 = myArray(3) End Sub
Hmm... Du havde ret i den sidste med RandLoc = RandLoc & rs("id") &";" , men setVars kan jeg stadig ikke få til at fungere.
Udskriver jeg RandLoc som i nedenstående eks. udskrives der korrekt fx.: 15;3;6;14;. Men ændrer jeg den til eksempelvis Response.Write var1 vises der derimod ikke noget?
----------Start----------
Dim RandLoc
Dim var1, var2, var3, var4 '<-- skal erklæres globalt!
If Not (rs.BOF or rs.EOF) Then Randomize P1 = int(rs.RecordCount * rnd) rs.Move(P1) GrabInfo ' Next rs.MoveFirst Do P2 = int(rs.RecordCount * rnd) loop until (P1 <> P2) rs.Move(P2) GrabInfo ' Next rs.MoveFirst Do P3 = int(rs.RecordCount * rnd) loop until (P3 <> P2) and (P3 <> P1) rs.Move(P3) GrabInfo ' Next rs.MoveFirst Do P4 = int(RS.RecordCount * rnd) Loop Until (P4 <> P3) AND (P4 <> P2) AND (P4 <> P1) rs.Move(P4) GrabInfo
Og god morgen til mig, har sovet herligt og tungt inde i hjernen hele dagen.
1000 Tak
Kh,
jerving
Synes godt om
Ny brugerNybegynder
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.