Newsgroup: it.comp.os.dos
Titolo: Millennium Bug: una vittima...

   ...e la vittima sono io, naturalmente... ;)))
   Ciao a tutti! Passato bene l'Y2K?
   Ve la faccio breve.
   Ero in ferie fino al 10/01/2000, ma al 03/01/2000 che ti succede? La
cornetta del telefono si alza imperiosa ed inizia a bastonarmi la testa,
tipo Paperino quando lo chiama suo zio.
   - Pronto?
   - Un casino! Ho acceso i computer, ed uno mi da` il 1989, l'altro il
1994! Come faccio?
   Ho spiegato come fare un "date" ed un "time", e tutto e` andato a
posto... fino al 07/01/2000...
   - Pronto!
   - Mi visualizza la data 07.01.20! Cosa succede?
   Toh, questa e` nuova...
   Bene, sappiate, o voi scarsissimi paradoxiani, che Paradox, per
l'appunto (versione 3.5, non mi ricordo l'anno, ma molti, molti anni fa)
era gia` pronto per il 2000. Unica pecca, la visualizzazione. Fino al 99,
visualizza la data nel formato GG.MM.AA, dal 2000 in poi nel formato
GG.MM.AAAA. Ma se nella visualizzazione gli avete dato 8 caratteri, invece
che dieci, lui visualizza le prime due cifre dell'anno, quando e` >= al
2000... Vi lascio immaginare quel che ho penato per cambiare tutte le
maschere di Paradox che contenevano date... e chi se lo ricordava piu`,
come fare? Poi, sono tornato a riposare il riposo del giusto...
   ...fine al 10/01/2000
   - Pronto!
   - Le tessere non funzionano piu`!
   E questa e` proprio la prova provata che certe cose ti sfuggono, e ti
dai propriamente del coglione! (scusate)
   Programma di lettura badge (tessere magnetiche). Scritto in 'C' col
turbo borland. L'eseguibile data 18/12/95. Avete presente? Mai piu` preso
in mano, da allora! Ho perso due giorni buoni per riuscire a recuperare i
sorgenti, salvati in un dischetto sperduto nella polvere... Dov'e` la
cazzata? Semplice! La solita fissa di visualizzare l'anno nel formato
GG/MM/AA! E come l'ho fatto? Una cosa da manuale:
aa = anno - 1900;
printf( "%02d", anno );
   Solo che 2000 - 1900 fa 100, non 0! E quello str(beep!)zo di printf mi
stampa 100! E io che stampavo in un buffer di memoria (con la sprintf) mi
sono trovato con la stringa della data-ora sballata: "10/01/100-10:20:30".
M'e` andata bene che avevo usato un buffer di 20 caratteri, altrimenti il
programma sarebbe andato addirittura in tilt, ma andavo a controllare l'ora
a partire dal carattere [9], e mi sono trovato con una sequenza "-10:20:3"
invece di "10:20:30"... Morale: le tessere non aprivano piu` le porte:
"Fuori tempo massimo"... per forza: ora "-1", minuti ":2", secondi ":3"!
   Vabbe`... ci sto ancora lavorando... sig! :~(((
   Passato bene l'Y2K? :)))
-- 
Un Saluto. A Presto.
Fakkino DisKre Panza

   Ciao a tutti! Passato bene l'Y2K? [...]
Nessun problema particolare... :-)))
Ciao!
Greg
-- 
g.biagini(at)
dada.it
  <-o->  g.biagini(at)
yahoo.com
http://www.geocities.com/Athens/Aegean/3276/
[NB: l'indirizzo del campo from e` modificato]

   Ciao a tutti! Passato bene l'Y2K?
Il capodanno si, ho avuto un mesetto di passione a cambiare i registratori
di cassa (si, i registratori di cassa del 1986, dei veri e propri trattori,
anche come rumore...) che non gradivano l'anno a due cifre (metti 00
FIIIIIIII... va bene, va bene, ti metto in pensione, contento?).
Il software che interagiva con la cassa ha avuto bisogno di un
turbopascalista per farlo andare con la nuova cassa... i soliti bug, la cui
correzione ha richiesto circa una decina di release, inviate tutte via
internet (grande risparmio di tempo!).
Fabrizio