Randomize... qualche problema

lunedì 10 agosto 2009 - 09.12

MarcoL Profilo | Newbie

Salve, sono un nuovo iscritto di questo forum, anche se in passato ho apprezzato parecchi suggerimenti da Voi dati.
Ho un problema, forse un bug di Microsoft che non riesco a risolvere.
Da anni utilizzo questa porzione di codice per generare una sequenza prefissata di numeri pseudo casuali sia su dispositivo Mobile che su Pc Windows. Dopo aver lanciato questa sub, tutte le chiamate alla function Rnd() ritornano una sequenza precisa di numeri che si ripete, ogni qualvolta rilancio il metodo di Initialize.

Private Sub Initialize()
Dim lngN As Long
tmp =VBMath.Randomize( Rnd(-1))
For lngN = 1 To Len("fraseGeneratore")
Randomize (Rnd(-Rnd() * Asc(Mid("fraseGeneratore", lngN, 1))))
Next lngN
End Sub

Ebbene, questa sub funziona su vb6, su VS.NEt2003 ( sia PC che Wm) su VS2005(solo PC) e VS2008 (con framework 2.0 - solo PC)
Praticamente su VS2005 e superiori, quando cerco di riprodurre la sequenza di numeri su dispositvo mobile, vi viene ritornata una sequenza completamente diversa rispetto a quella creata su PC o su WM di VS.2003
Se eseguo lo stesso eseguibile compilato per mobile su PC, la sequenza ritornata è invece quella corretta.

Qualcuno ha qualche suggerimento? Ho cercato una notte intera su google.. ma non ho trovato alcuna chiarificazione.

Saluti, Marco

aiedail92 Profilo | Expert

Ciao

È possibile che nel compact framework, da VS 2005 in poi, il seed predefinito sia diverso da quello del .net framework... In questo caso il primo Rnd(-1) restituisce due valori diversi fra PC e WM, creando delle sequenze di numeri diverse.

Prova a vedere se, modificando il primo Randomize in questo modo, le sequenze generate sono le stesse:

VBMath.Randomize(123.456)


Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5