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
    martedì 14 gennaio 2025
    Bari
    41
    25
    12
    73
    55
    Cagliari
    54
    20
    48
    32
    67
    Firenze
    75
    23
    68
    10
    38
    Genova
    33
    27
    81
    70
    64
    Milano
    68
    01
    64
    86
    87
    Napoli
    47
    75
    45
    10
    21
    Palermo
    55
    86
    33
    53
    70
    Roma
    88
    78
    61
    06
    07
    Torino
    76
    08
    23
    61
    82
    Venezia
    25
    15
    49
    21
    81
    Nazionale
    70
    10
    32
    78
    07
    Estrazione Simbolotto
    Bari
    07
    14
    28
    45
    31
Indietro
Alto