Hei. Skrevet 9. desember 2003 Del Skrevet 9. desember 2003 noe som tilsvarer AND og OR som brukes i PHP i vb? Lenke til kommentar
Jonas Skrevet 9. desember 2003 Del Skrevet 9. desember 2003 Hvis det gjør det, kan da et random bilde komme opp hvis man bruker loadpicture OR loadpicture osv? Lenke til kommentar
aadnk Skrevet 9. desember 2003 Del Skrevet 9. desember 2003 (endret) Nå er jeg ikke sikker på hva AND og OR brukes i PHP, men i VB er dette binariske opratører. Det vil si at de fungerer på lik linje med +,-,: og - bare at de regner med binariske tall (de fire regneartene er egentlig en utbygning av binariske opratører). Se på disse tabellene: 1 AND 1 = 1 0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 OR 1 = 1 1 OR 0 = 1 0 OR 1 = 1 0 OR 0 = 0 Da er det likevel mulig å f.eks. skrive dette i VB: If A = True And B = True Then ... Men det er ikke mulig å skrive LoadPicture(...) OR LoadPicture(...). For å få til en kode som velger fram en tilfeldig bilde må du gjøre noe sånt: Dim Tell% Randomize Timer ' Ungår at tilfeldighetsgeneratoren genererer de samme tallene Tell = Rnd If Tell = 0 Then Me.Picture = LoadPicture("C:\Img1.jpg") If Tell = 1 Then Me.Picture = LoadPicture("C:\Img2jpg") Fatte? Endret 9. desember 2003 av aadnk Lenke til kommentar
Jonas Skrevet 10. desember 2003 Del Skrevet 10. desember 2003 (endret) ja! Så den random, kan man sette uendelig mange bilder under eller bare 0-9 eller noe sånt? kan man sette andre koder der som for eksempel text1.text = "bla bla" o.l.? Edit: hvordan lage en serial-greie som gir et tilfeldig x anntal siffer tall? Endret 10. desember 2003 av jonas22282460 Lenke til kommentar
aadnk Skrevet 11. desember 2003 Del Skrevet 11. desember 2003 Jo, man kan sette uendelig mangen bilder under (hvis man har så mangen da). Dim Tell% Randomize Timer ' Ungår at tilfeldighetsgeneratoren genererer de samme talleneTell = Rnd * 3 If Tell = 0 Then Me.Picture = LoadPicture("C:\Img1.jpg")If Tell = 1 Then Me.Picture = LoadPicture("C:\Img2.jpg")If Tell = 2 Then Me.Picture = LoadPicture("C:\Img3.jpg")If Tell = 3 Then Me.Picture = LoadPicture("C:\Img4.jpg")[code] Ser du? Når man ganger RND med 3 vil maxium tallet være 3. Ganger man med 1000 vil dette være maxium tallet. Dette er fordi RND returnerer et tilfeldig tall mellom 0-1. Man kan sette andre koder og. Så kan du sikkert lett lage serial koden selv. Lenke til kommentar
Jonas Skrevet 12. desember 2003 Del Skrevet 12. desember 2003 (endret) Går det ann å sette til et minimums tall? Men hvordan skal jeg fortelle tekst boksen hva den skal stå inni? text1.text= "& rnd &" ? Edit: jeg klarte det!!! wee!! Men hvorfor kan jeg ikke ha * 9999? kan jeg sette sån minimum 111 og maks 999? Edit2: Jeg trodde jeg måtte plusse sammen flere "tellere" for så å legge dem i en tekst boks, men det funka heller ikke: Private Sub Command1_Click() Dim tell% Randomize Timer tell = Rnd * 999 Dim tell2% Randomize Timer tell2 = Rnd * 999 Dim Sum% Sum% = tell% & tell2% Text1.Text = Sum% End Sub Får bare overflow der også.. hvordan kan jeg lage en som "tåler" fra 5-20? siffer? Edit: ser ut som jeg kan kan plusse sammen to og to siffer.. hvorfor det? Endret 12. desember 2003 av jonas22282460 Lenke til kommentar
aadnk Skrevet 13. desember 2003 Del Skrevet 13. desember 2003 Se her: Private Sub Command1_Click() Dim tell As Long' Gir ikke overflow Randomize Timer Tell = 111 + (Rnd * 888) Text1.Text = Tell End Sub Koden vil gi et tilfeldig tall mellom 111-999 og vise den i tekstboksen Lenke til kommentar
novcius Skrevet 25. desember 2003 Del Skrevet 25. desember 2003 Du trenger ikke gi Timer som parameter til Randomize. Tenk også på at Rnd returnerer en single(flyttall,desimaltall) mellom 0 og 1. Det er ikke gitt ut fra kodeeksempelet, særlig idet du ikke bryr deg om å konvertere den. Det er nok også riktig å si at man ikke bør bruke f.eks % for å indikere en variabels datatype i VB (type-declaration characters), da dette er med i språket kun for å oppnå bakoverkompatibilitet med Basic. Lenke til kommentar
aadnk Skrevet 26. desember 2003 Del Skrevet 26. desember 2003 (endret) Nei jeg vet at du ikke trenger å gi Timer som paramentre i Randomize, men det er bare for å oppnå litt mer tilfeldighet (regner med at det er en pseudo-tilfeldighetsgenerator). Og ja, jeg vet at RND returnerer ett tall mellom 0 og 1, men jeg regnet med at eksemplet mitt viste det. Jeg kunne sikkert ha lagt til en funksjon som f.eks: Tell = CLng(111 + (Rnd * 888)) eller Tell = Val(111 + (Rnd * 888)) men det er nettopp derfor jeg definerte en variabel i DIM-en (noe man egentlig alltid skal). LONG og INTEGER (%) datatypene kan kunn vise heltall og Visual Basic konverterer automatisk. Akkurat det med å bruke prefixen % i DIM syntaxen er en vane fra fortiden - jeg har skrevet litt i QBASIC. Jeg synes likevel det ikke gjør så mye, siden de fleste finner ut hva det er når de ser litt nærmere på det. Endret 26. desember 2003 av aadnk Lenke til kommentar
novcius Skrevet 26. desember 2003 Del Skrevet 26. desember 2003 (endret) Jeg skjønte hvorfor du ga Timer som parameter, men det er ikke nødvendig. (Randomize er ikke PRNG-en, dens eneste oppgave er å gi PRNG-en en seed). Randomize Timer gir altså PRNG-en Timer som seed, mens Randomize uten parametre gjør akkurat det samme!! I koden ovenfor er det faktisk enklere å bare sløyfe Randomize helt. Hvis du vil ha "mer tilfeldighet" kan du bare kalle Rnd(Timer) i stedet. Jeg ser du har programmert i Basic utfra hjemmesida di. Hvertfall det "skylder" programmet er smekkfullt av Goto og andre morsomheter Endret 26. desember 2003 av novcius Lenke til kommentar
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å