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 18 maggio 2024
    Bari
    77
    62
    67
    60
    04
    Cagliari
    89
    01
    35
    54
    38
    Firenze
    84
    58
    25
    64
    57
    Genova
    53
    25
    66
    59
    23
    Milano
    22
    75
    48
    16
    77
    Napoli
    81
    41
    42
    67
    39
    Palermo
    19
    63
    57
    43
    05
    Roma
    04
    35
    50
    33
    23
    Torino
    56
    20
    46
    14
    88
    Venezia
    78
    81
    42
    74
    36
    Nazionale
    42
    83
    59
    86
    34
    Estrazione Simbolotto
    Milano
    41
    29
    01
    27
    30

Ultimi Messaggi

Alto