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 01 agosto 2026
    Bari
    46
    54
    36
    47
    01
    Cagliari
    77
    30
    04
    79
    18
    Firenze
    84
    76
    10
    27
    44
    Genova
    32
    13
    71
    38
    46
    Milano
    10
    23
    18
    20
    03
    Napoli
    73
    36
    10
    90
    07
    Palermo
    61
    46
    24
    57
    32
    Roma
    89
    78
    23
    07
    35
    Torino
    21
    59
    34
    73
    86
    Venezia
    74
    01
    30
    46
    54
    Nazionale
    71
    65
    17
    09
    20
    Estrazione Simbolotto
    Nazionale
    03
    09
    37
    30
    39

Ultimi Messaggi

Indietro
Alto