AbstractFilesAndDirParser.cs
Description du code
AbstractFilesAndDirParser.cs est un fichier du projet BrolDev.Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/broldev/src/.
Projet BrolDev : Librairie de composants réutilisables pour les applications BrolDev en CSharp.
Code source ou contenu du fichier
Code c# (AbstractFilesAndDirParser.cs) (76 lignes)
using System; using System.ComponentModel; using System.IO; using be.gaudry.model.enums; namespace be.gaudry.model.file { public abstract class AbstractFilesAndDirParser : AbstractFileParser { #region methods to implement /// <summary> /// Do something on each directory /// </summary> /// <param name="bgw">BackgroundWorker to perform cancel if needed, and report progress</param> /// <param name="e">DoWorkEventArgs to perform cancel if needed, and report progress</param> /// <param name="di">DirectoryInfo to check</param> /// <returns> /// true if we must stop the parsing of current directory (ie. if we have a vob file, we don't check the other files in this directory) /// false otherwise ///</returns> protected abstract bool performOnDirectory(BackgroundWorker bgw, DoWorkEventArgs e, DirectoryInfo di); #endregion #region private methods /// <summary> /// /// </summary> /// <param name="bgw">BackgroundWorker to perform cancel if needed, and report progress</param> /// <param name="e">DoWorkEventArgs to perform cancel if needed, and report progress</param> /// <param name="dirsInf">DirectoryInfo to get size</param> /// <param name="subDirDeep">Deep of the directory in comparison with start directory</param> protected internal new void parseFiles(BackgroundWorker bgw, DoWorkEventArgs e, DirectoryInfo dirsInf, int subDirDeep) { if (bgw.CancellationPending) { e.Cancel = true; } else { bgw.ReportProgress((int)BGWORKER.currentInfo, dirsInf.Name); try { FileInfo[] filesInf = dirsInf.GetFiles(); foreach (FileInfo fi in filesInf) { progressToDo -= fi.Length; // add length to avoid calculate progressMax each time if (!validPreviousProgress) { progressMax += fi.Length; } if (perform(bgw, e, fi, subDirDeep)) { break; } } } catch (Exception) { } if (includeSubFolders) { try { subDirDeep++; foreach (DirectoryInfo dir in dirsInf.GetDirectories()) { parseFiles(bgw, e, dir, subDirDeep); } } catch (Exception) { } } performOnDirectory(bgw, e, dirsInf); } } #endregion } }
Structure et Fichiers du projet
Afficher/masquer...Icône | Nom | Taille | Modification |
Pas de sous-répertoires. | |||
Icône | Nom | Taille | Modification |
| _ | Répertoire parent | 0 octets | 1734970119 23/12/2024 17:08:39 |
Utilisation de l'explorateur de code
- Navigation :
- Un clic sur une icône de répertoire ouvre ce répertoire pour en afficher les fichiers.
- Lorsque le répertoire en cours ne contient pas de sous-répertoires il est possible de remonter vers le répertoire parent.
- La structure de répertoires en treetable (tableau en forme d'arborescence) n'est plus possibledans cette version.
- Un clic sur une icône de fichier ouvre ce fichier pour en afficher le code avec la coloration syntaxique adaptée en fonction du langage principal utilisé dans le fichier.
- Affichage :
- Il est possible de trier les répertoires ou les fichiers selon certains critères (nom, taille, date).
- Actions :
- Les actions possible sur les fichiers dépendent de vos droits d'utilisateur sur le site. Veuillez activer le mode utilisateur pour activer les actions.
Version en cache
23/12/2024 17:08:39 Cette version de la page est en cache (à la date du 23/12/2024 17:08:39) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 16/10/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/cs-broldev-source-rf-model/file/AbstractFilesAndDirParser.cs.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.