[ Srdjan Prpa @ 17.02.2008. 00:25 ] @
Kako da napravim da iz listbox-a koji mi je napravljen tako da je svaka recenica jedna ispod druge da mi samo jednu nasumice rec prebaci u drugi listbox ?
[ stefanpn @ 17.02.2008. 02:24 ] @
Morao bi jos malo da pojasnis...

Citat:
highagain87: Kako da napravim da iz listbox-a koji mi je napravljen tako da je svaka recenica jedna ispod druge da mi samo jednu nasumice rec prebaci u drugi listbox ?


Nije bas najjasnije... Budi malo precizniji...

Sta znaci recenica jedna ispod druge!? Nasumicnu rec iz koje recenice?

Ako ne umes da objasnis onda bar slikaj formu i postavi sliku... Pa da pogadjamo...
[ Aleksandar Ružičić @ 17.02.2008. 07:47 ] @
probaj ovako:
Code:

Private Sub Command1_Click()
    
    Dim lIndex  As Long
    
    lIndex = Random(0, List1.ListCount - 1)
    
    List2.AddItem List1.List(lIndex)
    
    List1.RemoveItem lIndex
    
End Sub

Function Random(lMin As Long, lMax As Long) As Long
    Random = Int(Rnd * (lMax - lMin + 1)) + lMin
End Function
[ stefanpn @ 17.02.2008. 14:17 ] @
Mislim da je rekao slucajna rec iz neke recenice, pa sam malo modifikovao Ruzin(Ruza - tako bi u mom kraju zvali Ruzicica) kod.
Code:

Private Sub Command1_Click()
    
    Dim lIndex  As Long
    
    lIndex = Random(0, List1.ListCount - 1)
    
    a$ = fncRandomWord(List1.List(lIndex))
    List2.AddItem a$
    
End Sub

Function Random(lMin As Long, lMax As Long) As Long
    Random = Int(Rnd * (lMax - lMin + 1)) + lMin
End Function

Function fncRandomWord(ByVal strRecenica As String) As String
Dim t As Integer
Dim lMax As Integer
Dim strWord As String
Dim pos As Integer
Dim znak$
lMax = Len(strRecenica)
slucajnoT:
t = 1 + Rnd * (lMax - 1)
If Mid$(strRecenica, t, 1) = Chr$(32) Then GoTo slucajnoT
pos = t
strWord = Mid$(strRecenica, t, 1)
Do While Not pos = lMax
    pos = pos + 1
    znak$ = Mid$(strRecenica, pos, 1)
    If znak$ = Chr$(32) Then Exit Do
    strWord = strWord + znak$
Loop
pos = t
Do While Not pos = 1
    pos = pos - 1
    znak$ = Mid$(strRecenica, pos, 1)
    If znak$ = Chr$(32) Then Exit Do
    strWord = znak$ + strWord
Loop
fncRandomWord = strWord
End Function

Nije bas optimizovan, ali s' obzirom da je u pitanju mala kolicina podataka, radi lepo.

[ Aleksandar Ružičić @ 18.02.2008. 12:35 ] @
Citat:
stefanpn: ...(Ruza - tako bi u mom kraju zvali Ruzicica)...

lol, tako me odavno neko nije zvao, tj jos od osnovne :)
[ Srdjan Prpa @ 29.02.2008. 23:39 ] @
E to mi je bas trebalo sto je stefanpn napisao, e sad me jos nesto muci :) de sta treba da izmenim da mi redosled reci koje izvlaci nebude uvek isti?
[ Aleksandar Vasic @ 01.03.2008. 07:48 ] @
kolko ja vidim nece uvek biti isti,vidish da ima Random funkciju ;)
[ Aleksandar Ružičić @ 01.03.2008. 15:47 ] @
mozes da dodas u Form_Load sledece:
Code:

Randomize Timer
[ Srdjan Prpa @ 01.03.2008. 16:24 ] @
Tnx radi sve extra sad me muci jos nesto :D posto imam dugme jedno koje mi izvlaci iz List1 u List2, de treba da stavim msg box da ako neko klikne na to dugme a u List1 nema ni jedna rec da mu izadje poruka da mora da ucita u List1 reci ?
[ Aleksandar Ružičić @ 01.03.2008. 23:17 ] @
Code:

Private Sub Command1_Click

   If List1.ListCount = 0 Then
      MsgBox "Morate dodati reci, bla bla.."
      Exit Sub
   End If

   ' ovde kod za prebacivanje iz liste u listu...

End Sub
[ stefanpn @ 02.03.2008. 16:46 ] @
A evo i mene, posle vise godina lutanja po internetu, najzad sam se vratio kod kuce...

Mozes dodati Randomize Timer i u Random funkciju, tako ti se nece javiti isti projevi i ako pokreces program svaki put u istom intervalu(u msec).
Code:

Function Random(lMin As Long, lMax As Long) As Long
    Randomize Timer
    Random = Int(Rnd * (lMax - lMin + 1)) + lMin
End Function
[ Aleksandar Ružičić @ 02.03.2008. 17:34 ] @
da, samo sto je tako veca mogucnost da dobije brojeve koji se ponavljaju.

ne mogu sad da nadjem link ali jedan lik je radio istrazivanje bas u vb-u o Rnd i Randomize funkcijama, ali dobro se secam da se na grafiku lepo videlo da je ponavljanje brojeva ucestalije ukoliko se Randomize poziva svaki put kada je potreban nasumican broj (tj svaki put kad se poziva i Rnd) nego ako se Randomize pozove samo jednom na pocetku izvrsavanja programa.
[ stefanpn @ 02.03.2008. 18:39 ] @
Znam za to, tako je razvaljena jedna serija Poker Aparata, zato sto je software na svaki pritisak na DEAL pozivao Randomize funkciju trebalo je samo izracunati interval imedju zadnjeg pritiska na DEAL i ako se pogodi pravi trenutak ... Hm... Znas tacno koja karta dolazi sledeca. Ali to ovde ne vazi, jer tajmer broji od trenutka kada je pritisnuto Power dugme, tako da ne moze da se dogodi da dugme bude se funkcija pozove na tacno 134523453.2432345 sec. Ali opet nije pametno koristiti ovo jer je Randomize jako hardverski zahtevna funkcija.

Neka se uzme u obzir da su ti poker aparati bile 8-bitne masine na 1 MHz...