feat: 新增系统时间时分秒修改

master
cbwu 7 months ago
parent 2b3f8d699a
commit b65da15829

1
.gitignore vendored

@ -0,0 +1 @@
build/

@ -0,0 +1,23 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
QMAKE_CXX.QMAKE_MSC_VER = 1941
QMAKE_CXX.QMAKE_MSC_FULL_VER = 194134120
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_MSC_VER \
QMAKE_MSC_FULL_VER
QMAKE_CXX.INCDIRS = \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.41.34120\\include" \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.41.34120\\ATLMFC\\include" \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Auxiliary\\VS\\include" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22621.0\\ucrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\shared" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\winrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\cppwinrt" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um"
QMAKE_CXX.LIBDIRS = \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.41.34120\\ATLMFC\\lib\\x64" \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.41.34120\\lib\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.22621.0\\ucrt\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.22621.0\\\\um\\x64"

Binary file not shown.

@ -1,267 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 12.0.1, 2024-01-10T18:39:15. --> <!-- Written by QtCreator 14.0.1, 2024-08-31T14:03:03. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
<value type="QByteArray">{8cfa9d78-659c-4111-ba1f-cc573f4fb26a}</value> <value type="QByteArray">{662fef76-68a1-43e8-a542-8c1ed6fdbc67}</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.ActiveTarget</variable> <variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value> <value type="qlonglong">0</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.EditorSettings</variable> <variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap"> <valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value> <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value> <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value> <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value> <value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value"> <valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value> <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap> </valuemap>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value> <value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value"> <valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap> </valuemap>
</valuemap> </valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value> <value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value> <value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value> <value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value> <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value> <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value> <value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value> <value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value> <value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value> <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value> <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value> <value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value> <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value> <value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value> <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value> <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value> <value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value> <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value> <value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value> <value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap> </valuemap>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.PluginSettings</variable> <variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"> <valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks"> <valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value> <value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value> <value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value> <value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value> <value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value> <value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value> <value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/> <value type="bool" key="AutoTest.ApplyFilter">false</value>
<value type="int" key="AutoTest.RunAfterBuild">0</value> <valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="bool" key="AutoTest.UseGlobal">true</value> <valuelist type="QVariantList" key="AutoTest.PathFilters"/>
<valuemap type="QVariantMap" key="ClangTools"> <value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value> <value type="bool" key="AutoTest.UseGlobal">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value> <valuemap type="QVariantMap" key="ClangTools">
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value> <value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="int" key="ClangTools.ParallelJobs">8</value> <value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="bool" key="ClangTools.PreferConfigFile">true</value> <value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/> <value type="int" key="ClangTools.ParallelJobs">8</value>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/> <value type="bool" key="ClangTools.PreferConfigFile">true</value>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/> <valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value> <valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
</valuemap> <valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
</valuemap> <value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</data> </valuemap>
<data> </valuemap>
<variable>ProjectExplorer.Project.Target.0</variable> </data>
<valuemap type="QVariantMap"> <data>
<value type="QString" key="DeviceType">Desktop</value> <variable>ProjectExplorer.Project.Target.0</variable>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value> <valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value> <value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="EnableQmlDebugging">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value> <value type="int" key="EnableQmlDebugging">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\ModifyDatTime\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
</valuemap> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> </valuemap>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
</valuemap> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> </valuemap>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
</valuemap> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> </valuemap>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
</valuemap> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> </valuemap>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
</valuemap> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> </valuemap>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
</valuemap> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value> </valuemap>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\ModifyDatTime\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
</valuemap> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> </valuemap>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
</valuemap> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> </valuemap>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
</valuemap> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> </valuemap>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
</valuemap> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> </valuemap>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
</valuemap> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> </valuemap>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="int" key="QtQuickCompiler">0</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
</valuemap> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2"> <value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="EnableQmlDebugging">0</value> </valuemap>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value> <value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> </valuemap>
</valuemap> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> <valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap> </valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
</valuemap> <value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="int" key="PE.EnvironmentAspect.Base">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
</valuemap> <value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph &quot;dwarf,4096&quot; -F 250</value>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/MyCode/Qt/ModifyDatTime/ModifyDatTime.pro</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/MyCode/Qt/ModifyDatTime/ModifyDatTime.pro</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
</valuemap> <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/MyCode/Qt/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value> </valuemap>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value> </valuemap>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> </data>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> <data>
<value type="int" key="QtQuickCompiler">0</value> <variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int" key="SeparateDebugInfo">0</value> <value type="qlonglong">1</value>
</valuemap> </data>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value> <data>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <value type="int">22</value>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value> </data>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> <data>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value> <variable>Version</variable>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> <value type="int">22</value>
</valuemap> </data>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> </qtcreator>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/MyCode/Qt/ModifyDatTime/ModifyDatTime.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/MyCode/Qt/ModifyDatTime/ModifyDatTime.pro</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,214 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{48591395-E0D9-30EA-8A6D-AB2FBD9DD467}</ProjectGuid>
<RootNamespace>ModifyDatTime</RootNamespace>
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>ModifyDatTime</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>ModifyDatTime</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(QtMsBuild)\qt_defaults.props" Condition="Exists('$(QtMsBuild)\qt_defaults.props')" />
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>Qt5.15.2 msvc2019_64</QtInstall>
<QtModules>core;gui;widgets</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>Qt5.15.2 msvc2019_64</QtInstall>
<QtModules>core;gui;widgets</QtModules>
</PropertyGroup>
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') OR !Exists('$(QtMsBuild)\Qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
<Import Project="$(QtMsBuild)\Qt.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
<Import Project="$(QtMsBuild)\Qt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ModifyDatTime</TargetName>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IgnoreImportLibrary>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ModifyDatTime</TargetName>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>release\</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName></ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)\ModifyDatTime.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Windows</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
<QtUicDir>$(ProjectDir)</QtUicDir>
<QtUicFileName>ui_%(Filename).h</QtUicFileName>
</QtUic>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>debug\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<OutputFile>$(OutDir)\ModifyDatTime.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Windows</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
<QtUicDir>$(ProjectDir)</QtUicDir>
<QtUicFileName>ui_%(Filename).h</QtUicFileName>
</QtUic>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClCompile Include="mainwindow.cpp" />
</ItemGroup>
<ItemGroup>
<QtMoc Include="mainwindow.h" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -Zi -MDd -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;$(IntDir)\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -O2 -MD -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;$(IntDir)\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<QtUic Include="mainwindow.ui" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(QtMsBuild)\qt.targets" Condition="Exists('$(QtMsBuild)\qt.targets')" />
<ImportGroup Label="ExtensionTargets" />
</Project>

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Form Files">
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
<Extensions>ui</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="Form Files">
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
<Extensions>ui</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="mainwindow.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtMoc Include="mainwindow.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<QtUic Include="mainwindow.ui">
<Filter>Form Files</Filter>
</QtUic>
</ItemGroup>
</Project>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtTouchProperty>
</QtTouchProperty>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtTouchProperty>
</QtTouchProperty>
</PropertyGroup>
</Project>

