파일정리
This commit is contained in:
67
HMI/TestProject/Test_ACS/AppSettings.cs
Normal file
67
HMI/TestProject/Test_ACS/AppSettings.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Test_ACS
|
||||
{
|
||||
/// <summary>
|
||||
/// 애플리케이션 설정을 관리하는 클래스
|
||||
/// </summary>
|
||||
public class AppSettings
|
||||
{
|
||||
public string LastPort { get; set; } = "COM1";
|
||||
public string LastBaudRate { get; set; } = "9600";
|
||||
public string LastRFID { get; set; } = "0001";
|
||||
public string LastAlias { get; set; } = "CHARGER1";
|
||||
public int LastAGV { get; set; } = 11;
|
||||
|
||||
private static string GetConfigFilePath()
|
||||
{
|
||||
// 실행 파일과 같은 폴더에 같은 이름으로 .config 파일 생성
|
||||
string exePath = Application.ExecutablePath;
|
||||
string exeName = Path.GetFileNameWithoutExtension(exePath);
|
||||
string configPath = Path.Combine(Path.GetDirectoryName(exePath), exeName + ".config");
|
||||
return configPath;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 설정 파일을 로드합니다
|
||||
/// </summary>
|
||||
public static AppSettings Load()
|
||||
{
|
||||
try
|
||||
{
|
||||
string configPath = GetConfigFilePath();
|
||||
if (File.Exists(configPath))
|
||||
{
|
||||
string json = File.ReadAllText(configPath);
|
||||
return JsonConvert.DeserializeObject<AppSettings>(json);
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// 로드 실패 시 기본값 반환
|
||||
}
|
||||
|
||||
return new AppSettings();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 설정을 파일에 저장합니다
|
||||
/// </summary>
|
||||
public void Save()
|
||||
{
|
||||
try
|
||||
{
|
||||
string configPath = GetConfigFilePath();
|
||||
string json = JsonConvert.SerializeObject(this, Formatting.Indented);
|
||||
File.WriteAllText(configPath, json);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// 저장 실패 시 무시
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user