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
    giovedì 09 ottobre 2025
    Bari
    09
    10
    42
    73
    59
    Cagliari
    14
    65
    66
    79
    83
    Firenze
    71
    15
    32
    04
    61
    Genova
    08
    02
    18
    87
    84
    Milano
    33
    08
    84
    80
    41
    Napoli
    29
    81
    50
    17
    83
    Palermo
    14
    28
    74
    19
    60
    Roma
    76
    32
    55
    67
    90
    Torino
    07
    02
    66
    15
    70
    Venezia
    34
    73
    70
    40
    09
    Nazionale
    87
    79
    36
    46
    02
    Estrazione Simbolotto
    25
    07
    23
    17
    30
Indietro
Alto