@ -1,362 +1,371 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "ui_mainwindow.h" #include "ui_mainwindow.h"
#include <QFile> #include <QByteArray>
#include <QDataStream> #include <QDataStream>
#include <QByteArray> #include <QDate>
#include <QDir> #include <QDebug>
#include <QFileDialog> #include <QDir>
#include <QMessageBox> #include <QFile>
#include <QDate> #include <QFileDialog>
#include <QDebug> #include <QMessageBox>
#include <QTime>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent) MainWindow::MainWindow(QWidget *parent)
, ui(new Ui::MainWindow) : QMainWindow(parent), ui(new Ui::MainWindow) {
{ ui->setupUi(this);
ui->setupUi(this); ui->hourSpinBox->setMaximum(23);
folderPath = ""; ui->minuteSpinBox->setMaximum(59);
ui->secondSpinBox->setMaximum(59);
} folderPath = "";
}
MainWindow::~MainWindow()
{ MainWindow::~MainWindow() { delete ui; }
delete ui;
} void MainWindow::ReadDat(QString fileName) {
int year = ui->yearSpinBox->value();
void MainWindow::ReadDat(QString fileName) int month = ui->monthSpinBox->value();
{ int day = ui->daySpinBox->value();
int year = ui->yearSpinBox->value(); int hour = ui->hourSpinBox->value();
int month = ui->monthSpinBox->value(); int minute = ui->minuteSpinBox->value();
int day = ui->daySpinBox->value(); int second = ui->secondSpinBox->value();
//转化为16进制
uint8_t hexYear = IntToHex(year); QTime time(hour, minute, second);
uint8_t hexMonth = IntToHex(month); QDate date(year + 2000, month, day);
uint8_t hexDay = IntToHex(day); QDateTime targetTime(date, time);
// 转化为16进制
//QString filename = outputDir+"/"+fileName; uint8_t hexYear = IntToHex(year);
// // 一个示例日期年月日分别为2023年、12月、3日 uint8_t hexMonth = IntToHex(month);
// QDate date(year+2000, month, day); uint8_t hexDay = IntToHex(day);
// // 将日期格式化为yymmdd uint8_t hexHour = IntToHex(hour);
// QString formattedDate = date.toString("yyyyMMdd"); uint8_t hexMinute = IntToHex(minute);
uint8_t hexSecond = IntToHex(second);
// //修改文件名的时间信息
// QString f1 = fileName; // QString filename = outputDir+"/"+fileName;
// f1.remove(11,f1.length()-11); // // 一个示例日期年月日分别为2023年、12月、3日
// QString f2 = fileName; // QDate date(year+2000, month, day);
// f2.remove(0,11+8); // // 将日期格式化为yymmdd
// QString str = f1+formattedDate+f2; // QString formattedDate = date.toString("yyyyMMdd");
QString outputFileName = GetOutputFileName(fileName,year,month,day); // //修改文件名的时间信息
//创建修改后的dat文件 // QString f1 = fileName;
QFile writeFile(outputDir+"/"+outputFileName); // f1.remove(11,f1.length()-11);
QDataStream outStream; // QString f2 = fileName;
if (writeFile.open(QIODevice::WriteOnly)) { // f2.remove(0,11+8);
// 创建数据流,用于写入二进制数据 // QString str = f1+formattedDate+f2;
// outStream = QDataStream(&writeFile);
outStream.setDevice(&writeFile); QString outputFileName =
outStream.setByteOrder(QDataStream::LittleEndian); GetOutputFileName(fileName, year, month, day, hour, minute, second);
} // 创建修改后的dat文件
QFile writeFile(outputDir + "/" + outputFileName);
int len = 265; QDataStream outStream;
quint8 *data = new quint8[len]; if (writeFile.open(QIODevice::WriteOnly)) {
QFile file1 = QFile(folderPath+"/"+fileName); // 创建数据流,用于写入二进制数据
//QFile file1 = QFile("E:\\dat\\output\\下行遥测_0_1_0_20230619230109.dat"); // outStream = QDataStream(&writeFile);
file1.open(QIODevice::ReadOnly); outStream.setDevice(&writeFile);
QDataStream readStream = QDataStream(&file1); outStream.setByteOrder(QDataStream::LittleEndian);
readStream.setVersion(QDataStream::Qt_5_15); //设置数据流的版本 }
readStream.setByteOrder(QDataStream::LittleEndian);
int i =0; int len = 265;
quint8* content = new quint8[28]; //创建一个28字节的数据缓冲区 quint8 *data = new quint8[len];
// int sub1 = 0; QFile file1 = QFile(folderPath + "/" + fileName);
// int sub2 = 0; // QFile file1 = QFile("E:\\dat\\output\\下行遥测_0_1_0_20230619230109.dat");
while(!readStream.atEnd()) file1.open(QIODevice::ReadOnly);
{ QDataStream readStream = QDataStream(&file1);
readStream.readRawData((char *)data, len); //读取一帧 readStream.setVersion(QDataStream::Qt_5_15); // 设置数据流的版本
// i++; readStream.setByteOrder(QDataStream::LittleEndian);
//四个子帧解析 int i = 0;
// int id1 = 16; quint8 *content = new quint8[28]; // 创建一个28字节的数据缓冲区
// int id2 = id1+32; // int sub1 = 0;
// int id3 = id2+32; // int sub2 = 0;
// int id4 = id3+32; bool bFirstTime = true;
int startID = 16; qint64 offsetTime = 0;
for (int var = 0; var < 4; ++var) { while (!readStream.atEnd()) {
startID = 16 + 32*var; readStream.readRawData((char *)data, len); // 读取一帧
// if(data[startID]!=0x23) QTime time(data[5], data[6], data[7]);
// qDebug()<<"************Zhen1:"<<data[startID]; QDate date(int(data[2]) + 2000, data[3], data[4]);
// if(data[startID+1]!=0x23) QDateTime curTime(date, time);
// qDebug()<<"************Zhen2:"<<data[startID]; if (bFirstTime) {
quint8 zhenID = data[startID+4]; offsetTime = curTime.secsTo(targetTime);
if(zhenID==0x87 || zhenID==0x89 || zhenID==0x8A) bFirstTime = false;
{ }
// if(data[startID+17]==0x01) QTime tmp0 = curTime.time();
// { curTime = curTime.addSecs(offsetTime);
// //quint32 ss = quint32(data[startID+25] | (data[startID+26]<<8) | (data[startID+27]<<16) | (data[startID+28]<<24))*0.001; QTime tmp1 = curTime.time();
// //qDebug()<<"************SS:"<<ss; // i++;
// quint8 vid = quint8(data[startID+29]); // 四个子帧解析
// //qDebug()<<"************vid1:"<<vid; // int id1 = 16;
// } // int id2 = id1+32;
// int id3 = id2+32;
if(data[startID+17]==0x02) //子帧2 // int id4 = id3+32;
{ int startID = 16;
// quint8 d = quint8(data[startID+18]); for (int var = 0; var < 4; ++var) {
// quint8 m = quint8(data[startID+19]); startID = 16 + 32 * var;
//quint8 y = quint8(data[startID+20]);
//qDebug()<<"************Year:"<<y; quint8 zhenID = data[startID + 4];
// int a = 1; if (zhenID == 0x87 || zhenID == 0x89 || zhenID == 0x8A) {
if (data[startID + 17] == 0x02) // 子帧2
//修改UTC年月日数据 {
if(hexDay>0) // QTime time(data[startID + 21], data[startID + 22],
data[startID+18] = hexDay; // data[startID + 23]);
if(hexMonth>0) // QDate date(int(data[startID + 20]) + 2000, data[startID + 19],
data[startID+19] = hexMonth; // data[startID + 18]);
if(hexYear>0) // QDateTime tmpTime(date, time);
data[startID+20] = hexYear; // tmpTime = tmpTime.addSecs(offsetTime);
//计算CRC16校验位 // 修改UTC年月日数据
for(int i=0;i<28;i++)//提取数据帧内容 if (hexDay > 0)
{ data[startID + 18] = hexDay;
content[i] = data[startID+2+i]; if (hexMonth > 0)
} data[startID + 19] = hexMonth;
quint16 crc = GetCrcSum(content,28);//计算校验码 if (hexYear > 0)
// 提取高位和低位 data[startID + 20] = hexYear;
quint8 highByte = static_cast<quint8>((crc >> 8) & 0xFF); // // 修改UTC时分秒数据
quint8 lowByte = static_cast<quint8>(crc & 0xFF); // if (hexHour > 0)
//修改CRC校验位 // data[startID + 21] = IntToHex(tmpTime.time().hour());
data[startID+30] = lowByte; // if (hexMinute > 0)
data[startID+31] = highByte; // data[startID + 22] = IntToHex(tmpTime.time().minute());
} // if (hexSecond > 0)
} // data[startID + 23] = IntToHex(tmpTime.time().second());
} // 计算CRC16校验位
// bool b = data[16]==0x23; for (int i = 0; i < 28; i++) // 提取数据帧内容
// bool b1 = data[17]==0x23; {
// bool b2 = data[18]==0x85; content[i] = data[startID + 2 + i];
//修改系统时间戳 }
if(hexYear>0) quint16 crc = GetCrcSum(content, 28); // 计算校验码
data[2] = hexYear; // 提取高位和低位
if(hexMonth>0) quint8 highByte = static_cast<quint8>((crc >> 8) & 0xFF);
data[3] = hexMonth; quint8 lowByte = static_cast<quint8>(crc & 0xFF);
if(hexDay>0) // 修改CRC校验位
data[4] = hexDay; data[startID + 30] = lowByte;
data[startID + 31] = highByte;
//修改最后校验位 }
data[len-1] = GetDataCheckCRC(data,len); }
}
//写入文件
outStream.writeRawData((char *)data,len); // 修改系统时间戳
} if (hexYear > 0)
file1.close(); data[2] = hexYear;
writeFile.close(); if (hexMonth > 0)
data[3] = hexMonth;
qDebug()<<"*********************i:"<<i; if (hexDay > 0)
} data[4] = hexDay;
if (hexHour > 0)
uint8_t MainWindow::IntToHex(int data) data[5] = IntToHex(curTime.time().hour());
{ if (hexMinute > 0)
// 将十进制整数转换为十六进制表示 data[6] = IntToHex(curTime.time().minute());
QByteArray hexData = QByteArray::number(data, 16); if (hexSecond > 0)
// 将十六进制表示转换为 uint8_t 类型 data[7] = IntToHex(curTime.time().second());
bool ok;
return hexData.toUInt(&ok, 16); // 修改最后校验位
} data[len - 1] = GetDataCheckCRC(data, len);
/******************************************************************************* // 写入文件
GetCrcSum outStream.writeRawData((char *)data, len);
CRC }
file1.close();
CRC writeFile.close();
*******************************************************************************/ // qDebug()<<"*********************i:"<<i;
quint16 MainWindow::GetCrcSum(quint8 *dataptr, quint16 len) }
{
qint16 count = 0; uint8_t MainWindow::IntToHex(int data) {
quint8 C0 = 0,C1 = 0,Y0 = 0,Y1 = 0,Z0 = 0,Z1 = 0; // 将十进制整数转换为十六进制表示
QByteArray hexData = QByteArray::number(data, 16);
C0=C1=Y0=Y1=Z0=Z1=0; // 将十六进制表示转换为 uint8_t 类型
bool ok;
while(count < len) return hexData.toUInt(&ok, 16);
{ }
Y0=(CRCLIST[2*(*dataptr)]^C1) & 0x00FF;
Y1=(CRCLIST[2*(*dataptr)+1]) & 0x00FF; /*******************************************************************************
Z0=CRCLIST[2*C0] & 0x00FF; GetCrcSum
Z1=CRCLIST[2*C0+1] & 0x00FF; CRC
C0=(Y0^Z0) & 0x00FF;
C1=(Y1^Z1) & 0x00FF; CRC
dataptr++;
count++; *******************************************************************************/
} quint16 MainWindow::GetCrcSum(quint8 *dataptr, quint16 len) {
return(C0+C1*256);/* return crc result */ qint16 count = 0;
} quint8 C0 = 0, C1 = 0, Y0 = 0, Y1 = 0, Z0 = 0, Z1 = 0;
quint8 MainWindow::GetDataCheckCRC(quint8 *dataptr, quint16 len) C0 = C1 = Y0 = Y1 = Z0 = Z1 = 0;
{
quint8 sum = 0; while (count < len) {
for(int i = 0;i<264;i++) Y0 = (CRCLIST[2 * (*dataptr)] ^ C1) & 0x00FF;
{ Y1 = (CRCLIST[2 * (*dataptr) + 1]) & 0x00FF;
sum += quint8(dataptr[i]); Z0 = CRCLIST[2 * C0] & 0x00FF;
} Z1 = CRCLIST[2 * C0 + 1] & 0x00FF;
return quint8(~(sum & 0xFF)+1); C0 = (Y0 ^ Z0) & 0x00FF;
} C1 = (Y1 ^ Z1) & 0x00FF;
dataptr++;
/** count++;
* }
* return (C0 + C1 * 256); /* return crc result */
* @param year }
* @return truefalse
*/ quint8 MainWindow::GetDataCheckCRC(quint8 *dataptr, quint16 len) {
bool MainWindow::isLeapYear(int year) quint8 sum = 0;
{ for (int i = 0; i < 264; i++) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { sum += quint8(dataptr[i]);
return true; }
} else { return quint8(~(sum & 0xFF) + 1);
return false; }
}
} /**
*
/** *
* * @param year
* * @return truefalse
* @param year */
* @param month bool MainWindow::isLeapYear(int year) {
* @param day if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
* @return truefalse return true;
*/ } else {
bool MainWindow::isValidDay(int year, int month, int day) return false;
{ }
if (month == 2) { }
if (isLeapYear(year)) {
if (day >= 1 && day <= 29) { /**
return true; *
} *
} else { * @param year
if (day >= 1 && day <= 28) { * @param month
return true; * @param day
} * @return truefalse
} */
} else if (month == 4 || month == 6 || month == 9 || month == 11) { bool MainWindow::isValidDay(int year, int month, int day) {
if (day >= 1 && day <= 30) { if (month == 2) {
return true; if (isLeapYear(year)) {
} if (day >= 1 && day <= 29) {
} else { return true;
if (day >= 1 && day <= 31) { }
return true; } else {
} if (day >= 1 && day <= 28) {
} return true;
return false; }
} }
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day >= 1 && day <= 30) {
QString MainWindow::GetOutputFileName(QString fileName,int year, int month, int day) return true;
{ }
//QString str = "下行遥测_0_17_0_20221114024453.dat"; } else {
QStringList strList = fileName.split("_"); if (day >= 1 && day <= 31) {
QString endstr = strList.constLast(); return true;
QString lastStr = endstr.mid(8,-1); }
if(year==0) }
year = endstr.mid(0,4).toInt()-2000; return false;
//QString year0 = endstr.mid(0,4); }
if(month==0)
month = endstr.mid(4,2).toInt(); QString MainWindow::GetOutputFileName(QString fileName, int year, int month,
if(day==0) int day, int hour, int minute,
day = endstr.mid(6,2).toInt(); int second) {
// QString month = endstr.mid(4,2); // QString str = "下行遥测_0_17_0_20221114024453.dat";
// QString day = endstr.mid(6,2); QStringList strList = fileName.split("_");
QString endstr = strList.constLast();
// 一个示例日期年月日分别为2023年、12月、3日 QString lastStr = endstr.mid(14, -1);
QDate date(year+2000, month, day); if (year == 0)
// 将日期格式化为yymmdd year = endstr.mid(0, 4).toInt() - 2000;
QString formattedDate = date.toString("yyyyMMdd"); // QString year0 = endstr.mid(0,4);
if (month == 0)
QString outputFileName = ""; month = endstr.mid(4, 2).toInt();
strList.removeLast(); if (day == 0)
strList.append(formattedDate); day = endstr.mid(6, 2).toInt();
outputFileName = strList.join("_") + lastStr; // QString month = endstr.mid(4,2);
// for (int var = 0; var < strList.length()-2; ++var) { // QString day = endstr.mid(6,2);
// outputFileName += strList.at(var); if (hour == 0)
// } hour = endstr.mid(8, 2).toInt();
return outputFileName; if (minute == 0)
} minute = endstr.mid(10, 2).toInt();
if (second == 0)
void MainWindow::on_openDirBtn_clicked() second = endstr.mid(12, 2).toInt();
{
// 创建一个QFileDialog对象 // 一个示例日期年月日分别为2023年、12月、3日
QFileDialog dialog; QDate date(year + 2000, month, day);
// 将日期格式化为yymmdd
// 设置对话框的标题 QString formattedDate = date.toString("yyyyMMdd");
dialog.setWindowTitle("Select Folder");
QTime time(hour, minute, second);
// 设置对话框模式为选择文件夹 QString formattedTime = time.toString("hhmmss");
dialog.setFileMode(QFileDialog::Directory);
// 打开对话框 QString outputFileName = "";
if (dialog.exec()) { strList.removeLast();
// 获取用户选择的文件夹路径 strList.append(formattedDate + formattedTime);
folderPath = dialog.selectedFiles().at(0); outputFileName = strList.join("_") + lastStr;
qDebug() << "Selected Folder: " << folderPath; // for (int var = 0; var < strList.length()-2; ++var) {
} else { // outputFileName += strList.at(var);
qDebug() << "User canceled the operation."; // }
} return outputFileName;
}
}
void MainWindow::on_openDirBtn_clicked() {
void MainWindow::CreateDir() // 创建一个QFileDialog对象
{ QFileDialog dialog;
// 创建一个QDir对象
QDir dir; // 设置对话框的标题
outputDir = folderPath+"/output"; dialog.setWindowTitle("Select Folder");
// 设置目录路径
dir.setPath(outputDir); // 设置对话框模式为选择文件夹
dialog.setFileMode(QFileDialog::Directory);
// 创建文件夹 // 打开对话框
if (dir.mkpath(outputDir)) { if (dialog.exec()) {
qDebug() << "Folder created successfully."; // 获取用户选择的文件夹路径
} else { folderPath = dialog.selectedFiles().at(0);
qDebug() << "Failed to create folder."; qDebug() << "Selected Folder: " << folderPath;
} } else {
//QDir directory(folderPath+"/output"); qDebug() << "User canceled the operation.";
} }
}
void MainWindow::on_startModifyBtn_clicked() void MainWindow::CreateDir() {
{ // 创建一个QDir对象
int year = ui->yearSpinBox->value(); QDir dir;
int month = ui->monthSpinBox->value(); outputDir = folderPath + "/output";
int day = ui->daySpinBox->value(); // 设置目录路径
dir.setPath(outputDir);
if(year<=0&&month<=0&&day<=0)
{ // 创建文件夹
QMessageBox::information(NULL,"提示","请设置要修改的年月日!!!"); if (dir.mkpath(outputDir)) {
return; qDebug() << "Folder created successfully.";
} } else {
if(folderPath=="") qDebug() << "Failed to create folder.";
{ }
QMessageBox::information(NULL,"提示","请先设置文件夹!!!"); // QDir directory(folderPath+"/output");
return; }
}
void MainWindow::on_startModifyBtn_clicked() {
// 检查Day是否正确 int year = ui->yearSpinBox->value();
if(day>0 && !isValidDay(year+2000,month,day)) int month = ui->monthSpinBox->value();
{ int day = ui->daySpinBox->value();
QMessageBox::information(NULL,"提示","日期有误,请重新设置!!!");
return; if (year <= 0 && month <= 0 && day <= 0) {
} QMessageBox::information(NULL, "提示", "请设置要修改的年月日!!!");
return;
// 创建一个 QDir 对象 }
QDir directory(folderPath); if (folderPath == "") {
// 获取文件夹中的所有文件 QMessageBox::information(NULL, "提示", "请先设置文件夹!!!");
QStringList files = directory.entryList(QDir::Files); return;
int numFiles = files.length(); }
if(numFiles==0)
{ // 检查Day是否正确
QMessageBox::information(NULL,"提示","该文件夹没有dat文件!!!"); if (day > 0 && !isValidDay(year + 2000, month, day)) {
return; QMessageBox::information(NULL, "提示", "日期有误,请重新设置!!!");
} return;
}
//新建output文件夹
CreateDir(); // 创建一个 QDir 对象
//开始处理 QDir directory(folderPath);
for (int n = 0; n < numFiles; ++n) // 获取文件夹中的所有文件
{ QStringList files = directory.entryList(QDir::Files);
ReadDat(files.at(n)); int numFiles = files.length();
} if (numFiles == 0) {
QMessageBox::information(NULL, "提示", "该文件夹没有dat文件!!!");
QMessageBox::information(NULL,"提示","处理结束!!!"); return;
} }
// 新建output文件夹
CreateDir();
// 开始处理
for (int n = 0; n < numFiles; ++n) {
ReadDat(files.at(n));
}
QMessageBox::information(NULL, "提示", "处理结束!!!");
}

@ -1,78 +1,87 @@
#ifndef MAINWINDOW_H #ifndef MAINWINDOW_H
#define MAINWINDOW_H #define MAINWINDOW_H
#include <QMainWindow> #include <QMainWindow>
#include <QString> #include <QString>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
namespace Ui { namespace Ui {
class MainWindow; class MainWindow;
} }
QT_END_NAMESPACE QT_END_NAMESPACE
class MainWindow : public QMainWindow class MainWindow : public QMainWindow {
{ Q_OBJECT
Q_OBJECT
public:
public: MainWindow(QWidget *parent = nullptr);
MainWindow(QWidget *parent = nullptr); ~MainWindow();
~MainWindow();
private slots:
private slots: void on_openDirBtn_clicked();
void on_openDirBtn_clicked();
void on_startModifyBtn_clicked();
void on_startModifyBtn_clicked();
private:
private: void CreateDir();
void CreateDir(); void ReadDat(QString fileName);
void ReadDat(QString fileName); uint8_t IntToHex(int data);
uint8_t IntToHex(int data); quint16 GetCrcSum(quint8 *dataptr, quint16 len);
quint16 GetCrcSum(quint8 *dataptr, quint16 len); quint8 GetDataCheckCRC(quint8 *dataptr, quint16 len);
quint8 GetDataCheckCRC(quint8 *dataptr, quint16 len);
bool isLeapYear(int year);
bool isLeapYear(int year); bool isValidDay(int year, int month, int day);
bool isValidDay(int year, int month, int day);
QString GetOutputFileName(QString fileName, int year, int month, int day,
QString GetOutputFileName(QString fileName,int year,int month,int day); int hour, int minute, int second);
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
QString folderPath; QString folderPath;
QString outputDir; QString outputDir;
const quint8 CRCLIST[512]= const quint8 CRCLIST[512] = {
{ 0x0, 0x0, 0x89, 0x11, 0x12, 0x23, 0x9b, 0x32, 0x24, 0x46, 0xad, 0x57,
0x0,0x0,0x89,0x11,0x12,0x23,0x9b,0x32,0x24,0x46,0xad,0x57,0x36,0x65,0xbf,0x74, 0x36, 0x65, 0xbf, 0x74, 0x48, 0x8c, 0xc1, 0x9d, 0x5a, 0xaf, 0xd3, 0xbe,
0x48,0x8c,0xc1,0x9d,0x5a,0xaf,0xd3,0xbe,0x6c,0xca,0xe5,0xdb,0x7e,0xe9,0xf7,0xf8, 0x6c, 0xca, 0xe5, 0xdb, 0x7e, 0xe9, 0xf7, 0xf8, 0x81, 0x10, 0x8, 0x1,
0x81,0x10,0x8,0x1,0x93,0x33,0x1a,0x22,0xa5,0x56,0x2c,0x47,0xb7,0x75,0x3e,0x64, 0x93, 0x33, 0x1a, 0x22, 0xa5, 0x56, 0x2c, 0x47, 0xb7, 0x75, 0x3e, 0x64,
0xc9,0x9c,0x40,0x8d,0xdb,0xbf,0x52,0xae,0xed,0xda,0x64,0xcb,0xff,0xf9,0x76,0xe8, 0xc9, 0x9c, 0x40, 0x8d, 0xdb, 0xbf, 0x52, 0xae, 0xed, 0xda, 0x64, 0xcb,
0x2,0x21,0x8b,0x30,0x10,0x2,0x99,0x13,0x26,0x67,0xaf,0x76,0x34,0x44,0xbd,0x55, 0xff, 0xf9, 0x76, 0xe8, 0x2, 0x21, 0x8b, 0x30, 0x10, 0x2, 0x99, 0x13,
0x4a,0xad,0xc3,0xbc,0x58,0x8e,0xd1,0x9f,0x6e,0xeb,0xe7,0xfa,0x7c,0xc8,0xf5,0xd9, 0x26, 0x67, 0xaf, 0x76, 0x34, 0x44, 0xbd, 0x55, 0x4a, 0xad, 0xc3, 0xbc,
0x83,0x31,0xa,0x20,0x91,0x12,0x18,0x3,0xa7,0x77,0x2e,0x66,0xb5,0x54,0x3c,0x45, 0x58, 0x8e, 0xd1, 0x9f, 0x6e, 0xeb, 0xe7, 0xfa, 0x7c, 0xc8, 0xf5, 0xd9,
0xcb,0xbd,0x42,0xac,0xd9,0x9e,0x50,0x8f,0xef,0xfb,0x66,0xea,0xfd,0xd8,0x74,0xc9, 0x83, 0x31, 0xa, 0x20, 0x91, 0x12, 0x18, 0x3, 0xa7, 0x77, 0x2e, 0x66,
0x4,0x42,0x8d,0x53,0x16,0x61,0x9f,0x70,0x20,0x4,0xa9,0x15,0x32,0x27,0xbb,0x36, 0xb5, 0x54, 0x3c, 0x45, 0xcb, 0xbd, 0x42, 0xac, 0xd9, 0x9e, 0x50, 0x8f,
0x4c,0xce,0xc5,0xdf,0x5e,0xed,0xd7,0xfc,0x68,0x88,0xe1,0x99,0x7a,0xab,0xf3,0xba, 0xef, 0xfb, 0x66, 0xea, 0xfd, 0xd8, 0x74, 0xc9, 0x4, 0x42, 0x8d, 0x53,
0x85,0x52,0xc,0x43,0x97,0x71,0x1e,0x60,0xa1,0x14,0x28,0x5,0xb3,0x37,0x3a,0x26, 0x16, 0x61, 0x9f, 0x70, 0x20, 0x4, 0xa9, 0x15, 0x32, 0x27, 0xbb, 0x36,
0xcd,0xde,0x44,0xcf,0xdf,0xfd,0x56,0xec,0xe9,0x98,0x60,0x89,0xfb,0xbb,0x72,0xaa, 0x4c, 0xce, 0xc5, 0xdf, 0x5e, 0xed, 0xd7, 0xfc, 0x68, 0x88, 0xe1, 0x99,
0x6,0x63,0x8f,0x72,0x14,0x40,0x9d,0x51,0x22,0x25,0xab,0x34,0x30,0x6,0xb9,0x17, 0x7a, 0xab, 0xf3, 0xba, 0x85, 0x52, 0xc, 0x43, 0x97, 0x71, 0x1e, 0x60,
0x4e,0xef,0xc7,0xfe,0x5c,0xcc,0xd5,0xdd,0x6a,0xa9,0xe3,0xb8,0x78,0x8a,0xf1,0x9b, 0xa1, 0x14, 0x28, 0x5, 0xb3, 0x37, 0x3a, 0x26, 0xcd, 0xde, 0x44, 0xcf,
0x87,0x73,0xe,0x62,0x95,0x50,0x1c,0x41,0xa3,0x35,0x2a,0x24,0xb1,0x16,0x38,0x7, 0xdf, 0xfd, 0x56, 0xec, 0xe9, 0x98, 0x60, 0x89, 0xfb, 0xbb, 0x72, 0xaa,
0xcf,0xff,0x46,0xee,0xdd,0xdc,0x54,0xcd,0xeb,0xb9,0x62,0xa8,0xf9,0x9a,0x70,0x8b, 0x6, 0x63, 0x8f, 0x72, 0x14, 0x40, 0x9d, 0x51, 0x22, 0x25, 0xab, 0x34,
0x8,0x84,0x81,0x95,0x1a,0xa7,0x93,0xb6,0x2c,0xc2,0xa5,0xd3,0x3e,0xe1,0xb7,0xf0, 0x30, 0x6, 0xb9, 0x17, 0x4e, 0xef, 0xc7, 0xfe, 0x5c, 0xcc, 0xd5, 0xdd,
0x40,0x8,0xc9,0x19,0x52,0x2b,0xdb,0x3a,0x64,0x4e,0xed,0x5f,0x76,0x6d,0xff,0x7c, 0x6a, 0xa9, 0xe3, 0xb8, 0x78, 0x8a, 0xf1, 0x9b, 0x87, 0x73, 0xe, 0x62,
0x89,0x94,0x0,0x85,0x9b,0xb7,0x12,0xa6,0xad,0xd2,0x24,0xc3,0xbf,0xf1,0x36,0xe0, 0x95, 0x50, 0x1c, 0x41, 0xa3, 0x35, 0x2a, 0x24, 0xb1, 0x16, 0x38, 0x7,
0xc1,0x18,0x48,0x9,0xd3,0x3b,0x5a,0x2a,0xe5,0x5e,0x6c,0x4f,0xf7,0x7d,0x7e,0x6c, 0xcf, 0xff, 0x46, 0xee, 0xdd, 0xdc, 0x54, 0xcd, 0xeb, 0xb9, 0x62, 0xa8,
0xa,0xa5,0x83,0xb4,0x18,0x86,0x91,0x97,0x2e,0xe3,0xa7,0xf2,0x3c,0xc0,0xb5,0xd1, 0xf9, 0x9a, 0x70, 0x8b, 0x8, 0x84, 0x81, 0x95, 0x1a, 0xa7, 0x93, 0xb6,
0x42,0x29,0xcb,0x38,0x50,0xa,0xd9,0x1b,0x66,0x6f,0xef,0x7e,0x74,0x4c,0xfd,0x5d, 0x2c, 0xc2, 0xa5, 0xd3, 0x3e, 0xe1, 0xb7, 0xf0, 0x40, 0x8, 0xc9, 0x19,
0x8b,0xb5,0x2,0xa4,0x99,0x96,0x10,0x87,0xaf,0xf3,0x26,0xe2,0xbd,0xd0,0x34,0xc1, 0x52, 0x2b, 0xdb, 0x3a, 0x64, 0x4e, 0xed, 0x5f, 0x76, 0x6d, 0xff, 0x7c,
0xc3,0x39,0x4a,0x28,0xd1,0x1a,0x58,0xb,0xe7,0x7f,0x6e,0x6e,0xf5,0x5c,0x7c,0x4d, 0x89, 0x94, 0x0, 0x85, 0x9b, 0xb7, 0x12, 0xa6, 0xad, 0xd2, 0x24, 0xc3,
0xc,0xc6,0x85,0xd7,0x1e,0xe5,0x97,0xf4,0x28,0x80,0xa1,0x91,0x3a,0xa3,0xb3,0xb2, 0xbf, 0xf1, 0x36, 0xe0, 0xc1, 0x18, 0x48, 0x9, 0xd3, 0x3b, 0x5a, 0x2a,
0x44,0x4a,0xcd,0x5b,0x56,0x69,0xdf,0x78,0x60,0xc,0xe9,0x1d,0x72,0x2f,0xfb,0x3e, 0xe5, 0x5e, 0x6c, 0x4f, 0xf7, 0x7d, 0x7e, 0x6c, 0xa, 0xa5, 0x83, 0xb4,
0x8d,0xd6,0x4,0xc7,0x9f,0xf5,0x16,0xe4,0xa9,0x90,0x20,0x81,0xbb,0xb3,0x32,0xa2, 0x18, 0x86, 0x91, 0x97, 0x2e, 0xe3, 0xa7, 0xf2, 0x3c, 0xc0, 0xb5, 0xd1,
0xc5,0x5a,0x4c,0x4b,0xd7,0x79,0x5e,0x68,0xe1,0x1c,0x68,0xd,0xf3,0x3f,0x7a,0x2e, 0x42, 0x29, 0xcb, 0x38, 0x50, 0xa, 0xd9, 0x1b, 0x66, 0x6f, 0xef, 0x7e,
0xe,0xe7,0x87,0xf6,0x1c,0xc4,0x95,0xd5,0x2a,0xa1,0xa3,0xb0,0x38,0x82,0xb1,0x93, 0x74, 0x4c, 0xfd, 0x5d, 0x8b, 0xb5, 0x2, 0xa4, 0x99, 0x96, 0x10, 0x87,
0x46,0x6b,0xcf,0x7a,0x54,0x48,0xdd,0x59,0x62,0x2d,0xeb,0x3c,0x70,0xe,0xf9,0x1f, 0xaf, 0xf3, 0x26, 0xe2, 0xbd, 0xd0, 0x34, 0xc1, 0xc3, 0x39, 0x4a, 0x28,
0x8f,0xf7,0x6,0xe6,0x9d,0xd4,0x14,0xc5,0xab,0xb1,0x22,0xa0,0xb9,0x92,0x30,0x83, 0xd1, 0x1a, 0x58, 0xb, 0xe7, 0x7f, 0x6e, 0x6e, 0xf5, 0x5c, 0x7c, 0x4d,
0xc7,0x7b,0x4e,0x6a,0xd5,0x58,0x5c,0x49,0xe3,0x3d,0x6a,0x2c,0xf1,0x1e,0x78,0xf 0xc, 0xc6, 0x85, 0xd7, 0x1e, 0xe5, 0x97, 0xf4, 0x28, 0x80, 0xa1, 0x91,
}; 0x3a, 0xa3, 0xb3, 0xb2, 0x44, 0x4a, 0xcd, 0x5b, 0x56, 0x69, 0xdf, 0x78,
}; 0x60, 0xc, 0xe9, 0x1d, 0x72, 0x2f, 0xfb, 0x3e, 0x8d, 0xd6, 0x4, 0xc7,
#endif // MAINWINDOW_H 0x9f, 0xf5, 0x16, 0xe4, 0xa9, 0x90, 0x20, 0x81, 0xbb, 0xb3, 0x32, 0xa2,
0xc5, 0x5a, 0x4c, 0x4b, 0xd7, 0x79, 0x5e, 0x68, 0xe1, 0x1c, 0x68, 0xd,
0xf3, 0x3f, 0x7a, 0x2e, 0xe, 0xe7, 0x87, 0xf6, 0x1c, 0xc4, 0x95, 0xd5,
0x2a, 0xa1, 0xa3, 0xb0, 0x38, 0x82, 0xb1, 0x93, 0x46, 0x6b, 0xcf, 0x7a,
0x54, 0x48, 0xdd, 0x59, 0x62, 0x2d, 0xeb, 0x3c, 0x70, 0xe, 0xf9, 0x1f,
0x8f, 0xf7, 0x6, 0xe6, 0x9d, 0xd4, 0x14, 0xc5, 0xab, 0xb1, 0x22, 0xa0,
0xb9, 0x92, 0x30, 0x83, 0xc7, 0x7b, 0x4e, 0x6a, 0xd5, 0x58, 0x5c, 0x49,
0xe3, 0x3d, 0x6a, 0x2c, 0xf1, 0x1e, 0x78, 0xf};
};
#endif // MAINWINDOW_H

@ -1,131 +1,218 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>MainWindow</class> <class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow"> <widget class="QMainWindow" name="MainWindow">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>404</width> <width>404</width>
<height>181</height> <height>181</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>MainWindow</string> <string>MainWindow</string>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="openDirBtn"> <widget class="QPushButton" name="openDirBtn">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>80</x> <x>80</x>
<y>20</y> <y>20</y>
<width>92</width> <width>92</width>
<height>28</height> <height>28</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">
<string>打开文件夹</string> <string>打开文件夹</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>20</x> <x>20</x>
<y>70</y> <y>70</y>
<width>31</width> <width>31</width>
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">
<string>年:</string> <string>年:</string>
</property> </property>
</widget> </widget>
<widget class="QSpinBox" name="yearSpinBox"> <widget class="QSpinBox" name="yearSpinBox">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>50</x> <x>50</x>
<y>70</y> <y>70</y>
<width>50</width> <width>50</width>
<height>28</height> <height>28</height>
</rect> </rect>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>120</x> <x>120</x>
<y>70</y> <y>70</y>
<width>31</width> <width>31</width>
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">
<string>月:</string> <string>月:</string>
</property> </property>
</widget> </widget>
<widget class="QSpinBox" name="monthSpinBox"> <widget class="QSpinBox" name="monthSpinBox">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>150</x> <x>150</x>
<y>70</y> <y>70</y>
<width>50</width> <width>50</width>
<height>28</height> <height>28</height>
</rect> </rect>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>12</number> <number>12</number>
</property> </property>
</widget> </widget>
<widget class="QSpinBox" name="daySpinBox"> <widget class="QSpinBox" name="daySpinBox">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>250</x> <x>250</x>
<y>70</y> <y>70</y>
<width>50</width> <width>50</width>
<height>28</height> <height>28</height>
</rect> </rect>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>31</number> <number>31</number>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>220</x> <x>220</x>
<y>70</y> <y>70</y>
<width>31</width> <width>31</width>
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">
<string>日:</string> <string>日:</string>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="startModifyBtn"> <widget class="QPushButton" name="startModifyBtn">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>200</x> <x>200</x>
<y>20</y> <y>20</y>
<width>92</width> <width>92</width>
<height>28</height> <height>28</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">
<string>开始处理</string> <string>开始处理</string>
</property> </property>
</widget> </widget>
</widget> <widget class="QLabel" name="label_4">
</widget> <property name="geometry">
<resources/> <rect>
<connections/> <x>220</x>
</ui> <y>110</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>秒:</string>
</property>
</widget>
<widget class="QLabel" name="label_5">
<property name="geometry">
<rect>
<x>20</x>
<y>110</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>时:</string>
</property>
</widget>
<widget class="QSpinBox" name="secondSpinBox">
<property name="geometry">
<rect>
<x>250</x>
<y>110</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="maximum">
<number>59</number>
</property>
</widget>
<widget class="QSpinBox" name="hourSpinBox">
<property name="geometry">
<rect>
<x>50</x>
<y>110</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="maximum">
<number>23</number>
</property>
</widget>
<widget class="QSpinBox" name="minuteSpinBox">
<property name="geometry">
<rect>
<x>150</x>
<y>110</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="maximum">
<number>59</number>
</property>
</widget>
<widget class="QLabel" name="label_6">
<property name="geometry">
<rect>
<x>120</x>
<y>110</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>分:</string>
</property>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,2 @@
chcp 65001
"nmake.exe" %*

@ -0,0 +1,128 @@
/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created by: Qt User Interface Compiler version 5.15.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QWidget *centralwidget;
QPushButton *openDirBtn;
QLabel *label;
QSpinBox *yearSpinBox;
QLabel *label_2;
QSpinBox *monthSpinBox;
QSpinBox *daySpinBox;
QLabel *label_3;
QPushButton *startModifyBtn;
QLabel *label_4;
QLabel *label_5;
QSpinBox *secondSpinBox;
QSpinBox *hourSpinBox;
QSpinBox *minuteSpinBox;
QLabel *label_6;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(404, 181);
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
openDirBtn = new QPushButton(centralwidget);
openDirBtn->setObjectName(QString::fromUtf8("openDirBtn"));
openDirBtn->setGeometry(QRect(80, 20, 92, 28));
label = new QLabel(centralwidget);
label->setObjectName(QString::fromUtf8("label"));
label->setGeometry(QRect(20, 70, 31, 31));
yearSpinBox = new QSpinBox(centralwidget);
yearSpinBox->setObjectName(QString::fromUtf8("yearSpinBox"));
yearSpinBox->setGeometry(QRect(50, 70, 50, 28));
yearSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
label_2 = new QLabel(centralwidget);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setGeometry(QRect(120, 70, 31, 31));
monthSpinBox = new QSpinBox(centralwidget);
monthSpinBox->setObjectName(QString::fromUtf8("monthSpinBox"));
monthSpinBox->setGeometry(QRect(150, 70, 50, 28));
monthSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
monthSpinBox->setMaximum(12);
daySpinBox = new QSpinBox(centralwidget);
daySpinBox->setObjectName(QString::fromUtf8("daySpinBox"));
daySpinBox->setGeometry(QRect(250, 70, 50, 28));
daySpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
daySpinBox->setMaximum(31);
label_3 = new QLabel(centralwidget);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setGeometry(QRect(220, 70, 31, 31));
startModifyBtn = new QPushButton(centralwidget);
startModifyBtn->setObjectName(QString::fromUtf8("startModifyBtn"));
startModifyBtn->setGeometry(QRect(200, 20, 92, 28));
label_4 = new QLabel(centralwidget);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setGeometry(QRect(220, 110, 31, 31));
label_5 = new QLabel(centralwidget);
label_5->setObjectName(QString::fromUtf8("label_5"));
label_5->setGeometry(QRect(20, 110, 31, 31));
secondSpinBox = new QSpinBox(centralwidget);
secondSpinBox->setObjectName(QString::fromUtf8("secondSpinBox"));
secondSpinBox->setGeometry(QRect(250, 110, 50, 28));
secondSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
secondSpinBox->setMaximum(31);
hourSpinBox = new QSpinBox(centralwidget);
hourSpinBox->setObjectName(QString::fromUtf8("hourSpinBox"));
hourSpinBox->setGeometry(QRect(50, 110, 50, 28));
hourSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
minuteSpinBox = new QSpinBox(centralwidget);
minuteSpinBox->setObjectName(QString::fromUtf8("minuteSpinBox"));
minuteSpinBox->setGeometry(QRect(150, 110, 50, 28));
minuteSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
minuteSpinBox->setMaximum(12);
label_6 = new QLabel(centralwidget);
label_6->setObjectName(QString::fromUtf8("label_6"));
label_6->setGeometry(QRect(120, 110, 31, 31));
MainWindow->setCentralWidget(centralwidget);
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr));
openDirBtn->setText(QCoreApplication::translate("MainWindow", "\346\211\223\345\274\200\346\226\207\344\273\266\345\244\271", nullptr));
label->setText(QCoreApplication::translate("MainWindow", "\345\271\264\357\274\232", nullptr));
label_2->setText(QCoreApplication::translate("MainWindow", "\346\234\210\357\274\232", nullptr));
label_3->setText(QCoreApplication::translate("MainWindow", "\346\227\245\357\274\232", nullptr));
startModifyBtn->setText(QCoreApplication::translate("MainWindow", "\345\274\200\345\247\213\345\244\204\347\220\206", nullptr));
label_4->setText(QCoreApplication::translate("MainWindow", "\347\247\222\357\274\232", nullptr));
label_5->setText(QCoreApplication::translate("MainWindow", "\346\227\266\357\274\232", nullptr));
label_6->setText(QCoreApplication::translate("MainWindow", "\345\210\206\357\274\232", nullptr));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_MAINWINDOW_H
Loading…
Cancel
Save