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"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 12.0.1, 2024-01-10T18:39:15. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{8cfa9d78-659c-4111-ba1f-cc573f4fb26a}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</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.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">8</value>
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<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.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</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.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="SeparateDebugInfo">0</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<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>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 14.0.1, 2024-08-31T14:03:03. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{662fef76-68a1-43e8-a542-8c1ed6fdbc67}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</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.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<value type="bool" key="AutoTest.ApplyFilter">false</value>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">8</value>
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\ModifyDatTime\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\ModifyDatTime\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<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="PerfRecordArgsId">-e cpu-cycles --call-graph &quot;dwarf,4096&quot; -F 250</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/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</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 "ui_mainwindow.h"
#include <QFile>
#include <QDataStream>
#include <QByteArray>
#include <QDir>
#include <QFileDialog>
#include <QMessageBox>
#include <QDate>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
folderPath = "";
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::ReadDat(QString fileName)
{
int year = ui->yearSpinBox->value();
int month = ui->monthSpinBox->value();
int day = ui->daySpinBox->value();
//转化为16进制
uint8_t hexYear = IntToHex(year);
uint8_t hexMonth = IntToHex(month);
uint8_t hexDay = IntToHex(day);
//QString filename = outputDir+"/"+fileName;
// // 一个示例日期年月日分别为2023年、12月、3日
// QDate date(year+2000, month, day);
// // 将日期格式化为yymmdd
// QString formattedDate = date.toString("yyyyMMdd");
// //修改文件名的时间信息
// QString f1 = fileName;
// f1.remove(11,f1.length()-11);
// QString f2 = fileName;
// f2.remove(0,11+8);
// QString str = f1+formattedDate+f2;
QString outputFileName = GetOutputFileName(fileName,year,month,day);
//创建修改后的dat文件
QFile writeFile(outputDir+"/"+outputFileName);
QDataStream outStream;
if (writeFile.open(QIODevice::WriteOnly)) {
// 创建数据流,用于写入二进制数据
// outStream = QDataStream(&writeFile);
outStream.setDevice(&writeFile);
outStream.setByteOrder(QDataStream::LittleEndian);
}
int len = 265;
quint8 *data = new quint8[len];
QFile file1 = QFile(folderPath+"/"+fileName);
//QFile file1 = QFile("E:\\dat\\output\\下行遥测_0_1_0_20230619230109.dat");
file1.open(QIODevice::ReadOnly);
QDataStream readStream = QDataStream(&file1);
readStream.setVersion(QDataStream::Qt_5_15); //设置数据流的版本
readStream.setByteOrder(QDataStream::LittleEndian);
int i =0;
quint8* content = new quint8[28]; //创建一个28字节的数据缓冲区
// int sub1 = 0;
// int sub2 = 0;
while(!readStream.atEnd())
{
readStream.readRawData((char *)data, len); //读取一帧
// i++;
//四个子帧解析
// int id1 = 16;
// int id2 = id1+32;
// int id3 = id2+32;
// int id4 = id3+32;
int startID = 16;
for (int var = 0; var < 4; ++var) {
startID = 16 + 32*var;
// if(data[startID]!=0x23)
// qDebug()<<"************Zhen1:"<<data[startID];
// if(data[startID+1]!=0x23)
// qDebug()<<"************Zhen2:"<<data[startID];
quint8 zhenID = data[startID+4];
if(zhenID==0x87 || zhenID==0x89 || zhenID==0x8A)
{
// if(data[startID+17]==0x01)
// {
// //quint32 ss = quint32(data[startID+25] | (data[startID+26]<<8) | (data[startID+27]<<16) | (data[startID+28]<<24))*0.001;
// //qDebug()<<"************SS:"<<ss;
// quint8 vid = quint8(data[startID+29]);
// //qDebug()<<"************vid1:"<<vid;
// }
if(data[startID+17]==0x02) //子帧2
{
// quint8 d = quint8(data[startID+18]);
// quint8 m = quint8(data[startID+19]);
//quint8 y = quint8(data[startID+20]);
//qDebug()<<"************Year:"<<y;
// int a = 1;
//修改UTC年月日数据
if(hexDay>0)
data[startID+18] = hexDay;
if(hexMonth>0)
data[startID+19] = hexMonth;
if(hexYear>0)
data[startID+20] = hexYear;
//计算CRC16校验位
for(int i=0;i<28;i++)//提取数据帧内容
{
content[i] = data[startID+2+i];
}
quint16 crc = GetCrcSum(content,28);//计算校验码
// 提取高位和低位
quint8 highByte = static_cast<quint8>((crc >> 8) & 0xFF);
quint8 lowByte = static_cast<quint8>(crc & 0xFF);
//修改CRC校验位
data[startID+30] = lowByte;
data[startID+31] = highByte;
}
}
}
// bool b = data[16]==0x23;
// bool b1 = data[17]==0x23;
// bool b2 = data[18]==0x85;
//修改系统时间戳
if(hexYear>0)
data[2] = hexYear;
if(hexMonth>0)
data[3] = hexMonth;
if(hexDay>0)
data[4] = hexDay;
//修改最后校验位
data[len-1] = GetDataCheckCRC(data,len);
//写入文件
outStream.writeRawData((char *)data,len);
}
file1.close();
writeFile.close();
qDebug()<<"*********************i:"<<i;
}
uint8_t MainWindow::IntToHex(int data)
{
// 将十进制整数转换为十六进制表示
QByteArray hexData = QByteArray::number(data, 16);
// 将十六进制表示转换为 uint8_t 类型
bool ok;
return hexData.toUInt(&ok, 16);
}
/*******************************************************************************
GetCrcSum
CRC
CRC
*******************************************************************************/
quint16 MainWindow::GetCrcSum(quint8 *dataptr, quint16 len)
{
qint16 count = 0;
quint8 C0 = 0,C1 = 0,Y0 = 0,Y1 = 0,Z0 = 0,Z1 = 0;
C0=C1=Y0=Y1=Z0=Z1=0;
while(count < len)
{
Y0=(CRCLIST[2*(*dataptr)]^C1) & 0x00FF;
Y1=(CRCLIST[2*(*dataptr)+1]) & 0x00FF;
Z0=CRCLIST[2*C0] & 0x00FF;
Z1=CRCLIST[2*C0+1] & 0x00FF;
C0=(Y0^Z0) & 0x00FF;
C1=(Y1^Z1) & 0x00FF;
dataptr++;
count++;
}
return(C0+C1*256);/* return crc result */
}
quint8 MainWindow::GetDataCheckCRC(quint8 *dataptr, quint16 len)
{
quint8 sum = 0;
for(int i = 0;i<264;i++)
{
sum += quint8(dataptr[i]);
}
return quint8(~(sum & 0xFF)+1);
}
/**
*
*
* @param year
* @return truefalse
*/
bool MainWindow::isLeapYear(int year)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
/**
*
*
* @param year
* @param month
* @param day
* @return truefalse
*/
bool MainWindow::isValidDay(int year, int month, int day)
{
if (month == 2) {
if (isLeapYear(year)) {
if (day >= 1 && day <= 29) {
return true;
}
} else {
if (day >= 1 && day <= 28) {
return true;
}
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day >= 1 && day <= 30) {
return true;
}
} else {
if (day >= 1 && day <= 31) {
return true;
}
}
return false;
}
QString MainWindow::GetOutputFileName(QString fileName,int year, int month, int day)
{
//QString str = "下行遥测_0_17_0_20221114024453.dat";
QStringList strList = fileName.split("_");
QString endstr = strList.constLast();
QString lastStr = endstr.mid(8,-1);
if(year==0)
year = endstr.mid(0,4).toInt()-2000;
//QString year0 = endstr.mid(0,4);
if(month==0)
month = endstr.mid(4,2).toInt();
if(day==0)
day = endstr.mid(6,2).toInt();
// QString month = endstr.mid(4,2);
// QString day = endstr.mid(6,2);
// 一个示例日期年月日分别为2023年、12月、3日
QDate date(year+2000, month, day);
// 将日期格式化为yymmdd
QString formattedDate = date.toString("yyyyMMdd");
QString outputFileName = "";
strList.removeLast();
strList.append(formattedDate);
outputFileName = strList.join("_") + lastStr;
// for (int var = 0; var < strList.length()-2; ++var) {
// outputFileName += strList.at(var);
// }
return outputFileName;
}
void MainWindow::on_openDirBtn_clicked()
{
// 创建一个QFileDialog对象
QFileDialog dialog;
// 设置对话框的标题
dialog.setWindowTitle("Select Folder");
// 设置对话框模式为选择文件夹
dialog.setFileMode(QFileDialog::Directory);
// 打开对话框
if (dialog.exec()) {
// 获取用户选择的文件夹路径
folderPath = dialog.selectedFiles().at(0);
qDebug() << "Selected Folder: " << folderPath;
} else {
qDebug() << "User canceled the operation.";
}
}
void MainWindow::CreateDir()
{
// 创建一个QDir对象
QDir dir;
outputDir = folderPath+"/output";
// 设置目录路径
dir.setPath(outputDir);
// 创建文件夹
if (dir.mkpath(outputDir)) {
qDebug() << "Folder created successfully.";
} else {
qDebug() << "Failed to create folder.";
}
//QDir directory(folderPath+"/output");
}
void MainWindow::on_startModifyBtn_clicked()
{
int year = ui->yearSpinBox->value();
int month = ui->monthSpinBox->value();
int day = ui->daySpinBox->value();
if(year<=0&&month<=0&&day<=0)
{
QMessageBox::information(NULL,"提示","请设置要修改的年月日!!!");
return;
}
if(folderPath=="")
{
QMessageBox::information(NULL,"提示","请先设置文件夹!!!");
return;
}
// 检查Day是否正确
if(day>0 && !isValidDay(year+2000,month,day))
{
QMessageBox::information(NULL,"提示","日期有误,请重新设置!!!");
return;
}
// 创建一个 QDir 对象
QDir directory(folderPath);
// 获取文件夹中的所有文件
QStringList files = directory.entryList(QDir::Files);
int numFiles = files.length();
if(numFiles==0)
{
QMessageBox::information(NULL,"提示","该文件夹没有dat文件!!!");
return;
}
//新建output文件夹
CreateDir();
//开始处理
for (int n = 0; n < numFiles; ++n)
{
ReadDat(files.at(n));
}
QMessageBox::information(NULL,"提示","处理结束!!!");
}
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QByteArray>
#include <QDataStream>
#include <QDate>
#include <QDebug>
#include <QDir>
#include <QFile>
#include <QFileDialog>
#include <QMessageBox>
#include <QTime>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow) {
ui->setupUi(this);
ui->hourSpinBox->setMaximum(23);
ui->minuteSpinBox->setMaximum(59);
ui->secondSpinBox->setMaximum(59);
folderPath = "";
}
MainWindow::~MainWindow() { delete ui; }
void MainWindow::ReadDat(QString fileName) {
int year = ui->yearSpinBox->value();
int month = ui->monthSpinBox->value();
int day = ui->daySpinBox->value();
int hour = ui->hourSpinBox->value();
int minute = ui->minuteSpinBox->value();
int second = ui->secondSpinBox->value();
QTime time(hour, minute, second);
QDate date(year + 2000, month, day);
QDateTime targetTime(date, time);
// 转化为16进制
uint8_t hexYear = IntToHex(year);
uint8_t hexMonth = IntToHex(month);
uint8_t hexDay = IntToHex(day);
uint8_t hexHour = IntToHex(hour);
uint8_t hexMinute = IntToHex(minute);
uint8_t hexSecond = IntToHex(second);
// QString filename = outputDir+"/"+fileName;
// // 一个示例日期年月日分别为2023年、12月、3日
// QDate date(year+2000, month, day);
// // 将日期格式化为yymmdd
// QString formattedDate = date.toString("yyyyMMdd");
// //修改文件名的时间信息
// QString f1 = fileName;
// f1.remove(11,f1.length()-11);
// QString f2 = fileName;
// f2.remove(0,11+8);
// QString str = f1+formattedDate+f2;
QString outputFileName =
GetOutputFileName(fileName, year, month, day, hour, minute, second);
// 创建修改后的dat文件
QFile writeFile(outputDir + "/" + outputFileName);
QDataStream outStream;
if (writeFile.open(QIODevice::WriteOnly)) {
// 创建数据流,用于写入二进制数据
// outStream = QDataStream(&writeFile);
outStream.setDevice(&writeFile);
outStream.setByteOrder(QDataStream::LittleEndian);
}
int len = 265;
quint8 *data = new quint8[len];
QFile file1 = QFile(folderPath + "/" + fileName);
// QFile file1 = QFile("E:\\dat\\output\\下行遥测_0_1_0_20230619230109.dat");
file1.open(QIODevice::ReadOnly);
QDataStream readStream = QDataStream(&file1);
readStream.setVersion(QDataStream::Qt_5_15); // 设置数据流的版本
readStream.setByteOrder(QDataStream::LittleEndian);
int i = 0;
quint8 *content = new quint8[28]; // 创建一个28字节的数据缓冲区
// int sub1 = 0;
// int sub2 = 0;
bool bFirstTime = true;
qint64 offsetTime = 0;
while (!readStream.atEnd()) {
readStream.readRawData((char *)data, len); // 读取一帧
QTime time(data[5], data[6], data[7]);
QDate date(int(data[2]) + 2000, data[3], data[4]);
QDateTime curTime(date, time);
if (bFirstTime) {
offsetTime = curTime.secsTo(targetTime);
bFirstTime = false;
}
QTime tmp0 = curTime.time();
curTime = curTime.addSecs(offsetTime);
QTime tmp1 = curTime.time();
// i++;
// 四个子帧解析
// int id1 = 16;
// int id2 = id1+32;
// int id3 = id2+32;
// int id4 = id3+32;
int startID = 16;
for (int var = 0; var < 4; ++var) {
startID = 16 + 32 * var;
quint8 zhenID = data[startID + 4];
if (zhenID == 0x87 || zhenID == 0x89 || zhenID == 0x8A) {
if (data[startID + 17] == 0x02) // 子帧2
{
// QTime time(data[startID + 21], data[startID + 22],
// data[startID + 23]);
// QDate date(int(data[startID + 20]) + 2000, data[startID + 19],
// data[startID + 18]);
// QDateTime tmpTime(date, time);
// tmpTime = tmpTime.addSecs(offsetTime);
// 修改UTC年月日数据
if (hexDay > 0)
data[startID + 18] = hexDay;
if (hexMonth > 0)
data[startID + 19] = hexMonth;
if (hexYear > 0)
data[startID + 20] = hexYear;
// // 修改UTC时分秒数据
// if (hexHour > 0)
// data[startID + 21] = IntToHex(tmpTime.time().hour());
// if (hexMinute > 0)
// data[startID + 22] = IntToHex(tmpTime.time().minute());
// if (hexSecond > 0)
// data[startID + 23] = IntToHex(tmpTime.time().second());
// 计算CRC16校验位
for (int i = 0; i < 28; i++) // 提取数据帧内容
{
content[i] = data[startID + 2 + i];
}
quint16 crc = GetCrcSum(content, 28); // 计算校验码
// 提取高位和低位
quint8 highByte = static_cast<quint8>((crc >> 8) & 0xFF);
quint8 lowByte = static_cast<quint8>(crc & 0xFF);
// 修改CRC校验位
data[startID + 30] = lowByte;
data[startID + 31] = highByte;
}
}
}
// 修改系统时间戳
if (hexYear > 0)
data[2] = hexYear;
if (hexMonth > 0)
data[3] = hexMonth;
if (hexDay > 0)
data[4] = hexDay;
if (hexHour > 0)
data[5] = IntToHex(curTime.time().hour());
if (hexMinute > 0)
data[6] = IntToHex(curTime.time().minute());
if (hexSecond > 0)
data[7] = IntToHex(curTime.time().second());
// 修改最后校验位
data[len - 1] = GetDataCheckCRC(data, len);
// 写入文件
outStream.writeRawData((char *)data, len);
}
file1.close();
writeFile.close();
// qDebug()<<"*********************i:"<<i;
}
uint8_t MainWindow::IntToHex(int data) {
// 将十进制整数转换为十六进制表示
QByteArray hexData = QByteArray::number(data, 16);
// 将十六进制表示转换为 uint8_t 类型
bool ok;
return hexData.toUInt(&ok, 16);
}
/*******************************************************************************
GetCrcSum
CRC
CRC
*******************************************************************************/
quint16 MainWindow::GetCrcSum(quint8 *dataptr, quint16 len) {
qint16 count = 0;
quint8 C0 = 0, C1 = 0, Y0 = 0, Y1 = 0, Z0 = 0, Z1 = 0;
C0 = C1 = Y0 = Y1 = Z0 = Z1 = 0;
while (count < len) {
Y0 = (CRCLIST[2 * (*dataptr)] ^ C1) & 0x00FF;
Y1 = (CRCLIST[2 * (*dataptr) + 1]) & 0x00FF;
Z0 = CRCLIST[2 * C0] & 0x00FF;
Z1 = CRCLIST[2 * C0 + 1] & 0x00FF;
C0 = (Y0 ^ Z0) & 0x00FF;
C1 = (Y1 ^ Z1) & 0x00FF;
dataptr++;
count++;
}
return (C0 + C1 * 256); /* return crc result */
}
quint8 MainWindow::GetDataCheckCRC(quint8 *dataptr, quint16 len) {
quint8 sum = 0;
for (int i = 0; i < 264; i++) {
sum += quint8(dataptr[i]);
}
return quint8(~(sum & 0xFF) + 1);
}
/**
*
*
* @param year
* @return truefalse
*/
bool MainWindow::isLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
/**
*
*
* @param year
* @param month
* @param day
* @return truefalse
*/
bool MainWindow::isValidDay(int year, int month, int day) {
if (month == 2) {
if (isLeapYear(year)) {
if (day >= 1 && day <= 29) {
return true;
}
} else {
if (day >= 1 && day <= 28) {
return true;
}
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day >= 1 && day <= 30) {
return true;
}
} else {
if (day >= 1 && day <= 31) {
return true;
}
}
return false;
}
QString MainWindow::GetOutputFileName(QString fileName, int year, int month,
int day, int hour, int minute,
int second) {
// QString str = "下行遥测_0_17_0_20221114024453.dat";
QStringList strList = fileName.split("_");
QString endstr = strList.constLast();
QString lastStr = endstr.mid(14, -1);
if (year == 0)
year = endstr.mid(0, 4).toInt() - 2000;
// QString year0 = endstr.mid(0,4);
if (month == 0)
month = endstr.mid(4, 2).toInt();
if (day == 0)
day = endstr.mid(6, 2).toInt();
// QString month = endstr.mid(4,2);
// QString day = endstr.mid(6,2);
if (hour == 0)
hour = endstr.mid(8, 2).toInt();
if (minute == 0)
minute = endstr.mid(10, 2).toInt();
if (second == 0)
second = endstr.mid(12, 2).toInt();
// 一个示例日期年月日分别为2023年、12月、3日
QDate date(year + 2000, month, day);
// 将日期格式化为yymmdd
QString formattedDate = date.toString("yyyyMMdd");
QTime time(hour, minute, second);
QString formattedTime = time.toString("hhmmss");
QString outputFileName = "";
strList.removeLast();
strList.append(formattedDate + formattedTime);
outputFileName = strList.join("_") + lastStr;
// for (int var = 0; var < strList.length()-2; ++var) {
// outputFileName += strList.at(var);
// }
return outputFileName;
}
void MainWindow::on_openDirBtn_clicked() {
// 创建一个QFileDialog对象
QFileDialog dialog;
// 设置对话框的标题
dialog.setWindowTitle("Select Folder");
// 设置对话框模式为选择文件夹
dialog.setFileMode(QFileDialog::Directory);
// 打开对话框
if (dialog.exec()) {
// 获取用户选择的文件夹路径
folderPath = dialog.selectedFiles().at(0);
qDebug() << "Selected Folder: " << folderPath;
} else {
qDebug() << "User canceled the operation.";
}
}
void MainWindow::CreateDir() {
// 创建一个QDir对象
QDir dir;
outputDir = folderPath + "/output";
// 设置目录路径
dir.setPath(outputDir);
// 创建文件夹
if (dir.mkpath(outputDir)) {
qDebug() << "Folder created successfully.";
} else {
qDebug() << "Failed to create folder.";
}
// QDir directory(folderPath+"/output");
}
void MainWindow::on_startModifyBtn_clicked() {
int year = ui->yearSpinBox->value();
int month = ui->monthSpinBox->value();
int day = ui->daySpinBox->value();
if (year <= 0 && month <= 0 && day <= 0) {
QMessageBox::information(NULL, "提示", "请设置要修改的年月日!!!");
return;
}
if (folderPath == "") {
QMessageBox::information(NULL, "提示", "请先设置文件夹!!!");
return;
}
// 检查Day是否正确
if (day > 0 && !isValidDay(year + 2000, month, day)) {
QMessageBox::information(NULL, "提示", "日期有误,请重新设置!!!");
return;
}
// 创建一个 QDir 对象
QDir directory(folderPath);
// 获取文件夹中的所有文件
QStringList files = directory.entryList(QDir::Files);
int numFiles = files.length();
if (numFiles == 0) {
QMessageBox::information(NULL, "提示", "该文件夹没有dat文件!!!");
return;
}
// 新建output文件夹
CreateDir();
// 开始处理
for (int n = 0; n < numFiles; ++n) {
ReadDat(files.at(n));
}
QMessageBox::information(NULL, "提示", "处理结束!!!");
}

