Oppure

Loading
08/03/09 16:53
miitiicoo
Ciao a tutti, complimenti per la vostra attività.. spero possiate darmi dei consigli in merito a questa mia idea..
Sto realizzando un programma per l'estrazione di premi.
Ho già creato un "client" (installato su un portatile touch screen) che mostra una keyboard cosicchè i partecipanti inseriscono il proprio nome. Questo codice non fa altro che scrivere su un file.txt i vari nomi, riga per riga (e ringrazio questo forum per i topic sulle operazioni su stringhe!!)

Veniamo a quello che io chiamo volgarmente lato "server", su un altro portatile (in rete con quello in giro tra la gente..)

Devo realizzare:
1) apertura del file.txt OGNI X SECONDI (mi serve un refresh continuo...)
2) estrazione RANDOM di un nome ogni 10 minuti
3) un modo per "flaggare" il nome estratto, cosicchè non beve gratis tutta sera!

Al momento il file.txt si presenta così:
"Ciccio Formaggio",#2009-03-08 10:31:23#
"Pippo Baudo",#2009-03-08 10:31:55#
etc etc etc..

Per il punto numero 1 ho ovviamente pensato al TIMER, ma non ho ben capito come dire al codice "ogni X secondi chiama la sub CONTROLLA_FILE"

Per il punto numero 2 .. BOH!

Per il punto numero 3.. beh, ho pensato di inserire in coda alla stringa della riga un numero che man mano viene incrementato se viene estratto.

Che ne pensate? Strada sbagliata? Lo so, è un po' grezzo .. ma non mettevo mano al codice Vb da una decina d'anni!
grazie a tutti per l'interesse..aspetto vostri consigli!
Ultima modifica effettuata da miitiicoo 08/03/09 16:54
aaa
08/03/09 17:12
P4p3r0g4
1) si usa il timer.
devi agire su interval e incrementare una variabile es ogni secondo in quanto c'e un limite massimo di circe due minuti nel interval del timer.

2)metti i dati in un array e poi assegna vincitore l'elemento
int(( rnd * ubound(array)) +1)

ricorda di chiamare il randomize una tantum.

3)elimina l'elemento dall'array.
aaa
08/03/09 17:26
miitiicoo
ciao,grazie per la tua risposta velocissima... ma.... spetta nattimo, sei fin troppo veloce..:asd:

1) ho creato l'oggetto timer1.. una sua proprietà è interval .. che valore imposto?
andando nel codice.. devo creare credo una procedura

Private Sub Timer1_Timer()
'esegui sub ogni 30 secondi <-- come si fa????
End Sub
sto cannando ?
help! :-|

2) .... vabbe'... questo dopo! :D
3) non posso eliminarlo, il capo villaggio vuole la lista dei partecipanti a fine serata

Ultima modifica effettuata da miitiicoo 08/03/09 17:28
aaa
08/03/09 18:08
andrea.b89
allora per quanto riguarda il timer, non vorrei sbagliarmi ma dovrebbe avere na proprieta' Interval dove settare i millisecondi di attesa fra una chiamata del metodo e l'altra. (per 30 secondi devi mettere 30000 )

Poi per quanto riguarda il 3° punto si può risolvere in vari modi :

1) ti crei 2 vettori, con al loro interno, entrambi, i nomi dei partecipanti. Tieni il primo che conterrà l'intera lista mentre nel secondo, quello dove farai le estrazioni cancelli quelli che hanno già "vinto".

2)Il secondo metodo è : ti crei sempre 2 vettori tuttavia uno contiene la lista dei partecipanti, mentre il secondo sarà un vettore di boolean (true o false). Quando verrà estratto un partecipante avrai il suo indice k dell'array. A questo punto verifchi se nel secondo vettore lo stato dell'elemento in posizione k è false. Se false dici al concorrente che ha "vinto" e poi lo sogni true. Altrimenti se era true puoi fare 2 cose : o ripeti l'estrazione oppure potresti incrementare o decrementare di 1 l'indice k e prendere il successivo.

spero di esserti stato di aiuto :k:
Ultima modifica effettuata da andrea.b89 08/03/09 18:10
aaa