rc-halv Skrevet 12. mars 2008 Skrevet 12. mars 2008 (endret) Hvordan kan man finne en rekke av tilfeldige tall for hver gang i en FOR-NEXT-løkke? For eksempel, 5 tall mellom 0 og 50, eller andre tall basert på variabler. Kankje alt kan legges i en matrise? Det jeg har nå viser samme tall hver gang man kjører igjennom: DIM q% FOR q = 0 TO antall DIM RandomClass AS NEW random() DIM tilfeldig AS INTEGER tilfeldig = RandomClass.NEXT(0, lengde ) RESPONSE.WRITE (tilfeldig & "<br>") NEXT Endret 12. mars 2008 av steinslett
Degeim Skrevet 12. mars 2008 Skrevet 12. mars 2008 Prøv å flytte deklarasjonen (dim x as new Random()) til før FOR-løkken starter.
rc-halv Skrevet 12. mars 2008 Forfatter Skrevet 12. mars 2008 Vel, jeg fant ut av det, Brukte RANDOMIZE og RND, men nå er problemet å få den inn i en matrise. DIM q% FOR q = 0 TO antall DIM tilfeldig AS INT16 RANDOMIZE() tilfeldig = INT(RND() * lengde) DIM array(q) AS INTEGER array(q) = tilfeldig NEXT
Degeim Skrevet 12. mars 2008 Skrevet 12. mars 2008 Hvis du deklarerer array() inne i FOR-løkken, så blir den slettet hver gang løkken starter på nytt. Deklarer den før du starter løkken, så går det kanskje bedre. Dette minner meg forøvrig ikke om VB.Net; skriver du om koden før du poster her, eller driver du med noe annet?
rc-halv Skrevet 12. mars 2008 Forfatter Skrevet 12. mars 2008 (endret) Jeg prøver å sette sette array(0), så array(1) og så videre, vil ikke q inneholde tall fra 0 og oppover for hver gang løkken kjøres? Jeg skriver i VB.NET i ASP.NET. Jeg er ikke så flink. Endret 12. mars 2008 av steinslett
rc-halv Skrevet 12. mars 2008 Forfatter Skrevet 12. mars 2008 (endret) Fikset det! <% DIM q% DIM array(antall) FOR q = 0 TO antall DIM tilfeldig AS INT16 RANDOMIZE() array(q) = INT(RND() * lengde) NEXT %> Skriv ut matrisen, for å teste at den er rett <% DIM r% FOR r = 0 TO antall RESPONSE.WRITE (array(r)) NEXT %> Endret 12. mars 2008 av steinslett
GeirGrusom Skrevet 12. mars 2008 Skrevet 12. mars 2008 Hvorfor skriver du Owld-skool ASP i ASP.NET? <% Dim array(antall) As Integer Dim rand As New Random() For q As Integer = 0 To antall array(q) = rand.Next(lengde) Next %> Skriv ut matrisen, for å teste at den er rett <% For r As Integer = 0 To antall Response.Write(array(r).ToString()) Next %> Jeg trodde ikke integer postfiks % var lov i VB.NET engang....
rc-halv Skrevet 13. mars 2008 Forfatter Skrevet 13. mars 2008 Hvis det virker, bryr jeg meg ikke, så lenge det virker. Nå er problemet å få puttet en liten del inn i en ny matrise, Hvordan putter jeg de første delene av matrisen inn i en annen en (en matrise som er så stor som en gitt variabel) Prøvde med en FOR-NEXT-løkke og ARRAY.COPY, men virket ikke.
Manfred Skrevet 13. mars 2008 Skrevet 13. mars 2008 DU TRENGER IKKE SKRIVE ALT AV KODE I STORE BOKSTAVER!! Poenget er vel at "old school asp/vbscript" syntax ikke blir støttet særlig mye lenger, så... Uansett er det ikke særlig motivere å prøve å hjelpe en som ikke gidder å høre på det du sier heller. Skal du fortsette den holdningen "jeg hører hva du sier men jeg driter i det" når noen prøver å hjelpe deg, så kommer du nok ikke til å få særlig mye hjelp fremover.
GeirGrusom Skrevet 13. mars 2008 Skrevet 13. mars 2008 Hvis det virker, bryr jeg meg ikke, så lenge det virker. Nå er problemet å få puttet en liten del inn i en ny matrise, Hvordan putter jeg de første delene av matrisen inn i en annen en (en matrise som er så stor som en gitt variabel) Prøvde med en FOR-NEXT-løkke og ARRAY.COPY, men virket ikke. Du må bruke Array.Copy, men jeg gidder ikke forklare deg hvordan Sjekk MSDN istedet. Den holdningen din fører til 2 ting: 1. Ingen gidder å hjelpe deg 2. Du kommer til å få problemer med programmer som ikke oppfører seg som de skal, men du aner ikke hvorfor.
rc-halv Skrevet 14. mars 2008 Forfatter Skrevet 14. mars 2008 Om dere sier det kanskje ikke vil virke i neste versjon i ASP.NET, så er det vel kasnkje lurt å endre det da. Skal se om det virker, Jeg har funnet mange tips på internett, kanskje var de skrevet en del i det gamle ASP. Grunnen til at jeg skriver MED STORE BOKSTAVER at jeg lettere skal kunne skille det fra HTML-koden. Jeg har forresten klart det. Brukte ARRAY.COPY uten å ha en FOR-NEXT-løkke, den trengs ikke når jeg kan flytte alt på én gang.
Manfred Skrevet 14. mars 2008 Skrevet 14. mars 2008 (endret) Du bør vel også her følge standarden, i alle fall for hvordan keyword skrives. Hvis du ser på eksempelet til GeirGrusom ser du hvordan det skal skrives. En annen ting er at måten det skal skilles fra html-koden på er at du skal ha en "CodeBehind", så når du har Default.aspx så skal du også ha en Default.aspx.vb. Og så skal det ikke ligge noe vb-kode i .aspx-filen. All koden din skal ligge i .aspx.vb-filen. edit: Faktisk kan du få problemer med sidene dine hvis du bruker <% og %> for å putte inn koder dersom du skal bruke enkelte tillegg, som f.eks AJAX og slikt. System.Web.Extensions (som er MS' "offisielle" AJAX-komponent) vil i mange tilfeller ikke fungere hvis det er kode i .aspx-fila. Endret 14. mars 2008 av Manfred
GeirGrusom Skrevet 14. mars 2008 Skrevet 14. mars 2008 Hehe det er mye å lære seg Men du vil etterhvert merke at disse tingene vil gi deg utrolig mye frihet til å lage hva du vil. Det spiller forsåvidt ingen rolle om man skriver med store bokstaver eller ei; vb er ikke case sensetive, slik com C# er. Lykke til videre.
Manfred Skrevet 15. mars 2008 Skrevet 15. mars 2008 EN TING ER AT DET IKKE ER CASE SENSITIVT, EN ANNEN TING ER AT DET ER LITT SLITSOMT Å LESE OG JOBBE MED I LENGDEN!!
GeirGrusom Skrevet 16. mars 2008 Skrevet 16. mars 2008 Enig, også får det meg til å tenke på QuickBasic Den satte alltid nøkkelord i store bokstaver.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå