CreateStructureControl.cs
Description du code
CreateStructureControl.cs est un fichier du projet BiblioBrol.Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/src/.
Projet BiblioBrol :
Gestion de media en CSharp.
Pour plus d'infos, vous pouvez consulter la brève analyse.
Code source ou contenu du fichier
Code c# (CreateStructureControl.cs) (188 lignes)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using System.IO; using be.gaudry.observer; using System.Net; using be.gaudry.model; using be.gaudry.bibliobrol.config; using be.gaudry.bibliobrol.model.dao.config; namespace be.gaudry.bibliobrol.view.controls { public partial class CreateStructureControl : UserControl { private String createStr, cancelStr, dbUrl, localFile; private int presteps; private WebClient webClient; public CreateStructureControl() { createStr = "Créer la structure"; cancelStr = "Annuler"; dbUrl = "http://www.gaudry.be/bibliobrol/data.bdb"; presteps = 0; InitializeComponent(); } private void createStructure() { try { StaticObservable.hideErrors(); infoProgressLbl.Text = "Création des répertoires"; str.AppendFormat("Création du répertoire {0}", Config.DataDirectory); DirectoryInfo di = Directory.CreateDirectory(Config.DataDirectory); str.Append(" : OK"); str.Append("\nCréation du sous-répertoire export"); di.CreateSubdirectory("export"); progressBar.Value = ++presteps; str.Append(" : OK"); str.Append("\nCréation du sous-répertoire images"); di = di.CreateSubdirectory("images"); progressBar.Value = ++presteps; str.Append(" : OK"); str.Append("\nCréation du sous-répertoire application"); di.CreateSubdirectory("application"); progressBar.Value = ++presteps; str.Append(" : OK"); str.Append("\nCréation du sous-répertoire ouvrages"); di.CreateSubdirectory("ouvrages"); progressBar.Value = ++presteps; str.Append(" : OK"); str.Append("\nCréation du sous-répertoire personnes"); di.CreateSubdirectory("personnes"); progressBar.Value = ++presteps; str.Append(" : OK"); infoProgressLbl.Text = "Création du fichier de configuration"; str.Append("\nCréation du fichier de configuration"); Config.save(); progressBar.Value = ++presteps; str.Append(" : OK"); str.Append("\nTéléchargement du fichier de base de données"); StaticObservable.showNewErrors(); if (WebHelper.testUrl(dbUrl)) { str.Append(" : OK"); } else { str.Append(" : ERREUR"); cancelDownload(); Notification.VERBOSE.criticalError, new Exception( "Impossible de télécharger la base de données.\n\nSoit la connexion internet n'est pas active, soit le fichier n'est momentanément pas disponible sur l'infobrol.\n\nDétails de l'installation :\n" + str.ToString() ), this )); } } catch (Exception e) { Notification.VERBOSE.error, "Erreur lors de la création de la structure", str.ToString(), e, this)); } } private void createStructureBtn_Click(object sender, EventArgs e) { if (createStructureBtn.Text.Equals(createStr)) { if (Directory.Exists(Config.DataDirectory)) { DialogResult dr = MessageBox.Show( "Le répertoire semble déjà présent, il sera supprimé si la nouvelle structure est créée.\nEcraser l'ancien répertoire ?", "Création de la structure de travail de Bibliobrol", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); if (DialogResult.OK != dr) { return; } Directory.Delete(Config.DataDirectory, true); } createStructureBtn.Text = cancelStr; progressBar.Visible = true; infoProgressLbl.Visible = true; createStructure(); } else { cancelDownload(); } } private void cancelDownload() { createStructureBtn.Text = createStr; progressBar.Visible = false; infoProgressLbl.Visible = false; if (webClient != null) { webClient.CancelAsync(); } } private void increaseProgressBar(object sender, DownloadProgressChangedEventArgs e) { progressBar.Value = presteps + e.ProgressPercentage; infoProgressLbl.Text = " Téléchargement (" + e.ProgressPercentage + "%)"; } private void progressBarCompleted(object sender, AsyncCompletedEventArgs e) { progressBar.Value = 0; createStructureBtn.Text = createStr; progressBar.Visible = false; infoProgressLbl.Visible = false; if (e.Cancelled) { webClient = null; Directory.Delete(Config.DataDirectory, true); //File.Delete(localFile); } else { DialogResult dr = MessageBox.Show( "La création de la structure ne sera prise en compte qu'après un redémarrage de l'application BiblioBrol.\nRedémarrer maintenant ?", "Création de la structure de travail de Bibliobrol", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); if (DialogResult.Yes == dr) { Application.Restart(); } } } } }
Structure et Fichiers du projet
Afficher/masquer...Icône | Nom | Taille | Modification |
Icône | Nom | Taille | Modification |
| _ | Répertoire parent | 0 octets | 1734937392 23/12/2024 08:03:12 |
| _ | dao | 0 octets | 1541007199 31/10/2018 18:33:19 |
| _ | toolBars | 0 octets | 1541007200 31/10/2018 18:33:20 |
| _ | webInfo | 0 octets | 1541007201 31/10/2018 18:33:21 |
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 08:03:12 Cette version de la page est en cache (à la date du 23/12/2024 08:03:12) 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-bibliobrol-source-rf-view/controls//CreateStructureControl.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.