Exemple #1
0
 /// <summary>
 /// Chargement d'une archive
 /// </summary>
 /// <param name="stream">Streamer de chaîne ouvert sur le fichier d'archivage</param>
 protected void DoLoad(StringStreamer stream) {
   sections = new SortedList() ;
   section  = null ;
   string line = stream.ReadLine() ;
   while (line != null) {
     if (IsSectionName( line )) 
       section = DoCreateSection( sections, line ) ;
     else
       DoAddLineToSection( section, line ) ;
     line = stream.ReadLine() ;
   }
 }
Exemple #2
0
 /// <summary>
 /// Enregistre une archive dans un fichier d'archivage
 /// </summary>
 /// <param name="fileName">Nom complet du fichier d'archivage</param>
 /// <param name="stamp">Timbre de référence à apposer</param>
 public void ArchiveStore ( string fileName, string stamp ) {
   StringStreamer streamer = new StringStreamer( fileName, stamp ) ;
   streamer.Open( false ) ;
   try { DoStore( streamer ) ; }
   finally { streamer.Close() ; }
 }
Exemple #3
0
 /// <summary>
 /// Charge une archive à partir d'un fichier d'archivage
 /// </summary>
 /// <param name="fileName">Nom complet du fichier d'archivage</param>
 /// <param name="stamp">Timbre de référence à contrôler</param>
 public void ArchiveLoad ( string fileName, string stamp ) {
   StringStreamer streamer = new StringStreamer( fileName, stamp ) ;
   streamer.Open( true ) ;
   try { DoLoad( streamer ) ; }
   finally { streamer.Close() ; }
 }
Exemple #4
0
 /// <summary>
 /// Contrôle le timbrage d'un fichier d'archivage
 /// </summary>
 /// <param name="fileName">Nom complet du fichier d'archivage</param>
 /// <param name="stamp">Timbre de référence</param>
 public void ArchiveCheck( string fileName, string stamp ) {
   try {
     StringStreamer streamer = new StringStreamer( fileName, stamp ) ;
     try { streamer.Open( true ) ; }
     finally { streamer.Close() ; }
   } 
   catch (Exception x) { throw new EArchiver( "Echec du contrôle du timbrage", x ) ; }
 }
Exemple #5
0
 /// <summary>
 /// Enregistrement d'une archive
 /// </summary>
 /// <param name="stream">Streamer de chaînes ouvert sur le fichier d'archivage</param>
 protected void DoStore( StringStreamer stream ) {
   foreach (DictionaryEntry entry in sections)
     DoStoreSection( stream, (string) entry.Key, (SortedList) entry.Value ) ;
 }
Exemple #6
0
 /// <summary>
 /// Enregistrement d'une section
 /// </summary>
 /// <param name="stream">Streamer de chaînes ouvert sur le fichier d'archivage</param>
 /// <param name="sectionName">Nom de la section à enregistrer</param>
 /// <param name="values">Dictionnaire clé/valeurs associé à la section</param>
 protected void DoStoreSection( StringStreamer stream, string sectionName, SortedList values ) {
   if (values.Count == 0) return ;
   stream.WriteLine( "" ) ;
   stream.WriteLine( "[" + sectionName + "]" ) ;
   foreach (DictionaryEntry entry in values) {
     if (entry.Value == null)
       stream.WriteLine( (string) entry.Key ) ;
     else
       stream.WriteLine( entry.Key + "=" + entry.Value ) ;
   }
 }