1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| #region Ajout d'un fichier/répertoire à installer
private void btnCopyFileSelected_Click(object sender, EventArgs e)
{
if (cbSectionFichiersSource.Items.Count > 0) // Test si il y a au moins une section
{
// Pour chaque item séléctionné
for (int i = 0; i < fbFichiers.FileView.SelectedOrder.Count; i++)
{
string CheminNomFichier;
Boolean isDirectory = false;
CheminNomFichier = fbFichiers.SelectedItem.Path; // on sauvegarde le chemin de l'item selectionné
// Si le chemin est le "Desktop" alors on le remplace par son véritable chemin
if (fbFichiers.SelectedItem.Path == "Desktop")
CheminNomFichier = Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory).ToString();
// Si le repertoire séléctionné est Mes Documents, alors on le remplace par son Chemin
if (fbFichiers.SelectedItem.Path == fbFichiers.ShellBrowser.MyDocumentsName)
CheminNomFichier = fbFichiers.ShellBrowser.MyDocumentsPath;
if (CheminNomFichier[CheminNomFichier.Length - 1] != '\\') // Si il n'y a pas de '\' à la fin du chemin
CheminNomFichier += "\\"; // On ajoute le '\' à la fin de la chaine
CheminNomFichier += ((ListViewItem)(fbFichiers.FileView.SelectedOrder[i])).Name; // A la fin du chemin, on ajoute l'élément séléctionné
if (((ListViewItem)(fbFichiers.FileView.SelectedOrder[i])).Name == fbFichiers.ShellBrowser.MyDocumentsName)
CheminNomFichier = fbFichiers.ShellBrowser.MyDocumentsPath;
string expression = @"([A-Z]:\\)";
string expression2 = @"([A-Z]:)";
// Création d'un objet Regex.
Regex r = new Regex(expression);
Regex r2 = new Regex(expression2);
// Recherche si une partie de la chaine correspond à l'expression régulière.
Match m = r.Match(CheminNomFichier);
Match m2 = r2.Match(CheminNomFichier);
// Test si un lecteur a été selectionné (ex: C:\) puis le renomme de façon standardisée (ex: "d:\" au lieu de "Poste de travail\DATA(D:)")
if (m2.Success && !m.Success)
CheminNomFichier = m2 + "\\";
// Détermine si l'élément sélectionné est un fichier ou un dossier
try
{
if (!System.IO.File.Exists(CheminNomFichier))
isDirectory = ((new System.IO.FileInfo(CheminNomFichier).Attributes & System.IO.FileAttributes.Directory) == System.IO.FileAttributes.Directory);
}
catch (Exception) { isDirectory = false; }
if (r.Match(CheminNomFichier).Success) //Si le chemin du fichier est correct, on l'ajoute dans l'ArrayList
{
objInst.AjoutObjetInstall(CheminNomFichier, isDirectory, cbSectionFichiersSource.SelectedItem.ToString());
AfficheTvFileSelected();
}
}
}
else
lblDescription.Text = "Veuillez entrer au minimum une section.";
}
#endregion |
Partager