// Bouton d'annulation // Révision: 22/04/2020 // Attention: l'annulation n'est pas réactive // à cause des taches qui prennent du temps machine. // Cela permet d'obtenir l'activation du bouton "Recherche Doublons" // et de libérer la form Form_RepSrc // private void Btn_Annulation_Click(object sender, EventArgs e) { if (FormDossierSrc != null) { Tbx_MessageEtat.Text = "Annulation utilisateur."; Tbx_MessageEtat.Refresh(); FormDossierSrc.Dispose(); // libération mémoire Btn_RechercheDoublons.Enabled = true; // réactive bouton } }
// gestion de la suppression des doublons // sur les deux formes (Form_RepSrc et Form_RepDst) // Révision: 22032020 // private void Btn_SupprDoublons_Click(object sender, EventArgs e) { if (Tbx_RepDel.Text != "" && Tbx_RepDel.Text != "") { if (FormDossierSrc != null) { Tbx_MessageEtat.Text = "Suppression des fichiers en cours..."; Tbx_MessageEtat.Refresh(); FormDossierSrc.TraitementSupprFichiers(Tbx_RepDel.Text); FormDossierSrc.Dispose(); // libération mémoire Btn_RechercheDoublons.Enabled = true; Tbx_MessageEtat.Text = "Opération terminée !!"; Tbx_MessageEtat.Refresh(); } } else { Tbx_MessageEtat.Text = "Veuillez référencer les champs ci-dessus !!"; } }
// Gestion du bouton de recherche de doublons // rappel: le SHA1 sera validé par défaut // Révision: 22042020 // private void Btn_RechercheDoublons_Click(object sender, EventArgs e) { Hashing.FctHash Hash = null; // par défaut pas de fonction déléguée string StrHash = string.Empty; // par défaut vide, désignation de la colonne type de hash long[] Inter; if (ChkBox_MD5.Checked == true) // on fixe la fonction déléguée { Hash = new Hashing.FctHash(Hashing.Md5.MD5HashFile); // pointe sur la fonction de hash MD5 StrHash = "MD5"; } if (ChkBox_SHA1.Checked == true) { Hash = new Hashing.FctHash(Hashing.Sha1.SHA1HashFile); // pointe sur la fonction de hash SHA1 StrHash = "SHA1"; } if (ChkBox_256.Checked == true) { Hash = new Hashing.FctHash(Hashing.Sha256.SHA256HashFile); // pointe sur la fonction de hash SHA256 StrHash = "SHA256"; } if (ChkBox_384.Checked == true) { Hash = new Hashing.FctHash(Hashing.Sha384.SHA384HashFile); // pointe sur la fonction de hash SHA384 StrHash = "SHA384"; } if (ChkBox_512.Checked == true) { Hash = new Hashing.FctHash(Hashing.Sha512.SHA512HashFile); // pointe sur la fonction de hash SHA512 StrHash = "SHA512"; } if ((Tbx_RepSrc.Text == Tbx_RepDel.Text) && Tbx_RepSrc.Text != "") { Tbx_MessageEtat.Text = "Le répertoire à analyser ne peut être identique au dossier de corbeille"; Tbx_MessageEtat.Refresh(); Btn_RechercheDoublons.Enabled = true; return; } Inter = ParseTailleMinMax(); // calcul valeur interval d'étude if (Tbx_RepSrc.Text != "" && Tbx_RepDel.Text != "") { Tbx_MessageEtat.Text = "Calcul des empreintes en cours, veuillez patienter..."; Tbx_MessageEtat.Refresh(); Btn_RechercheDoublons.Enabled = false; FormDossierSrc = new Form_RepSrc(Tbx_RepSrc.Text, Hash, StrHash, Inter); if (FormDossierSrc.Err != true) { FormDossierSrc.Show(); if (ChkBox_RapportDonnees.Checked == true) { FormDossierSrc.ExportRapportDonnees(); // la fonction est public définit dans FormRepSrc } Tbx_MessageEtat.Text = "Veuillez vérifier les fichiers ..."; Tbx_MessageEtat.Refresh(); } else { Tbx_MessageEtat.Text = "Erreur détecter !, Veuillez vérifier les dossiers..."; Tbx_MessageEtat.Refresh(); } } else { Tbx_MessageEtat.Text = "Veuillez référencer les champs ci-dessus !!"; Tbx_MessageEtat.Refresh(); Btn_RechercheDoublons.Enabled = true; } // si présence d'item (fichier) dans FormDossierSrc if (FormDossierSrc != null) { FormDossierSrc.ChercheDoublons(ChkBox_CocheDoublons.Checked); } }