Créer un logiciel pour partitionner & départitionner vos dossiers, logiciels, images ...

Paradise'

Premium
Inscription
30 Juin 2013
Messages
4 259
Réactions
4 384
Points
20 805
RGCoins
0
You must be registered for see images attach


Créer un logiciel pour partitionner & départitionner vos dossiers, logiciels, images ...

Donc avant de commencé il vous faudra cette extension d'application que j'ai faite afin de vous faire gagner du temps, elle évite d'ajouter des classes.

You must be registered for see images attach

Ensuite on passe au design de l'application.
You must be registered for see images attach


Bien sur comme d'habitude il s'agit d'un exemple que je vous propose.
Voila la liste des items à mettre avec le nom que ils ont dans mon logiciel donc afin que vous modifier les codes.

La textbox de source : txtSource
Le bouton de source : btnBrowseSrc
La textbox de destination : txtDestination
Le bouton de destination : btnBrowseDest
NuméricUpDown de File Size ( Ko ) : numUpDownFileSize
Le radio bouton de Partitionner : radioBtnpartitionner
Le radio bouton de Départitionner : radioBtndépartitionner
Le bouton sans texte : btn
Le bouton Quitter : btnExit
Un openFileDialog : openFileDialog1
Un folderBrowserDialog : folderBrowserDialog1
Ainsi que un statusStrip : Avec un label Ready : toolStripStatusLblStatus
You must be registered for see images attach

Ensuite on va passer à la partie intéressante, le codage.
On va le faire dans l'ordre, donc on commence par : déclarer l'utilisation de l'extension.
using Splitter;

Ensuite on va mettre les deux petits bout de code pour changer le texte du LabelStatus.
private void fSplitter_CopyDone(long ms, ActionType aType)
{
string txt = string.Format("Finished! (Action: {0} - duration: {1:N3} sec)", aType, ms / 1000d);
this.statusStrip.Invoke(new EventHandler(delegate(object o, EventArgs e) { this.toolStripStatusLblStatus.Text = txt; }));
}

private void fSplitter_PartialCopyDone(long ms, long fileSize, long copiedSize, int partNb, ActionType aType)
{
string txt = string.Format("Action: {0} - Part {1}, Total duration: {2:N3} sec", aType, partNb, ms / 1000d);
this.statusStrip.Invoke(new EventHandler(delegate(object o, EventArgs e) { this.toolStripStatusLblStatus.Text = txt; }));
}
You must be registered for see images attach

Donc ensuite on va faire le bouton de Source :
if (this.radioBtnpartitionner.Checked)
{
if (this.openFileDialog1.ShowDialog() == DialogResult.OK) this.txtSource.Text = this.openFileDialog1.FileName;
}
else
{
if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK) this.txtSource.Text = this.folderBrowserDialog1.SelectedPath;
}

Puis celui de Destination :
if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
this.txtDestination.Text = this.folderBrowserDialog1.SelectedPath;
}

Ensuite on passe au code des deux radios bouton.
On commence par le " Partitionner " :
if (this.radioBtnpartitionner.Checked)
{
this.btn.Text = "Partitionner";
this.txtDestination.Enabled = true;
this.numUpDownFileSize.Enabled = true;
}

Puis le " Départitionner "
if (this.radioBtndépartitionner.Checked)
{
this.btn.Text = "Départitionner";
this.txtSource.Text = string.Empty;
this.txtDestination.Enabled = false;
this.numUpDownFileSize.Enabled = false;
}

Ensuite pour finir on met le code sur le bouton ou on a mit aucun texte.
this.toolStripStatusLblStatus.Text = "Attente...";
FileSplitter fSplitter = null;

if (this.radioBtndépartitionner.Checked)
{
fSplitter = new FileSplitter(this.txtSource.Text);
fSplitter.PartialCopyDone += new PartialCopyDoneEventHandler(fSplitter_PartialCopyDone);
fSplitter.CopyDone += new CopyDoneEventHandler(fSplitter_CopyDone);
fSplitter.BeginMerge();
}
else
{
fSplitter = new FileSplitter(this.txtSource.Text, this.txtDestination.Text, (int)(this.numUpDownFileSize.Value * 1024));
fSplitter.PartialCopyDone += new PartialCopyDoneEventHandler(fSplitter_PartialCopyDone);
fSplitter.CopyDone += new CopyDoneEventHandler(fSplitter_CopyDone);
fSplitter.BeginSplit();
}
You must be registered for see images attach

Voila ce tutoriel touche à sa fin.
You must be registered for see images attach

Je tiens à vous remerciez vous ainsi que @DEVR0 GTP pour m'avoir aider sur la création de ma première dll ( pas elle ) qui m'a appris leurs utilité, fonctionnement etc.
You must be registered for see images attach

Source :

You must be registered for see images attach

 
Haut