Novità

x LuigiB ... strano comportamento di una semplice funzione

gennaro

Senior Member
Salve Sig Luigi, volevo sottoporle qst semplice script ed analizzare il mio output ... (SM v1.3.40)

Codice:
Sub Main()


    For estr = EstrazioneFin To EstrazioneFin - 30 Step - 1


        Call CheGiornoE(estr,NomeGiorno)
        Scrivi estr & " " & NomeGiorno & " " & DataEstrazione(estr)


    Next 'estr


End Sub






Function CheGiornoE(idEstr,GetCheGiornoE_Nome) 'by LuigiB, adapted by Gennaro
    Dim sData
    sData = Replace(DataEstrazione(idEstr),".","/")
    Select Case WeekDay(sData)
    Case 3
    GetCheGiornoE_Nome = "Mar"
    Case 5
    GetCheGiornoE_Nome = "Gio"
    Case 7
    GetCheGiornoE_Nome = "Sab"
    End Select
End Function

mi fornisce...

Codice:
[FONT=Courier New][SIZE=2][COLOR=#000000]8499 Mar 21.02.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8498 Sab 18.02.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8497 Gio 16.02.2012
[/COLOR][/SIZE][/FONT][U][B][FONT=Courier New][SIZE=2][COLOR=#000000]8496 Mar 14.02.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8495 Mar 11.02.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8494 Mar 09.02.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8493 Mar 07.02.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8492 Mar 04.02.2012
[/COLOR][/SIZE][/FONT][/B][/U][FONT=Courier New][SIZE=2][COLOR=#000000]8491 Gio 02.02.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8490 Mar 31.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8489 Sab 28.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8488 Gio 26.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8487 Mar 24.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8486 Sab 21.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8485 Gio 19.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8484 Mar 17.01.2012
[/COLOR][/SIZE][/FONT][U][B][FONT=Courier New][SIZE=2][COLOR=#000000]8483 Sab 14.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8482 Sab 12.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8481 Sab 10.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8480 Sab 07.01.2012
[/COLOR][/SIZE][/FONT][/B][/U][FONT=Courier New][SIZE=2][COLOR=#000000]8479 Mar 05.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8478 Gio 03.01.2012
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8477 Sab 31.12.2011
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8476 Gio 29.12.2011
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8475 Mar 27.12.2011
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8474 Sab 24.12.2011
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8473 Gio 22.12.2011
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8472 Mar 20.12.2011
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8471 Sab 17.12.2011
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8470 Gio 15.12.2011
[/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#000000]8469 Mar 13.12.2011
[/COLOR][/SIZE][/FONT]

...cosa accade ? eheheheh sbaglio qlkosa?
 
L

LuigiB

Guest
ciao qualche errore ineffetti c'è ma solo sul concetto di funzione , mi spiego le funzioni devono tornare un risultato senno tanto vale fare una sub.
Tu il risultato lo fai tornare dentro un parametro che passi alla funzione stessa.
Tuttavia questo errore non dovrebbe pregiudicare il risultato , ad ogni modo l'istruzione WeekDay è del vbscript non di spaziometria.
Qui in ufficio non ho il programma controllero meglio da casa.
 

gennaro

Senior Member
ok, appena puo'...

... quello e' il mio solito errore di concetto a cui provvedero' :)

Usando il weekday da solo, sembra funzionare

Codice:
Sub Main()
	For n = 1 To 10
		Scrivi WeekdayName(WeekDay(n))
		Scrivi
	Next 'estr
End Sub
 

gennaro

Senior Member
Ok, ora contempliamo tutti i modi..

Codice:
  Sub Main()
 For n = 0 To 10
  Scrivi Now + n
  Scrivi WeekDay(Now + n)
  Scrivi WeekdayName(WeekDay(Now + n))
  Scrivi("---")
 Next 'n
End Sub

PS: Filosofeggio solo per fissare in testa le basi di VB (per le procedure e le funzioni ... devo scrivere una PAGINETTA in stampatello ed una in corsivo ;)
 
Ultima modifica:
L

LuigiB

Guest
ehi Gennaro non fare esperimenti , semmai prima documentati sull'help del vbscript ...
now + n non significa nulla .... per sommare valori a date ci sono funzioni apposta !
 

gennaro

Senior Member
Ho isolato un caso emblematico per lo studio di tutti...

Codice:
 Sub Main()
 Scrivi("Il 04/02/2012, usando le funzioni del VB, era " & WeekDayName(WeekDay(CDate(04/02/2012))))
 Scrivi
 Scrivi("Adesso calcoliamolo dal n° estrazione che era 8491")
 estr = 8491
 appo = DataEstrazione(estr)
 Scrivi estr & " " & appo & " ed era " & WeekDayName(WeekDay(Replace(appo,".","/")))
End Sub
 

gennaro

Senior Member
Luigi, forse ho scoperto ... la nostra data è GG/MM/AAAA invece VB ragiona in MM/GG/AAAA ...
Sto diventando più pignolo di Joe hihihihii
 

gennaro

Senior Member
Sperando di non essere tedioso, ma costruttivo... ecco la controprova :)

Codice:
 Sub Main()
 Scrivi("Il 04/02/2012, usando le funzioni del VB, era " & WeekDayName(WeekDay("02/04/2012")))
 Scrivi
 Scrivi("Adesso calcoliamolo dal n° estrazione 8491")
 estr = 8491
 appo = DataEstrazione(estr)
 Scrivi estr & " " & appo & " ed era " & WeekDayName(WeekDay(Replace(appo,".","/")))
 Scrivi
 Scrivi("Facciamo controprova mettendo la data nella forma MM/GG/AAAA")
 datamia = Mese(estr) & "/" & giorno(estr) & "/" & Anno(estr)
 Scrivi datamia
 Scrivi WeekDayName(WeekDay(CDate(datamia)))
End Sub
 
L

LuigiB

Guest
ciao Gennaro , dipende dalle impostazioni di sistema come ragiona vb.
Su un pc configurato seguendo le regole di data usate in italia
questo script lanciato oggi restituisce 22/02/2012 18.19.50
Ti consiglio di modificare le impostazioni perche potrebbero esserci problemi trasversali.


Option Explicit
Sub Main
Scrivi Now
End Sub
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 04 maggio 2024
    Bari
    02
    31
    81
    52
    21
    Cagliari
    39
    88
    84
    01
    67
    Firenze
    36
    30
    70
    06
    41
    Genova
    59
    23
    61
    22
    27
    Milano
    05
    17
    69
    57
    39
    Napoli
    81
    62
    82
    43
    50
    Palermo
    73
    55
    62
    45
    18
    Roma
    76
    70
    01
    64
    15
    Torino
    82
    55
    35
    70
    46
    Venezia
    58
    23
    61
    29
    21
    Nazionale
    10
    14
    01
    43
    09
    Estrazione Simbolotto
    Milano
    30
    01
    05
    32
    11

Ultimi Messaggi

Alto