From d0ded5cd9bf5070a120bad58b5be21fe2ac6a4ff Mon Sep 17 00:00:00 2001
From: C3032 <C3032@BC3032>
Date: 星期六, 20 十二月 2025 16:41:09 +0800
Subject: [PATCH] test
---
IDViewer_2D/DownloadData.xaml.cs | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 309 insertions(+), 0 deletions(-)
diff --git a/IDViewer_2D/DownloadData.xaml.cs b/IDViewer_2D/DownloadData.xaml.cs
new file mode 100644
index 0000000..4721cd7
--- /dev/null
+++ b/IDViewer_2D/DownloadData.xaml.cs
@@ -0,0 +1,309 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using SmartScanner.OperateLog;
+using Microsoft.Win32;
+
+namespace SmartScanner
+{
+ /// <summary>
+ /// DownloadData.xaml 鐨勪氦浜掗�昏緫
+ /// </summary>
+ public partial class DownloadData : Window
+ {
+ public static bool ImageSave;//鍥惧儚淇濆瓨
+ public static string ImageSavingPath;//淇濆瓨璺緞
+ public static int ImageCompressionRatio_main;//鍥惧儚鍘嬬缉姣旂巼
+ public static int ImageDeleteData_main;//鍥惧儚瀹氭湡鍒犻櫎
+ public static string ImageFormat_main;//鍥惧儚淇濆瓨鏍煎紡
+ public static bool MemoryAlarm_main;//瀛樺偍绌洪棿鎶ヨ
+ public static int ImageMemoryAlarm_main;//瀛樺偍绌洪棿鎶ヨ
+ private bool isF = false;
+ public static bool isOP = true;
+ public DownloadData()
+ {
+ InitializeComponent();
+ isF = true;
+ Init();
+ // 绐楀彛鍏抽棴鏃朵繚瀛樿缃�
+ this.Closed += (s, e) => Properties.Settings.Default.Save();
+ }
+ public void SetControlsEnabled(bool isEnabled)
+ {
+ // 绂佺敤鎴栧惎鐢ㄦ墍鏈夊彲缂栬緫鐨勬帶浠�
+ //LoadConfig_RJ.IsEnabled = isEnabled;
+ SelectFilePath.IsEnabled = isEnabled;
+ ImageDeleteCheck.IsEnabled = isEnabled;
+ Data_deleteImage.IsEnabled = isEnabled;
+ ImageSaveCheck.IsEnabled = isEnabled;
+ ImageFormat.IsEnabled = isEnabled;
+ ImageCompressionRatio.IsEnabled = isEnabled;
+ MemoryAlarmCheck.IsEnabled = isEnabled;
+ MemoryAlarm.IsEnabled = isEnabled;
+ SetDataSavingRoad.IsEnabled = isEnabled;
+ // ... 鍏朵粬闇�瑕佹帶鍒剁殑鎺т欢
+ }
+ public void Init()
+ {
+ ImageSave = (bool)ImageSaveCheck.IsChecked;
+ MemoryAlarm_main = (bool)MemoryAlarmCheck.IsChecked;
+ ImageMemoryAlarm_main = (int)MemoryAlarm.Value;
+ ImageSavingPath = SetDataSavingRoad.Text;
+ ImageCompressionRatio_main = (int)ImageCompressionRatio.Value;
+ ImageDeleteData_main = (int)Data_deleteImage.Value;
+ switch (ImageFormat.SelectedIndex)
+ {
+ case 0:
+ ImageFormat_main = ".BMP";
+ break;
+ case 1:
+ ImageFormat_main = ".JPG";
+ break;
+ case 2:
+ ImageFormat_main = ".PNG";
+ break;
+ default:
+ break;
+ }
+ if (ImageFormat.SelectedIndex == 0)
+ {
+ CompressionVisible.Visibility = Visibility.Collapsed;
+ }
+ else
+ {
+ CompressionVisible.Visibility = Visibility.Visible;
+ }
+ }
+ private void SetDataSavingRoad_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+ {
+ var folderDialog = new System.Windows.Forms.FolderBrowserDialog
+ {
+ Description = "閫夋嫨鍥惧儚瀛樺偍璺緞",
+ SelectedPath = Properties.Settings.Default.DataSavingRoad
+ };
+
+ if (folderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ Properties.Settings.Default.DataSavingRoad = folderDialog.SelectedPath;
+ SetDataSavingRoad.Text = folderDialog.SelectedPath;
+ }
+ // 璁板綍鏃ュ織
+ OperateLogService.LogOperation(
+ "鍥惧儚瀛樺偍璺緞淇敼",
+ $"璺緞淇敼涓�: {folderDialog.SelectedPath}",
+ null);
+ }
+
+ private void SelectFilePath_Click(object sender, RoutedEventArgs e)
+ {
+ var folderDialog = new System.Windows.Forms.FolderBrowserDialog
+ {
+ Description = "閫夋嫨鍥惧儚瀛樺偍璺緞",
+ SelectedPath = Properties.Settings.Default.DataSavingRoad
+ };
+
+ if (folderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ Properties.Settings.Default.DataSavingRoad = folderDialog.SelectedPath;
+ SetDataSavingRoad.Text = folderDialog.SelectedPath;
+ }
+ // 璁板綍鏃ュ織
+ OperateLogService.LogOperation(
+ "鍥惧儚瀛樺偍璺緞淇敼",
+ $"璺緞淇敼涓�: {folderDialog.SelectedPath}",
+ null);
+ }
+
+ private void ImageDeleteCheck_Unchecked(object sender, RoutedEventArgs e)
+ {
+
+ }
+
+ private void ImageDeleteCheck_Checked(object sender, RoutedEventArgs e)
+ {
+
+ }
+
+ private void ImageSaveCheck_Unchecked(object sender, RoutedEventArgs e)
+ {
+ ImageSave = false;
+ // 璁板綍鏃ュ織
+ OperateLogService.LogOperation(
+ "鍥惧儚鏄惁淇濆瓨淇敼",
+ $"淇敼涓�: 涓嶄繚瀛�",
+ null);
+ }
+
+ private void ImageSaveCheck_Checked(object sender, RoutedEventArgs e)
+ {
+ ImageSave = true;
+ // 璁板綍鏃ュ織
+ OperateLogService.LogOperation(
+ "鍥惧儚鏄惁淇濆瓨淇敼",
+ $"淇敼涓�: 淇濆瓨",
+ null);
+ }
+
+ private void Confirm_Btn_Click(object sender, RoutedEventArgs e)
+ {
+ Properties.Settings.Default.Save();
+ MessageBox.Show("璁剧疆鎴愬姛 娉細瀹氭湡娓呭浘鍔熻兘闇�閲嶅惎杞欢鍚庣敓鏁�", "鎴愬姛", MessageBoxButton.OK, MessageBoxImage.Asterisk);
+ }
+
+ private void ImageCompressionRatio_LostFocus(object sender, RoutedEventArgs e)
+ {
+ if (ImageCompressionRatio.Value == null) { return; }
+ ImageCompressionRatio_main = (int)ImageCompressionRatio.Value;
+ // 璁板綍鏃ュ織
+ OperateLogService.LogOperation(
+ "鍥惧儚鍘嬬缉姣旂巼淇敼",
+ $"淇敼涓�: {ImageCompressionRatio_main}",
+ null);
+ }
+
+ private void Data_deleteImage_LostFocus(object sender, RoutedEventArgs e)
+ {
+ if (Data_deleteImage.Value == null) { return; }
+ ImageDeleteData_main = (int)Data_deleteImage.Value;
+ // 璁板綍鏃ュ織
+ OperateLogService.LogOperation(
+ "娓呭浘鍛ㄦ湡淇敼",
+ $"淇敼涓�: {ImageDeleteData_main}",
+ null);
+ }
+
+ private void ImageFormat_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ if (!isF) return;
+ switch (ImageFormat.SelectedIndex)
+ {
+ case 0:
+ ImageFormat_main = ".BMP";
+ break;
+ case 1:
+ ImageFormat_main = ".JPG";
+ break;
+ case 2:
+ ImageFormat_main = ".PNG";
+ break;
+ default:
+ break;
+
+ }
+ if (ImageFormat.SelectedIndex == 0)
+ {
+ CompressionVisible.Visibility = Visibility.Collapsed;
+ }
+ else
+ {
+ CompressionVisible.Visibility = Visibility.Visible;
+ }
+ // 璁板綍鏃ュ織
+ OperateLogService.LogOperation(
+ "鍥剧墖淇濆瓨鏍煎紡淇敼",
+ $"淇敼涓�: {ImageFormat_main}",
+ null);
+ }
+
+ private void ImageFormat_LostFocus(object sender, RoutedEventArgs e)
+ {
+ if (!isF) return;
+ switch (ImageFormat.SelectedIndex)
+ {
+ case 0:
+ ImageFormat_main = ".BMP";
+ break;
+ case 1:
+ ImageFormat_main = ".JPG";
+ break;
+ case 2:
+ ImageFormat_main = ".PNG";
+ break;
+ default:
+ break;
+ }
+ if (ImageFormat.SelectedIndex == 0)
+ {
+ CompressionVisible.Visibility = Visibility.Collapsed;
+ }
+ else
+ {
+ CompressionVisible.Visibility = Visibility.Visible;
+ }
+ // 璁板綍鏃ュ織
+ OperateLogService.LogOperation(
+ "鍥剧墖淇濆瓨鏍煎紡淇敼",
+ $"淇敼涓�: {ImageFormat_main}",
+ null);
+ }
+
+ private void MemoryAlarmCheck_Unchecked(object sender, RoutedEventArgs e)
+ {
+ MemoryAlarm_main = false;
+ }
+
+ private void MemoryAlarmCheck_Checked(object sender, RoutedEventArgs e)
+ {
+ MemoryAlarm_main = true;
+ }
+
+ private void MemoryAlarm_LostFocus(object sender, RoutedEventArgs e)
+ {
+ if (MemoryAlarm.Value == null) { return; }
+ ImageMemoryAlarm_main = (int)MemoryAlarm.Value;
+ }
+
+ private (double usedPercentage, string driveName) GetDriveUsage()
+ {
+ // 鑾峰彇绯荤粺鐩�
+ DownloadData downloadData = new DownloadData();
+ DriveInfo drive = new DriveInfo($"{downloadData.SetDataSavingRoad.Text}");
+ double totalSpace = drive.TotalSize;
+ double freeSpace = drive.AvailableFreeSpace;
+ double usedPercentage = 100 - (freeSpace / totalSpace * 100);
+
+ return (usedPercentage, drive.Name);
+ }
+ public async void CheckStorage()
+ {
+ while (isOP)
+ {
+ if (MemoryAlarm_main)
+ {
+ var (usedPercentage, driveName) = GetDriveUsage();
+ int threshold = 100 - (int)MemoryAlarm.Value;
+ Dispatcher.Invoke(() =>
+ {
+ if (usedPercentage >= threshold)
+ {
+ // 鎶ヨ锛氭樉绀虹孩鑹茶鍛�
+ MessageBox.Show($"{driveName} 鐩樺凡浣跨敤 {usedPercentage:F1}%锛�", "璀﹀憡", MessageBoxButton.OK, MessageBoxImage.Warning);
+
+ }
+ else
+ {
+ Console.WriteLine($"{driveName} 鐩樺凡浣跨敤 {usedPercentage:F1}%锛�");
+ }
+ });
+ await Task.Delay(10000);
+ }
+ else
+ {
+ await Task.Delay(10000);
+ }
+ }
+ }
+ }
+}
--
Gitblit v1.9.3