Novità

Purtroppo il solo... "stop" non basta...

lotto_tom75

Advanced Premium Member
Mi trovo nella necessità di prendere SOLO il primo valore di RA minore (random) risultantemi da un particolare filtraggio indipendentemente da quanti ve ne siano minori rispetto al valore limite imposto di 10 estrazioni.

Ad esempio se nelle risultanze avessi

10 valori RA <= 10
e l'ultimo di questi avesse valore ra= 3 dovrei considerare soltanto quest'ultimo escludendo tutti gli altri...

Ho provato con un IF e STOP di questo tipo... (in questo esempio faccio finto che vi possano essere tre valori ra uguali rispettivamente 3, 2 e 1 e che appunto in base alla risultanza effettiva si scelga solo quello minore tra i tre. In questo caso ra 2). Ma purtroppo non basta. Anche se cerco di mostrare in outpu solo una delle tre risultanze con lo stop dopo ogni IF lo script mi mostra in output tutte e tre le risultanze con RA <= 10 vanificandomi pertanto il filtragio sperato :( :)

Codice:
If RetRit = 1 Then

Call Scrivi((cColonna.GetStringaNum) & " - " & RetRit)

'PROVA SCRIVI FILE

Dim sfile
Dim Intestazione1
Dim reportlunghettadoc

path = ".\"


sfile = path & "file" & nClasseLunghetta & ".txt"


reportlunghettadoc = cColonna.GetStringaNum

Call ScriviFile(sfile,reportlunghettadoc,False,True) ' scrivo anche sul file preposto

Stop


'-----------------

ElseIf RetRit = 2 Then

Call Scrivi((cColonna.GetStringaNum) & " - " & RetRit)

'PROVA SCRIVI FILE

path = ".\"


sfile = path & "file" & nClasseLunghetta & ".txt"


reportlunghettadoc = cColonna.GetStringaNum

Call ScriviFile(sfile,reportlunghettadoc,False,True) ' scrivo anche sul file preposto



Stop
'-----------------

ElseIf RetRit = 3 Then

Call Scrivi((cColonna.GetStringaNum) & " - " & RetRit)

'PROVA SCRIVI FILE

path = ".\"


sfile = path & "file" & nClasseLunghetta & ".txt"


reportlunghettadoc = cColonna.GetStringaNum

Call ScriviFile(sfile,reportlunghettadoc,False,True) ' scrivo anche sul file preposto




'-----------------

'ElseIf RetRit = 3 Then

'End If


'End If
Stop

End If

Next
'Call Scrivi("Tempo di elaborazione : " & FormattaSecondi(Timer - TimeStart))


CloseFileHandle(sfile)

Convinto di stare annaspando in un bicchier d'acqua... :rolleyes: GRAZIE a chiunque decida di buttarmi una ciambella o quanto meno un "bracciolo" :p:D e good saturday a tutti/e :)
 
Ho provato anche così...


Codice:
Select Case RetRit1

Case 1
Scrivi ("mi fermo al primo ritardo minimo 1")
Stop
Case 2
Scrivi ("mi fermo al primo ritardo minimo 2")
Stop
Case 3
Scrivi ("mi fermo al primo ritardo minimo 3")
Stop
Case Else
Scrivi ("Rilevati ritardi solo maggiori di 3 e mi fermo comunque")
Stop

End Select

Ma anche così lo Stop sembra non bastare...

Cosa posso mettere al posto dello Stop per far si che alla prima occorrenza utile con la "precedenza" di ricerca impostata nella Select lo script esca da quest'ultima? :rolleyes: Grazie
 
Anche così, provando ad inserire il primo valore utile in un vettore e ad uscire subito dopo, non funzia... :(:)

Codice:
Dim contatorexuscireallaprimaoccorrenzautile

ReDim vettore(0)

For contatorexuscireallaprimaoccorrenzautile = 1 To 10

Call Messaggio("sto cercando rit = " & contatorexuscireallaprimaoccorrenzautile & " esco appena lo trovo...")

If RetRit1 = contatorexuscireallaprimaoccorrenzautile Then

'Scrivi "trovato rit ... = " & contatorexuscireallaprimaoccorrenzautile

'provo ad aggiungere il Primo risultato trovato In un vettore e ad uscire dalla stessa ricerca Subito Dopo...


vettore(0) = contatorexuscireallaprimaoccorrenzautile

Scrivi "vettore 0 = " & vettore(0) & " ubound(vettore) " & UBound(vettore)



If ScriptInterrotto Or UBound(vettore) <> Null  Then Exit For


End If



Next


      Call AvanzamentoElab(0,UBound(aRighe),contatore)

      Dim x



      If ScriptInterrotto Then Exit For




      Next

      End If

      If ScriptInterrotto Then Exit For

      Next
 
siamo-chiusi-per-ferie.jpg
 
Tom, non ho ben capito cosa devi cercare di preciso, ma se cerchi il valore Minimo o Massimo, ti basta mettere i relativi valori in una variabile dimensionata e utilizzare i relativi codici MinimoV o MassimoV e otterrai il relativo valore.

prova con una casualità di Numeri Random e vedi che sono estrapolati i relativi valori.

Codice:
Sub Main
   For x = 1 To 10
      y = NumeroCasuale(1,90)
      ReDim Preserve Num(x)
      Num(x) = y
   Next
   Scrivi StringaNumeri(Num)
   xy = MinimoV(Num,1,- 1)
   yy = MassimoV(Num)
   Scrivi "Numero Minimo.... " & xy
   Scrivi "Numero Massimo... " & yy
End Sub
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 21 febbraio 2026
    Bari
    72
    63
    35
    12
    01
    Cagliari
    02
    31
    01
    53
    10
    Firenze
    30
    35
    05
    87
    42
    Genova
    74
    32
    43
    68
    80
    Milano
    39
    06
    64
    16
    83
    Napoli
    56
    65
    71
    07
    12
    Palermo
    11
    57
    50
    28
    71
    Roma
    35
    23
    58
    89
    46
    Torino
    27
    28
    74
    16
    75
    Venezia
    68
    70
    27
    77
    83
    Nazionale
    28
    52
    18
    26
    39
    Estrazione Simbolotto
    Cagliari
    42
    15
    21
    19
    13
Indietro
Alto