Sgrubak ha scritto:
Posso chiederti perché la scelta di un Singleton, per altro Predeclared, e non una funzione diretta? Suppongo per la comodità della Collection interna e gestibile, ma non ne sono sicuro.
La Classe solo perchè ho estrapolato il codice del DEMO da una mia classe più complessa che gestisce tutta una serie di metodi su Date, quindi ho ripulito e riciclato... mi è risultato più comodo
Si potrebbe tranquillamente gestire tutto in un Modulo standard.
Chiaramente il vantaggio dell'oggetto è una più corretta gestione delle Property(Let/Get) e del concetto di Private/Public... ma nell'ottica di rendere tutto più snello il modulo standard può essere una buona soluzione.
La questione del PredeclaredID serve solo per il CONSTRUCTOR della classe, non altro, come vedi invece di dover Dichiarare l'oggetto AS NEW .... in questo modo implementando un constructor(CREATE) nella classe si sfrutta il CREATE ma è solo un dettaglio.
Sgrubak ha scritto:
Vistro che sfrutti l'algoritmo di Gauss, propongo piccola modifica alla funzione che calcola la pasquetta:
....
Così il funzionamento è corretto per tutti gli anni dal 1900 al 2199. Prima con il +5 fisso al posto di N valeva fino al 2099, poi dava risultati non corretti (hai visto mai... XD ).
Grazie ottimo.
Sgrubak ha scritto:
Altra domanda: nella BuildNotWorkingDayInYear ci sono due cose che mi incuriosiscono.
1) Hai volutamente omesso il 25/04 e il 08/12 o son solo sfuggiti?
Brutalmente dimenticati, come ho sbagliato la Befana, che è il 1° Giugno e non il 6 Gennaio...
Peraltro ho nominato il 2Giugno come "Liberazione" ma era appunto il 25/4... vabbè dai un po di confusione.
Li inserisco e correggo, Grazie.
Sgrubak ha scritto:
2) Perché li carichi castandoli? L'Add diretto
mNotWorkingDays.Add "25/12", "25/12"
potrebbe causare problemi?
No è un REFUSO, perchè al primo colpo salvavo nella collection la DATA completa di Anno, che ricostruivo, e che poi la castavo in String, poi mi sono accorto che di fatto l'anno non serviva se non per la Pasqua(ed il Lunedì)... era tutto un togli/metti.
Quindi ho tolto l'anno ma è rimasto il CStr che ovviamente si può togliere e che nella versione flessibile tolgo.
Ora ho già reso selezionabili le Festività, ovviamente qualche attenzione al fatto che se Escludo i SABATI e/o le DOMENICHE ovviamente devo verificare se le Festività rientrano...
Esempio se escludo le DOMENICHE devo riprendere la PASQUA, quindi ho pensato di reinserirla e fare un controllo EX-POST condizionato.
Sembra funzionare abbastanza bene... poi vedo di pubblicarlo.