118 lines
4.6 KiB
C#
118 lines
4.6 KiB
C#
|
|
using System;
|
|||
|
|
using System.Windows.Forms;
|
|||
|
|
using CRVM.Entity;
|
|||
|
|
using System.Text.RegularExpressions;
|
|||
|
|
using System.IO;
|
|||
|
|
|
|||
|
|
namespace CRVM
|
|||
|
|
{
|
|||
|
|
public partial class SetDataStorageForm : Form
|
|||
|
|
{
|
|||
|
|
public SetDataStorageForm()
|
|||
|
|
{
|
|||
|
|
InitializeComponent();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void SetDataStorageForm_Load(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
InitalSetting();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void InitalSetting()
|
|||
|
|
{
|
|||
|
|
checkBox_txtType.Checked = SysParam.Instance.checkTXT;
|
|||
|
|
checkBox_datType.Checked = SysParam.Instance.checkBIT;
|
|||
|
|
textBox_savePath.Text = SysParam.Instance.savePath;
|
|||
|
|
textBox_alarmSaveDays.Text = SysParam.Instance.saveDaysAlarm.ToString();
|
|||
|
|
textBox_noAlarmSaveDays.Text = SysParam.Instance.saveDaysNoAlarm.ToString();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void btn_selectSavePath_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
|
|||
|
|
if (folderBrowser.ShowDialog(this) == DialogResult.OK)
|
|||
|
|
{
|
|||
|
|
textBox_savePath.Text = folderBrowser.SelectedPath;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void checkBox_txtType_CheckedChanged(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
if (checkBox_txtType.Checked)
|
|||
|
|
{
|
|||
|
|
checkBox_datType.Checked = false;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
checkBox_datType.Checked = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void checkBox_datType_CheckedChanged(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
if (checkBox_datType.Checked)
|
|||
|
|
{
|
|||
|
|
checkBox_txtType.Checked = false;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
checkBox_txtType.Checked = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void btn_ok_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
string pattern = @"^[1-9]\d*$";
|
|||
|
|
if (!Regex.IsMatch(textBox_alarmSaveDays.Text.Trim(), pattern))
|
|||
|
|
{
|
|||
|
|
MessageBox.Show("参数:存储时间(有报警)设置格式不正确,需为正整数!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if (!Regex.IsMatch(textBox_noAlarmSaveDays.Text.Trim(), pattern))
|
|||
|
|
{
|
|||
|
|
MessageBox.Show("参数:存储时间(无报警)设置格式不正确,需为正整数!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if (!Directory.Exists(textBox_savePath.Text.Trim()))
|
|||
|
|
{
|
|||
|
|
MessageBox.Show("存储目录不存在,请重新选择!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if (!checkBox_datType.Checked && !checkBox_txtType.Checked)
|
|||
|
|
{
|
|||
|
|
MessageBox.Show("请选择文件的存储格式!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
SysParam.Instance.checkTXT = checkBox_txtType.Checked;
|
|||
|
|
SysParam.Instance.checkBIT = checkBox_datType.Checked;
|
|||
|
|
SysParam.Instance.savePath = textBox_savePath.Text;
|
|||
|
|
SysParam.Instance.saveDaysAlarm = Convert.ToInt32(textBox_alarmSaveDays.Text);
|
|||
|
|
SysParam.Instance.saveDaysNoAlarm = Convert.ToInt32(textBox_noAlarmSaveDays.Text);
|
|||
|
|
|
|||
|
|
//string driveStr = textBox_savePath.Text.Trim().Substring(0, 2);
|
|||
|
|
//System.IO.DriveInfo drive = new System.IO.DriveInfo(driveStr);
|
|||
|
|
//long availabelfreespace = drive.AvailableFreeSpace / 1024 / 1024 / 1024;//转换为G
|
|||
|
|
//long avaliableDays = (availabelfreespace - 20) / 9;//每天5G数据,计算当前可以存储的天数,留20个G的冗余
|
|||
|
|
//int maxSaveDays = SysParam.Instance.saveDaysNoAlarm > SysParam.Instance.saveDaysAlarm ? SysParam.Instance.saveDaysNoAlarm : SysParam.Instance.saveDaysAlarm;
|
|||
|
|
//if (maxSaveDays > avaliableDays)
|
|||
|
|
//{
|
|||
|
|
// MessageBox.Show("当前硬盘剩余空间最多可存储" + avaliableDays + "天的数据,请重新设置存储时间!");
|
|||
|
|
// return;
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
DialogResult dr = MessageBox.Show("系统将自动删除" + textBox_alarmSaveDays.Text + "天之前的报警数据!\r\n自动删除" + textBox_noAlarmSaveDays.Text + "天之前的不包含报警的数据!\r\n当存储空间不足时,将自动清除保存时间最久的一天的数据", "数据存储", MessageBoxButtons.OKCancel);
|
|||
|
|
if (dr == DialogResult.OK)
|
|||
|
|
{
|
|||
|
|
ConfigHelper.GetInstance("").SaveConfig(Application.StartupPath + "\\AppSetting.config");
|
|||
|
|
this.Close();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void bt_cancel_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
this.Close();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|