Generator broja

Generator broja

offline
  • Pridružio: 18 Jul 2003
  • Poruke: 4204
  • Gde živiš: U zlatnom kavezu

Treba mi code za generator cetvorocifrenog broja. To mi treba jer koristim neke sigurnosne sifre koje stalno moram da menjam pa ne mogu stalno da smisljam novu. Dakle broj mora biti cetvorocifren s tim sto u genirisanom broju ne smeju biti dve iste cifre jedna do druge recimo broj 5517 nije validan mora biti 5157.... nadam se da sam bio jasan



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 28 Jun 2004
  • Poruke: 990
  • Gde živiš: Kucura

Hmm... Mozda da se prvo napise code za generisanje nekog slucajnog cetvorocifrenogf broja.

x = Int(((10000 - 1000 + 1) * Rnd) + 1000)

Pa posle proverimo da li u tom broju postoje dve iste cifre jedna do druge.

If Left(x, 1) = Right(Left(x, 2), 1) Then 'nesto If Right(Left(x, 2), 1) = Right(Left(x, 3), 1) Then 'nesto If Right(Left(x, 3), 1) = Right(x, 1) Then 'nesto

a ako uklopimo sve zajedno:

Dim x, a As String a = 0 Do While a = 0 a = 1 x = Int(((10000 - 1000 + 1) * Rnd) + 1000) If Left(x, 1) = Right(Left(x, 2), 1) Then a = 0 If Right(Left(x, 2), 1) = Right(Left(x, 3), 1) Then a = 0 If Right(Left(x, 3), 1) = Right(x, 1) Then a = 0 Loop

i na kraju dobijas x koji je cetvorocifreni broj u kome ne bi trebalo da se pojavi recomo 1153, 5466, 7998 itd. Koliko mogu da razmisljam u ove kasne sate, ovo treba da radi ispravno.... javi dal radi Wink



offline
  • Pridružio: 18 Jul 2003
  • Poruke: 4204
  • Gde živiš: U zlatnom kavezu

Zaboravio sam da napisem meni ovo treba da se pojavi u txtbox-u kad kliknem na cmd... mozes li ga jos malo doraditi

offline
  • Pridružio: 28 Jun 2004
  • Poruke: 990
  • Gde živiš: Kucura

Citat:i na kraju dobijas x koji je cetvorocifreni broj
Smile

Ali evo:

Private Sub Command1_Click() Dim x, a As String a = 0 Do While a = 0 a = 1 x = Int(((10000 - 1000 + 1) * Rnd) + 1000) If Left(x, 1) = Right(Left(x, 2), 1) Then a = 0 If Right(Left(x, 2), 1) = Right(Left(x, 3), 1) Then a = 0 If Right(Left(x, 3), 1) = Right(x, 1) Then a = 0 Loop Text1.Text = x End Sub

offline
  • Pridružio: 18 Jul 2003
  • Poruke: 4204
  • Gde živiš: U zlatnom kavezu

Da, skontao sam ali kasno... vec si odgovorio....

Dopuna: 03 Jun 2007 14:15

Sve radi k'o sat, hvala puno biseru

offline
  • Pridružio: 18 Jul 2005
  • Poruke: 312

ali prije Rnd pozovi Randomize()

Ko je trenutno na forumu
 

Ukupno su 874 korisnika na forumu :: 27 registrovanih, 4 sakrivenih i 843 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., bobomicek, cenejac111, Centauro, djuradj, draganca, esx66, Georgius, goxin, Istman, jukeboxer, ladro, Litostroton, marsovac 2, mile33, mrav pesadinac, novator, oldtimer, operniki, Panter, panzerwaffe, RecA, Romibrat, vargas, Wrangler, zdrebac, zlatkoa987