Indice FAQ Novità Download Risorse Autore Mappa E-Mail
Pagina dell'anno 2000
Patch Anno 2000 per il Borland C++ 5.02


Patch Anno 2000

FileDimensioneDataDescrizione
bc5y2k.zip244 KB03/03/1999 Patch per Borland C++ 5.02 per risolvere problemi sulle date nel prossimo secolo.

 

Aggiornamento DATE.CPP della Class Library

Descrizione
Nelle applicazioni OWL o della class library scritte per il Borland C++ 5.02, gli oggetti TDate che sono stati inizializzati con gli anni a due cifre presupponevano il ventesimo secolo, ed hanno interpretato il risultato come uno scarto dal 1900. Il risultato è che le date a due cifre fornite al costruttore di TDate saranno messe sempre nel ventesimo secolo.

Questo aggiornamento della class library è fornito come mezzo per specificare i secoli di base per le date inserite a due cifre, così come per assicurare transizioni temporali corrette nel prossimo secolo.

TDate::BaseYear() viene fornito per impostare l'anno di base, che è il 1900 per default.
TDate::MaxShortYear viene fornito per specificare un punto di separazione dopo il quale un valore di data a due cifre non viene interpretato come uno scarto della data di base selezionata, e viene impostato a 99 per default.

Esempio
Il seguente esempio mostra un uso di una data di base di 2000, con un punto di separazione di assunzione dello scarto del secolo applicato:


  #include <iostream.h>
  #include <strstrea.h>
  #include <classlib\date.h>

  void main()
  {
    YearTy &HoldBaseYear = TDate::BaseYear();
    YearTy &HoldMaxShortYear = TDate::MaxShortYear();
    HoldBaseYear = 2000;                          // usa un nuovo anno di base di 2000
    HoldMaxShortYear = 30;                        // lascia inalterati gli identificatori 
                                                  // dell'anno per valori maggiori di 30

    TDate      Feb_2_99(2,2,99),
               Mar_1_02(1,3,02);
    char       buf[128];                          // buffer per conservare la stringa della data
    strstream  ss(buf, 128, ios::in | ios::out);  // stream per le stringhe

    ss.seekp(0);
    ss << Feb_2_99 << ends;
    cout << " Feb 2 date:" << Feb_2_99 << endl;   // lascia l'anno inalterato
    cout << " Mar 1 date:" << Mar_1_02 << endl;   // < 30; assume il 2000
  }


Output:
Feb 2 date:February 2, 99
  Mar 1 date:March 1, 2002

Come sostituire il vecchio codice
Innanzitutto copiare i nuovi sorgenti nelle locazioni appropriate:
   DATE.H e TIME.H in INCLUDE\CLASSLIB
   DATE.CPP, DATEIO.CPP e TIME.CPP in SOURCE\CLASSLIB

Avete bisogno di aggiornare le librerie di classi. Eseguite il file BUILD.BAT nella cartella \BC5\SOURCE\CLASSLIB per aggiornare il prodotto. Fate riferimento ai commenti situati all'inizio del file MAKEFILE per le linee di comando appropriate.

 

Lista dei file della Patch

TDUMP.EXE     483.131  27/01/1999   4.00     (Versione 5.0.16.6)
DATE.CPP        9.957  27/01/1999   4.00     (Revisione 1.5)
DATEIO.CPP      4.719  27/01/1999   4.00     (Revisione 1.4)
TIME.CPP        7.695  27/01/1999   4.00     (Revisione 1.4)
TIME.H          5.874  03/03/1999  16.57     (Revisione 1.4)
DATE.H          8.969  03/03/1999  16.57     (Revisione 1.8)

 

Torna ad inizio pagina

Indice FAQ Novità Download Risorse Autore Mappa E-Mail
Ultimo aggiornamento : 10/03/2010.  Copyright © 1997-2070, Joseph Parrello.

 

Torna ad inizio pagina

Ultimo aggiornamento : 10/03/2010.

Copyright 1997-2070, Joseph Parrello. Tutti i diritti sono riservati.

Siete il visitatore n. Contatore Sito
Bpath Contatore
dal 17 gennaio 2009.