From b9f5d0325af5dacf98e245a3b897d2ea44ea4790 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 11 九月 2025 10:10:59 +0800
Subject: [PATCH] 1.超长内容弹出消息框显示; 2.修复WIP增加或减少,报表没有对应动作的问题;

---
 SourceCode/Bond/Servo/Configuration.cpp |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/Configuration.cpp b/SourceCode/Bond/Servo/Configuration.cpp
index b8529b6..c853bba 100644
--- a/SourceCode/Bond/Servo/Configuration.cpp
+++ b/SourceCode/Bond/Servo/Configuration.cpp
@@ -92,6 +92,17 @@
 	return (int)texts.size();	
 }
 
+void CConfiguration::setFilterMode(int mode)
+{
+	WritePrivateProfileString(_T("Logcat"), _T("FilterMode"),
+		std::to_string(mode).c_str(), m_strFilepath);
+}
+
+int CConfiguration::getFilterMode()
+{
+	return GetPrivateProfileInt(_T("Logcat"), _T("FilterMode"), 0, m_strFilepath);
+}
+
 int CConfiguration::getP2RemoteEqReconnectInterval()
 {
 	return GetPrivateProfileInt(_T("P2"), _T("RemoteEqReconnectInterval"), 20, m_strFilepath);
@@ -103,3 +114,65 @@
 		std::to_string(second).c_str(), m_strFilepath);
 }
 
+BOOL CConfiguration::getPortParms(unsigned int index, BOOL& bEnable, int& type, int& mode,
+	int& cassetteType, int& transferMode, BOOL& bAutoChangeEnable)
+{
+	if (index >= 4) return FALSE;
+
+	static char* pszSection[] = {"Port1", "Port2", "Port3", "Port4"};
+	bEnable = GetPrivateProfileInt(pszSection[index], _T("Enable"), 0, m_strFilepath) == 1;
+	type = GetPrivateProfileInt(pszSection[index], _T("Type"), 0, m_strFilepath);
+	mode = GetPrivateProfileInt(pszSection[index], _T("Mode"), 0, m_strFilepath);
+	cassetteType = GetPrivateProfileInt(pszSection[index], _T("CassetteType"), 0, m_strFilepath);
+	transferMode = GetPrivateProfileInt(pszSection[index], _T("TransferMode"), 0, m_strFilepath);
+	bAutoChangeEnable = GetPrivateProfileInt(pszSection[index], _T("AutoChangeEnable"), 0, m_strFilepath) == 1;
+
+	// type, mode, cassetteType, transferMode 范围检查
+	type = max(1, min(type, 7));
+	mode = max(0, min(mode, 5));
+	cassetteType = max(1, min(cassetteType, 3));
+	transferMode = max(1, min(transferMode, 3));
+
+	return TRUE;
+}
+
+BOOL CConfiguration::setPortCassetteType(unsigned int index, int cassetteType)
+{
+	if (index >= 4) return FALSE;
+	if (cassetteType < 1 || 3 < cassetteType) return FALSE;
+
+	static char* pszSection[] = { "Port1", "Port2", "Port3", "Port4" };
+	WritePrivateProfileString(pszSection[index], _T("CassetteType"), std::to_string(cassetteType).c_str(), m_strFilepath);
+	return true;
+}
+
+BOOL CConfiguration::setPortEnable(unsigned int index, BOOL bEnable)
+{
+	if (index >= 4) return FALSE;
+
+	static char* pszSection[] = { "Port1", "Port2", "Port3", "Port4" };
+	WritePrivateProfileString(pszSection[index], _T("Enable"), std::to_string(bEnable ? 1 : 0).c_str(), m_strFilepath);
+	return true;
+}
+
+BOOL CConfiguration::isCompareMapsBeforeProceeding()
+{
+	return GetPrivateProfileInt(_T("Master"), _T("CompareMapsBeforeProceeding"), 0, m_strFilepath);
+}
+
+BOOL CConfiguration::isJobMode()
+{
+	return GetPrivateProfileInt(_T("Master"), _T("JobMode"), 0, m_strFilepath);
+}
+
+void CConfiguration::setContinuousTransferCount(int round)
+{
+	WritePrivateProfileString(_T("Master"), _T("CTRound"),
+		std::to_string(round).c_str(), m_strFilepath);
+}
+
+int CConfiguration::getContinuousTransferCount()
+{
+	return GetPrivateProfileInt(_T("Master"), _T("CTRound"), 0, m_strFilepath);
+}
+

--
Gitblit v1.9.3