- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
private void FormBackUpFlash_Load(object sender, EventArgs e)
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.DriveType == DriveType.Removable)
{
bool thisIsDisketa = false;
if (d.Name.Contains("A:")) thisIsDisketa = true;
if (d.Name.Contains("B:")) thisIsDisketa = true;
if (thisIsDisketa)
continue;
else
listBoxDevice.Items.Add(d);
}
}
if (listBoxDevice.Items.Count > 0)
{
StatusLabel.ForeColor = Color.Blue;
StatusLabel.Text = "Готово!";
listBoxDevice.SelectedIndex = 0;
}
else
{
buttonWrite.Enabled = false;
StatusLabel.ForeColor = Color.Red;
StatusLabel.Text = "Подходящих устройств нет!";
}
}
private void buttonWrite_Click(object sender, EventArgs e)
{
try
{
DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
pathDst = Path.Combine(drv.Name, "PROJECTNAME_Backup");
if (!Directory.Exists(Path.Combine(drv.Name, "PROJECTNAME_Backup")))
{
Directory.CreateDirectory(pathDst);
}
this.Cursor = Cursors.WaitCursor;
DBMSSQL dbm = new DBMSSQL();
int i;
for (i = 0; i < 10; i++)
{
if (dbm.BackupDB(Path.Combine(Path.Combine(drv.Name, "PROJECTNAME_Backup"), "DataPROJECTNAMEDataContext.bak"), true))
{
MessageBox.Show("Резервная копия создана успешно!", "OK!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
break;
}
Thread.Sleep(1000);
}
if (i == 10)
{
MessageBox.Show("Ошибка при создании резервной копии!!!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception e1)
{
MessageBox.Show(e1.Message + "\r\nЭкспорт отменен!");
this.DialogResult = DialogResult.Cancel;
}
finally { this.Cursor = Cursors.Default; }
}
private void listBoxDevice_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
labelSizeDevice.Text = drv.AvailableFreeSpace < 1000000000 ?
string.Format("{0}MB", drv.AvailableFreeSpace / 1000000) :
string.Format("{0:F2}GB", (float)drv.AvailableFreeSpace / 1000000000.0);
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
}
}
Три в одном.
Исключаем флоппи из списка дисков, 10 раз пытаемся создать бэкап и 1000000 байт в мегабайте.