Newsgroup: it.comp.lang.vo-clipper
Titolo: S87 .and. Y2K

Ciao a tutti. Ho scritto nel 1987/8 (ci misi parecchio) un programma per la
gestione di uno studio pediatrico che e' tutt'ora in funzione e molto
apprezzato dal cliente. Il programma e' stato scritto in Clipper 87 usando
varie librerie tipo "Grump", "Super" "Extend" "Overlay3" (per swappare su
disco la memoria) alcune librerie in C per la gestione delle finestre con le
ombreggiature , le librerie grafiche DGE ed il tutto compilato in overlay
(largo uso di funzioni ) con il mitico B-Linker cosi' da ottenere due
eseguibili (main + gestione grafici ed utilita') non piu' grandi di 400K. Il
programma funziona ancora molto bene, anzi meglio di allora perche' ora gira
su di un Pentium mentre e' stato sviluppato ed ottimizzato per la velocita'
di un M24 !!!
Nella gestione anagrafiche cosi' come nei grafici di peso ed altezza si fa
largo uso di campi "date" e funzioni relative per calcolare, per esempio, il
numero di giorni trascorsi tra due date e cosi' via. Il cliente mi ha fatto
notare che il programma non gestisce correttamente l' anno 2000 ...!!
Infatti se un bambino e' nato nel 1998 ed immetto una scheda visita in data
10 Febbraio 2000 viene fuori che il bambino ha 98 anni (!?). Premetto che l'
ultima modifica fatta al programma risale al 1993 e che non sono nemmeno
sicuro di avere i sorgenti allineati (certe volte ho fatto delle modifiche
direttamente sulla macchina del cliente e magari non ho copiato i relativi
prg). L' idea di ricompilare il tutto, quindi, non e' che mi alletti piu' di
tanto e sarebbe veramente assurdo farlo senza risultato... morale: ho
risposto al cliente che Clipper non gestisce il 2000. Ma e' vero ?
Oppure e' possibile fare delle modifiche in modo che si possa gestire il
cambio di secolo? Mi ricordo che ci sono dei settaggi che riguardano la
data, tipo il SET CENTURY ed altri. Ma se io cambio tali parametri, devo
anche cambiare i tracciati record e allocare piu' spazio per le date oppure
il compilatore ci pensa da solo senza altri artifici ?
Credo che si capisca anche che non sono piu' tanto pratico di
Clipper....anzi non mi ricordo quasi nulla !!!! In fondo sono sei anni che
non ci metto le mani. Qualcuno puo' darmi qualche delucidazione ? Meglio
ancora se e' gia' successo e come lo si e' risolto. Accetto volentieri
consigli.
Ciao Simone

 wrote:
Se il S87 ha il comando Set CENTURY ON, al massimo ti trovi quanlche
maschera leggermente disalineata, ma i file dati sono a posto perche'
nei DbF la data viene comunque scritta a 4 cifre.

 wrote:
Ciao Simone, 
Il problema non è visualizzare l'anno a quattro o a due cifre e che
potrebbe portarti a disallineamenti nelle stampe e nelle
visualizzazioni dei campi data nel tuo programma quanto il settaggio
del set epoch che permette di poter individuare il secolo di
appartenenza di una data, anche se visualizzata a due cifre. Il Summer
87, che anch'io non utilizzo più da diversi anni,  ha qualche problema
rispetto al Clipper 5.2 ma la cosa è comunque risolvibile. 
Ti consiglierei una visita sul sito Oasis dove il problema dell'anno
2000 è trattato in maniera molto accurata anche per il Clipper Summer
87, il link lo puoi trovare sul mio sito scusa ma è un pò complicato
da ricordare, e penso che anche senza dover modificare i campi data,
cioè continuando ad utilizzare l'anno a due cifre, puoi, ricompilando
il programma, con una o poche semplici righe di istruzioni in aggiunta
risolvere tranquillamente il tuo problema e quello del tuo Cliente.
Penso che la ricompilazione del programma anche se hai abbandonato il
Clipper da diversi anni, ahi ahi!!!, non dovrebbe risultare
un'operazione particolarmente complessa.
Spero di esserti stato utile. Fammi sapere come è andata! :-))

Ciao 
Annibale
fredaannibale[NOSPAM]@
iol.it
 //togliere [NOSPAM] per comunicare via mail
*
afr...@yahoo.com
 
http://users.iol.it/fredaannibale
http://utenti.tripod.it/fredaannibale