@ -1,78 +1,87 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QString>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_openDirBtn_clicked();
void on_startModifyBtn_clicked();
private:
void CreateDir();
void ReadDat(QString fileName);
uint8_t IntToHex(int data);
quint16 GetCrcSum(quint8 *dataptr, quint16 len);
quint8 GetDataCheckCRC(quint8 *dataptr, quint16 len);
bool isLeapYear(int year);
bool isValidDay(int year, int month, int day);
QString GetOutputFileName(QString fileName,int year,int month,int day);
private:
Ui::MainWindow *ui;
QString folderPath;
QString outputDir;
const quint8 CRCLIST[512]=
{
0x0,0x0,0x89,0x11,0x12,0x23,0x9b,0x32,0x24,0x46,0xad,0x57,0x36,0x65,0xbf,0x74,
0x48,0x8c,0xc1,0x9d,0x5a,0xaf,0xd3,0xbe,0x6c,0xca,0xe5,0xdb,0x7e,0xe9,0xf7,0xf8,
0x81,0x10,0x8,0x1,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,
0x2,0x21,0x8b,0x30,0x10,0x2,0x99,0x13,0x26,0x67,0xaf,0x76,0x34,0x44,0xbd,0x55,
0x4a,0xad,0xc3,0xbc,0x58,0x8e,0xd1,0x9f,0x6e,0xeb,0xe7,0xfa,0x7c,0xc8,0xf5,0xd9,
0x83,0x31,0xa,0x20,0x91,0x12,0x18,0x3,0xa7,0x77,0x2e,0x66,0xb5,0x54,0x3c,0x45,
0xcb,0xbd,0x42,0xac,0xd9,0x9e,0x50,0x8f,0xef,0xfb,0x66,0xea,0xfd,0xd8,0x74,0xc9,
0x4,0x42,0x8d,0x53,0x16,0x61,0x9f,0x70,0x20,0x4,0xa9,0x15,0x32,0x27,0xbb,0x36,
0x4c,0xce,0xc5,0xdf,0x5e,0xed,0xd7,0xfc,0x68,0x88,0xe1,0x99,0x7a,0xab,0xf3,0xba,
0x85,0x52,0xc,0x43,0x97,0x71,0x1e,0x60,0xa1,0x14,0x28,0x5,0xb3,0x37,0x3a,0x26,
0xcd,0xde,0x44,0xcf,0xdf,0xfd,0x56,0xec,0xe9,0x98,0x60,0x89,0xfb,0xbb,0x72,0xaa,
0x6,0x63,0x8f,0x72,0x14,0x40,0x9d,0x51,0x22,0x25,0xab,0x34,0x30,0x6,0xb9,0x17,
0x4e,0xef,0xc7,0xfe,0x5c,0xcc,0xd5,0xdd,0x6a,0xa9,0xe3,0xb8,0x78,0x8a,0xf1,0x9b,
0x87,0x73,0xe,0x62,0x95,0x50,0x1c,0x41,0xa3,0x35,0x2a,0x24,0xb1,0x16,0x38,0x7,
0xcf,0xff,0x46,0xee,0xdd,0xdc,0x54,0xcd,0xeb,0xb9,0x62,0xa8,0xf9,0x9a,0x70,0x8b,
0x8,0x84,0x81,0x95,0x1a,0xa7,0x93,0xb6,0x2c,0xc2,0xa5,0xd3,0x3e,0xe1,0xb7,0xf0,
0x40,0x8,0xc9,0x19,0x52,0x2b,0xdb,0x3a,0x64,0x4e,0xed,0x5f,0x76,0x6d,0xff,0x7c,
0x89,0x94,0x0,0x85,0x9b,0xb7,0x12,0xa6,0xad,0xd2,0x24,0xc3,0xbf,0xf1,0x36,0xe0,
0xc1,0x18,0x48,0x9,0xd3,0x3b,0x5a,0x2a,0xe5,0x5e,0x6c,0x4f,0xf7,0x7d,0x7e,0x6c,
0xa,0xa5,0x83,0xb4,0x18,0x86,0x91,0x97,0x2e,0xe3,0xa7,0xf2,0x3c,0xc0,0xb5,0xd1,
0x42,0x29,0xcb,0x38,0x50,0xa,0xd9,0x1b,0x66,0x6f,0xef,0x7e,0x74,0x4c,0xfd,0x5d,
0x8b,0xb5,0x2,0xa4,0x99,0x96,0x10,0x87,0xaf,0xf3,0x26,0xe2,0xbd,0xd0,0x34,0xc1,
0xc3,0x39,0x4a,0x28,0xd1,0x1a,0x58,0xb,0xe7,0x7f,0x6e,0x6e,0xf5,0x5c,0x7c,0x4d,
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,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
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QString>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_openDirBtn_clicked();
void on_startModifyBtn_clicked();
private:
void CreateDir();
void ReadDat(QString fileName);
uint8_t IntToHex(int data);
quint16 GetCrcSum(quint8 *dataptr, quint16 len);
quint8 GetDataCheckCRC(quint8 *dataptr, quint16 len);
bool isLeapYear(int year);
bool isValidDay(int year, int month, int day);
QString GetOutputFileName(QString fileName, int year, int month, int day,
int hour, int minute, int second);
private:
Ui::MainWindow *ui;
QString folderPath;
QString outputDir;
const quint8 CRCLIST[512] = {
0x0, 0x0, 0x89, 0x11, 0x12, 0x23, 0x9b, 0x32, 0x24, 0x46, 0xad, 0x57,
0x36, 0x65, 0xbf, 0x74, 0x48, 0x8c, 0xc1, 0x9d, 0x5a, 0xaf, 0xd3, 0xbe,
0x6c, 0xca, 0xe5, 0xdb, 0x7e, 0xe9, 0xf7, 0xf8, 0x81, 0x10, 0x8, 0x1,
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, 0x2, 0x21, 0x8b, 0x30, 0x10, 0x2, 0x99, 0x13,
0x26, 0x67, 0xaf, 0x76, 0x34, 0x44, 0xbd, 0x55, 0x4a, 0xad, 0xc3, 0xbc,
0x58, 0x8e, 0xd1, 0x9f, 0x6e, 0xeb, 0xe7, 0xfa, 0x7c, 0xc8, 0xf5, 0xd9,
0x83, 0x31, 0xa, 0x20, 0x91, 0x12, 0x18, 0x3, 0xa7, 0x77, 0x2e, 0x66,
0xb5, 0x54, 0x3c, 0x45, 0xcb, 0xbd, 0x42, 0xac, 0xd9, 0x9e, 0x50, 0x8f,
0xef, 0xfb, 0x66, 0xea, 0xfd, 0xd8, 0x74, 0xc9, 0x4, 0x42, 0x8d, 0x53,
0x16, 0x61, 0x9f, 0x70, 0x20, 0x4, 0xa9, 0x15, 0x32, 0x27, 0xbb, 0x36,
0x4c, 0xce, 0xc5, 0xdf, 0x5e, 0xed, 0xd7, 0xfc, 0x68, 0x88, 0xe1, 0x99,
0x7a, 0xab, 0xf3, 0xba, 0x85, 0x52, 0xc, 0x43, 0x97, 0x71, 0x1e, 0x60,
0xa1, 0x14, 0x28, 0x5, 0xb3, 0x37, 0x3a, 0x26, 0xcd, 0xde, 0x44, 0xcf,
0xdf, 0xfd, 0x56, 0xec, 0xe9, 0x98, 0x60, 0x89, 0xfb, 0xbb, 0x72, 0xaa,
0x6, 0x63, 0x8f, 0x72, 0x14, 0x40, 0x9d, 0x51, 0x22, 0x25, 0xab, 0x34,
0x30, 0x6, 0xb9, 0x17, 0x4e, 0xef, 0xc7, 0xfe, 0x5c, 0xcc, 0xd5, 0xdd,
0x6a, 0xa9, 0xe3, 0xb8, 0x78, 0x8a, 0xf1, 0x9b, 0x87, 0x73, 0xe, 0x62,
0x95, 0x50, 0x1c, 0x41, 0xa3, 0x35, 0x2a, 0x24, 0xb1, 0x16, 0x38, 0x7,
0xcf, 0xff, 0x46, 0xee, 0xdd, 0xdc, 0x54, 0xcd, 0xeb, 0xb9, 0x62, 0xa8,
0xf9, 0x9a, 0x70, 0x8b, 0x8, 0x84, 0x81, 0x95, 0x1a, 0xa7, 0x93, 0xb6,
0x2c, 0xc2, 0xa5, 0xd3, 0x3e, 0xe1, 0xb7, 0xf0, 0x40, 0x8, 0xc9, 0x19,
0x52, 0x2b, 0xdb, 0x3a, 0x64, 0x4e, 0xed, 0x5f, 0x76, 0x6d, 0xff, 0x7c,
0x89, 0x94, 0x0, 0x85, 0x9b, 0xb7, 0x12, 0xa6, 0xad, 0xd2, 0x24, 0xc3,
0xbf, 0xf1, 0x36, 0xe0, 0xc1, 0x18, 0x48, 0x9, 0xd3, 0x3b, 0x5a, 0x2a,
0xe5, 0x5e, 0x6c, 0x4f, 0xf7, 0x7d, 0x7e, 0x6c, 0xa, 0xa5, 0x83, 0xb4,
0x18, 0x86, 0x91, 0x97, 0x2e, 0xe3, 0xa7, 0xf2, 0x3c, 0xc0, 0xb5, 0xd1,
0x42, 0x29, 0xcb, 0x38, 0x50, 0xa, 0xd9, 0x1b, 0x66, 0x6f, 0xef, 0x7e,
0x74, 0x4c, 0xfd, 0x5d, 0x8b, 0xb5, 0x2, 0xa4, 0x99, 0x96, 0x10, 0x87,
0xaf, 0xf3, 0x26, 0xe2, 0xbd, 0xd0, 0x34, 0xc1, 0xc3, 0x39, 0x4a, 0x28,
0xd1, 0x1a, 0x58, 0xb, 0xe7, 0x7f, 0x6e, 0x6e, 0xf5, 0x5c, 0x7c, 0x4d,
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,
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"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>404</width>
<height>181</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="openDirBtn">
<property name="geometry">
<rect>
<x>80</x>
<y>20</y>
<width>92</width>
<height>28</height>
</rect>
</property>
<property name="text">
<string>打开文件夹</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>20</x>
<y>70</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>年:</string>
</property>
</widget>
<widget class="QSpinBox" name="yearSpinBox">
<property name="geometry">
<rect>
<x>50</x>
<y>70</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>120</x>
<y>70</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>月:</string>
</property>
</widget>
<widget class="QSpinBox" name="monthSpinBox">
<property name="geometry">
<rect>
<x>150</x>
<y>70</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="maximum">
<number>12</number>
</property>
</widget>
<widget class="QSpinBox" name="daySpinBox">
<property name="geometry">
<rect>
<x>250</x>
<y>70</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="maximum">
<number>31</number>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>220</x>
<y>70</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>日:</string>
</property>
</widget>
<widget class="QPushButton" name="startModifyBtn">
<property name="geometry">
<rect>
<x>200</x>
<y>20</y>
<width>92</width>
<height>28</height>
</rect>
</property>
<property name="text">
<string>开始处理</string>
</property>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>404</width>
<height>181</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="openDirBtn">
<property name="geometry">
<rect>
<x>80</x>
<y>20</y>
<width>92</width>
<height>28</height>
</rect>
</property>
<property name="text">
<string>打开文件夹</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>20</x>
<y>70</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>年:</string>
</property>
</widget>
<widget class="QSpinBox" name="yearSpinBox">
<property name="geometry">
<rect>
<x>50</x>
<y>70</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>120</x>
<y>70</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>月:</string>
</property>
</widget>
<widget class="QSpinBox" name="monthSpinBox">
<property name="geometry">
<rect>
<x>150</x>
<y>70</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="maximum">
<number>12</number>
</property>
</widget>
<widget class="QSpinBox" name="daySpinBox">
<property name="geometry">
<rect>
<x>250</x>
<y>70</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="maximum">
<number>31</number>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>220</x>
<y>70</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>日:</string>
</property>
</widget>
<widget class="QPushButton" name="startModifyBtn">
<property name="geometry">
<rect>
<x>200</x>
<y>20</y>
<width>92</width>
<height>28</height>
</rect>
</property>
<property name="text">
<string>开始处理</string>
</property>
</widget>
<widget class="QLabel" name="label_4">
<property name="geometry">
<rect>
<x>220</x>
<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