transactd 1.2.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/BUILD_UNIX-JA +46 -67
- data/BUILD_WIN-JA +106 -63
- data/CMakeLists.txt +40 -15
- data/README +219 -75
- data/README-JA +207 -76
- data/README_ORMSRCGEN +118 -0
- data/README_ORMSRCGEN-JA +115 -0
- data/bin/common/tdclc_32_2_0.dll +0 -0
- data/bin/common/tdclc_64_2_0.dll +0 -0
- data/build/common/check_for_link_iconv.cmake +18 -14
- data/build/common/create_symlink.cmake.in +25 -0
- data/build/common/get_boost_libs.cmake +23 -23
- data/build/common/options.cmake +0 -66
- data/build/common/smart_install.cmake +3 -3
- data/build/common/transactd.rc.in +15 -5
- data/build/common/transactd_cl_common.cmake +37 -18
- data/build/common/transactd_cl_output.cmake +55 -13
- data/build/common/transactd_common.cmake +108 -31
- data/build/swig/php/generate.cmake.in +15 -17
- data/build/swig/php/generate.cmd.in +15 -9
- data/build/swig/php/php.swg +124 -82
- data/build/swig/php/transactd.no_yield.php +4494 -0
- data/build/swig/php/transactd.no_yield.php.git.patch +685 -0
- data/build/swig/php/transactd.no_yield.php.patch +685 -0
- data/build/swig/php/transactd.yield.php +4461 -0
- data/build/swig/php/transactd.yield.php.git.patch +652 -0
- data/build/swig/php/transactd.yield.php.patch +652 -0
- data/build/swig/referencecounter.h +79 -0
- data/build/swig/ruby/ruby.swg +226 -76
- data/build/swig/ruby/threadBlockRegionWrapper.h +71 -0
- data/build/swig/ruby/without_gvl.swg +87 -0
- data/build/swig/tdcl.i +659 -170
- data/build/swig/validatablepointer.h +91 -0
- data/build/tdclc/CMakeLists.txt +49 -34
- data/build/tdclc/{tdclc_64.cbproj → tdclc.cbproj} +65 -20
- data/build/tdclc/tdclc.rc +0 -0
- data/build/tdclcpp/CMakeLists.txt +84 -20
- data/build/tdclcpp/tdclcpp.rc +0 -0
- data/build/tdclcpp/{tdclcpp_bcb_64.cbproj → tdclcpp_bc.cbproj} +168 -44
- data/build/tdclrb/CMakeLists.txt +84 -66
- data/build/tdclrb/bldgem/extconf.rb +28 -3
- data/build/tdclrb/gem/helper.rb +11 -1
- data/build/tdclrb/gem_output.cmake +20 -16
- data/index_ja.html +15 -0
- data/source/bzs/db/IBlobBuffer.h +15 -17
- data/source/bzs/db/blobBuffer.h +186 -140
- data/source/bzs/db/blobStructs.h +37 -37
- data/source/bzs/db/engine/mysql/IReadRecords.h +34 -34
- data/source/bzs/db/engine/mysql/bookmark.h +150 -147
- data/source/bzs/db/engine/mysql/database.cpp +1721 -1526
- data/source/bzs/db/engine/mysql/database.h +608 -370
- data/source/bzs/db/engine/mysql/dbManager.cpp +213 -201
- data/source/bzs/db/engine/mysql/dbManager.h +115 -104
- data/source/bzs/db/engine/mysql/errorMessage.cpp +49 -50
- data/source/bzs/db/engine/mysql/errorMessage.h +25 -26
- data/source/bzs/db/engine/mysql/fieldAccess.h +55 -61
- data/source/bzs/db/engine/mysql/mydebuglog.cpp +326 -292
- data/source/bzs/db/engine/mysql/mydebuglog.h +63 -55
- data/source/bzs/db/engine/mysql/mysqlInternal.h +182 -125
- data/source/bzs/db/engine/mysql/mysqlThd.cpp +121 -121
- data/source/bzs/db/engine/mysql/mysqlThd.h +20 -20
- data/source/bzs/db/engine/mysql/percentageKey.h +241 -228
- data/source/bzs/db/protocol/ICommandExecuter.h +18 -17
- data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +543 -514
- data/source/bzs/db/protocol/hs/hsCommandExecuter.h +155 -158
- data/source/bzs/db/protocol/tdap/btrDate.cpp +213 -180
- data/source/bzs/db/protocol/tdap/btrDate.h +39 -37
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +173 -0
- data/source/bzs/db/protocol/tdap/client/activeTable.h +165 -0
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +370 -0
- data/source/bzs/db/protocol/tdap/client/bulkInsert.h +13 -23
- data/source/bzs/db/protocol/tdap/client/client.cpp +81 -68
- data/source/bzs/db/protocol/tdap/client/client.h +361 -320
- data/source/bzs/db/protocol/tdap/client/connMgr.cpp +17 -22
- data/source/bzs/db/protocol/tdap/client/connMgr.h +17 -19
- data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +243 -0
- data/source/bzs/db/protocol/tdap/client/connectionPool.h +109 -0
- data/source/bzs/db/protocol/tdap/client/database.cpp +327 -219
- data/source/bzs/db/protocol/tdap/client/database.h +141 -118
- data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +60 -62
- data/source/bzs/db/protocol/tdap/client/databaseManager.h +255 -0
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +315 -202
- data/source/bzs/db/protocol/tdap/client/dbDef.h +40 -32
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +390 -371
- data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +148 -56
- data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +149 -57
- data/source/bzs/db/protocol/tdap/client/export.h +35 -0
- data/source/bzs/db/protocol/tdap/client/field.cpp +1985 -0
- data/source/bzs/db/protocol/tdap/client/field.h +393 -0
- data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +14 -14
- data/source/bzs/db/protocol/tdap/client/fieldDDF.h +11 -14
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +123 -0
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +58 -0
- data/source/bzs/db/protocol/tdap/client/fields.h +178 -0
- data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +13 -16
- data/source/bzs/db/protocol/tdap/client/fileDDF.h +11 -17
- data/source/bzs/db/protocol/tdap/client/filter.h +423 -259
- data/source/bzs/db/protocol/tdap/client/groupComp.h +117 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +818 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +281 -0
- data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +14 -17
- data/source/bzs/db/protocol/tdap/client/indexDDF.h +11 -14
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +231 -0
- data/source/bzs/db/protocol/tdap/client/memRecord.h +145 -0
- data/source/bzs/db/protocol/tdap/client/memRecordset.cpp +448 -0
- data/source/bzs/db/protocol/tdap/client/memRecordset.h +159 -0
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +300 -173
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +53 -36
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +171 -128
- data/source/bzs/db/protocol/tdap/client/nsTable.h +121 -87
- data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +173 -0
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +209 -0
- data/source/bzs/db/protocol/tdap/client/recordset.h +86 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +596 -0
- data/source/bzs/db/protocol/tdap/client/request.h +227 -170
- data/source/bzs/db/protocol/tdap/client/serializer.cpp +1288 -0
- data/source/bzs/db/protocol/tdap/client/serializer.h +295 -0
- data/source/bzs/db/protocol/tdap/client/sharedData.cpp +9 -12
- data/source/bzs/db/protocol/tdap/client/sharedData.h +18 -16
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +494 -473
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +51 -53
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +214 -148
- data/source/bzs/db/protocol/tdap/client/table.cpp +929 -1665
- data/source/bzs/db/protocol/tdap/client/table.h +413 -87
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +642 -534
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +25 -40
- data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +11 -15
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +378 -437
- data/source/bzs/db/protocol/tdap/client/trnsctcl.def +1 -1
- data/source/bzs/db/protocol/tdap/fieldComp.h +127 -0
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +352 -345
- data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +75 -78
- data/source/bzs/db/protocol/tdap/mysql/characterset.h +18 -19
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +216 -199
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +23 -14
- data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +354 -314
- data/source/bzs/db/protocol/tdap/mysql/debuglog.h +57 -47
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +905 -739
- data/source/bzs/db/protocol/tdap/mysql/request.h +152 -159
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1044 -879
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +87 -81
- data/source/bzs/db/protocol/tdap/tdapRequest.h +162 -130
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +368 -166
- data/source/bzs/db/protocol/tdap/tdapSchema.h +702 -566
- data/source/bzs/db/protocol/tdap/tdapcapi.h +387 -353
- data/source/bzs/db/transactd/appBuilderImple.h +21 -20
- data/source/bzs/db/transactd/appModule.cpp +350 -98
- data/source/bzs/db/transactd/appModule.h +31 -37
- data/source/bzs/db/transactd/connManager.cpp +138 -135
- data/source/bzs/db/transactd/connManager.h +28 -21
- data/source/bzs/db/transactd/connectionRecord.h +39 -39
- data/source/bzs/db/transactd/transactd.cpp +217 -203
- data/source/bzs/env/boost_bcb_link.h +131 -0
- data/source/bzs/env/compiler.h +136 -79
- data/source/bzs/env/crosscompile.cpp +57 -57
- data/source/bzs/env/crosscompile.h +130 -115
- data/source/bzs/env/fileopen.h +7 -8
- data/source/bzs/env/mbcswchrLinux.cpp +4 -9
- data/source/bzs/env/mbcswchrLinux.h +37 -34
- data/source/bzs/env/tcharMinGW.h +59 -0
- data/source/bzs/env/tstring.h +90 -95
- data/source/bzs/example/changeSchema.cpp +22 -23
- data/source/bzs/example/changeSchema_c.cpp +22 -24
- data/source/bzs/example/connection_pool_c.cpp +49 -104
- data/source/bzs/example/createDatabase.cpp +40 -47
- data/source/bzs/example/createDatabase_c.cpp +38 -43
- data/source/bzs/example/deleteRecords.cpp +10 -15
- data/source/bzs/example/deleteRecords_c.cpp +10 -14
- data/source/bzs/example/dropDatabase.cpp +3 -9
- data/source/bzs/example/dropDatabase_c.cpp +5 -6
- data/source/bzs/example/insertRecords.cpp +37 -29
- data/source/bzs/example/insertRecords_c.cpp +19 -25
- data/source/bzs/example/ormap_c.cpp +621 -0
- data/source/bzs/example/queryData.cpp +371 -0
- data/source/bzs/example/queryData.h +16 -0
- data/source/bzs/example/query_c.cpp +109 -0
- data/source/bzs/example/readRecords.cpp +27 -27
- data/source/bzs/example/readRecords_c.cpp +25 -23
- data/source/bzs/example/updateRecords.cpp +16 -21
- data/source/bzs/example/updateRecords_c.cpp +8 -12
- data/source/bzs/example/update_with_transaction.cpp +21 -24
- data/source/bzs/example/update_with_transaction_c.cpp +12 -15
- data/source/bzs/example/useORMRecord.cpp +177 -0
- data/source/bzs/netsvc/client/tcpClient.cpp +167 -156
- data/source/bzs/netsvc/client/tcpClient.h +541 -489
- data/source/bzs/netsvc/server/IAppModule.h +119 -32
- data/source/bzs/netsvc/server/iserver.h +21 -23
- data/source/bzs/netsvc/server/serverCpt.cpp +421 -391
- data/source/bzs/netsvc/server/serverCpt.h +41 -43
- data/source/bzs/netsvc/server/serverPipe.cpp +580 -565
- data/source/bzs/netsvc/server/serverPipe.h +44 -45
- data/source/bzs/netsvc/server/serverTpool.cpp +333 -303
- data/source/bzs/netsvc/server/serverTpool.h +38 -43
- data/source/bzs/rtl/benchmark.cpp +91 -31
- data/source/bzs/rtl/benchmark.h +76 -22
- data/source/bzs/rtl/datetime.cpp +231 -233
- data/source/bzs/rtl/datetime.h +16 -16
- data/source/bzs/rtl/debuglog.cpp +48 -51
- data/source/bzs/rtl/debuglog.h +55 -44
- data/source/bzs/rtl/exception.h +55 -48
- data/source/bzs/rtl/stl_uty.cpp +27 -28
- data/source/bzs/rtl/stl_uty.h +28 -29
- data/source/bzs/rtl/stringBuffers.cpp +8 -6
- data/source/bzs/rtl/stringBuffers.h +16 -9
- data/source/bzs/rtl/strtrim.cpp +90 -91
- data/source/bzs/rtl/strtrim.h +14 -16
- data/source/bzs/test/tdclatl/bench_query_atl.js +647 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +303 -303
- data/source/bzs/test/tdclatl/test_query_atl.js +669 -0
- data/source/bzs/test/tdclphp/bench.php +357 -0
- data/source/bzs/test/tdclphp/transactd_Test.php +907 -303
- data/source/bzs/test/tdclphp/transactd_blob_Test.php +21 -49
- data/source/bzs/test/tdclphp/transactd_datetime_Test.php +41 -75
- data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +23 -37
- data/source/bzs/test/tdclphp/transactd_pool_Test.php +120 -0
- data/source/bzs/test/tdclrb/bench_tdclcpp.rb +4 -6
- data/source/bzs/test/tdclrb/prepare.rb +15 -12
- data/source/bzs/test/tdclrb/transactd_blob_spec.rb +29 -32
- data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -29
- data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +18 -19
- data/source/bzs/test/tdclrb/transactd_pool_spec.rb +107 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +734 -142
- data/source/bzs/test/transactdBench/query_bench.cpp +156 -0
- data/source/bzs/test/transactdBench/scaling_bench.cpp +265 -0
- data/source/bzs/test/transactdBench/transactdBench.cpp +107 -83
- data/source/bzs/test/transactdBench/transactdBench2.cpp +122 -83
- data/source/bzs/test/transactdBench/workerBase.cpp +5 -0
- data/source/bzs/test/transactdBench/workerBase.h +88 -0
- data/source/bzs/test/transactdBench/workerMySQLImple.h +333 -0
- data/source/bzs/test/transactdBench/workerTransactdImple.h +201 -0
- data/source/bzs/test/trdclengn/test_blob.cpp +121 -73
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +1244 -426
- data/source/global/ormsrcgen/confParam.h +80 -0
- data/source/global/ormsrcgen/fieldName.cpp +77 -0
- data/source/global/ormsrcgen/fieldName.h +43 -0
- data/source/global/ormsrcgen/main.cpp +196 -0
- data/source/global/ormsrcgen/srcgen.cpp +763 -0
- data/source/global/ormsrcgen/srcgen.h +72 -0
- data/source/global/ormsrcgen/template/fieldNameList_sample.txt +2 -0
- data/source/global/ormsrcgen/template/ormDataClass_template.cpp +48 -0
- data/source/global/ormsrcgen/template/ormDataClass_template.h +34 -0
- data/source/global/ormsrcgen/template/ormMapClass_template.cpp +51 -0
- data/source/global/ormsrcgen/template/ormMapClass_template.h +62 -0
- data/source/global/ormsrcgen/template/template.cnf +38 -0
- data/source/global/querystmts/querystmts.cpp +237 -0
- data/source/global/tdclatl/ConnectParams.cpp +77 -0
- data/source/global/tdclatl/ConnectParams.h +70 -0
- data/source/global/tdclatl/Database.cpp +132 -128
- data/source/global/tdclatl/Database.h +60 -49
- data/source/global/tdclatl/DbDef.cpp +68 -64
- data/source/global/tdclatl/DbDef.h +36 -36
- data/source/global/tdclatl/Field.cpp +12 -17
- data/source/global/tdclatl/Field.h +15 -12
- data/source/global/tdclatl/FieldDef.cpp +75 -36
- data/source/global/tdclatl/FieldDef.h +38 -19
- data/source/global/tdclatl/FieldDefs.cpp +74 -0
- data/source/global/tdclatl/FieldDefs.h +56 -0
- data/source/global/tdclatl/FieldNames.cpp +99 -0
- data/source/global/tdclatl/FieldNames.h +66 -0
- data/source/global/tdclatl/Flags.cpp +75 -37
- data/source/global/tdclatl/Flags.h +13 -12
- data/source/global/tdclatl/GroupQuery.cpp +119 -0
- data/source/global/tdclatl/GroupQuery.h +65 -0
- data/source/global/tdclatl/KeyDef.cpp +15 -14
- data/source/global/tdclatl/KeyDef.h +20 -17
- data/source/global/tdclatl/KeySegment.cpp +13 -12
- data/source/global/tdclatl/PooledDbManager.cpp +223 -0
- data/source/global/tdclatl/PooledDbManager.h +76 -0
- data/source/global/tdclatl/QueryBase.cpp +206 -127
- data/source/global/tdclatl/QueryBase.h +55 -59
- data/source/global/tdclatl/Record.cpp +214 -0
- data/source/global/tdclatl/Record.h +96 -0
- data/source/global/tdclatl/Recordset.cpp +278 -0
- data/source/global/tdclatl/Recordset.h +83 -0
- data/source/global/tdclatl/RecordsetQuery.cpp +118 -0
- data/source/global/tdclatl/RecordsetQuery.h +126 -0
- data/source/global/tdclatl/Table.cpp +57 -60
- data/source/global/tdclatl/Table.h +32 -29
- data/source/global/tdclatl/TableDef.cpp +63 -62
- data/source/global/tdclatl/TableDef.h +20 -22
- data/source/global/tdclatl/TdVersion.cpp +3 -3
- data/source/global/tdclatl/TdVersion.h +15 -11
- data/source/global/tdclatl/_IDatabaseEvents_CP.h +99 -92
- data/source/global/tdclatl/activeTable.cpp +355 -0
- data/source/global/tdclatl/activeTable.h +79 -0
- data/source/global/tdclatl/dllmain.cpp +4 -3
- data/source/global/tdclatl/dllmain.h +7 -6
- data/source/global/tdclatl/keySegment.h +22 -18
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/stdafx.h +6 -4
- data/source/global/tdclatl/targetver.h +0 -1
- data/source/global/tdclatl/tdclatl.cpp +10 -5
- data/source/global/tdclatl/tdclatl.idl +530 -14
- data/source/linux/charsetConvert.h +78 -79
- data/source/linux/linuxTypes.h +9 -12
- data/source/linux/tchar.h +168 -166
- data/transactd.gemspec +24 -16
- metadata +98 -12
- data/bin/common/tdclc_32_1_2.dll +0 -0
- data/bin/common/tdclc_64_1_2.dll +0 -0
- data/build/tdclc/tdclc_32.cbproj +0 -173
- data/build/tdclcpp/tdclcpp_bcb_32.cbproj +0 -232
- data/build/tdclrb/GEM_VERSION +0 -3
- data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -43
- data/source/bzs/example/useORM.cpp +0 -585
|
@@ -12,20 +12,16 @@
|
|
|
12
12
|
GNU General Public License for more details.
|
|
13
13
|
|
|
14
14
|
You should have received a copy of the GNU General Public License
|
|
15
|
-
along with this program; if not, write to the Free Software
|
|
16
|
-
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
15
|
+
along with this program; if not, write to the Free Software
|
|
16
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
17
17
|
02111-1307, USA.
|
|
18
18
|
=================================================================*/
|
|
19
|
-
|
|
20
19
|
#include <bzs/env/tstring.h>
|
|
21
|
-
#pragma hdrstop
|
|
22
|
-
|
|
23
20
|
#include <stdlib.h>
|
|
24
21
|
#include <stdio.h>
|
|
25
22
|
#include <time.h>
|
|
26
23
|
#include <bzs/db/protocol/tdap/btrDate.h>
|
|
27
24
|
|
|
28
|
-
|
|
29
25
|
namespace bzs
|
|
30
26
|
{
|
|
31
27
|
namespace db
|
|
@@ -35,50 +31,66 @@ namespace protocol
|
|
|
35
31
|
namespace tdap
|
|
36
32
|
{
|
|
37
33
|
|
|
38
|
-
#pragma
|
|
39
|
-
pragma_pack1
|
|
40
|
-
|
|
34
|
+
#pragma pack(push, 1)
|
|
35
|
+
pragma_pack1;
|
|
41
36
|
|
|
42
37
|
#ifdef _WIN32
|
|
43
38
|
|
|
44
|
-
const wchar_t wtime_format_ms[] = L"%02d:%02d:%02d.%
|
|
39
|
+
const wchar_t wtime_format_ms[] = L"%02d:%02d:%02d.%u";
|
|
45
40
|
const wchar_t wtime_format[] = L"%02d:%02d:%02d";
|
|
46
|
-
const wchar_t wdatetime_format_ms[] = L"%04d-%02d-%02d %02d:%02d:%02d.%
|
|
41
|
+
const wchar_t wdatetime_format_ms[] = L"%04d-%02d-%02d %02d:%02d:%02d.%u";
|
|
47
42
|
const wchar_t wdatetime_format[] = L"%04d-%02d-%02d %02d:%02d:%02d";
|
|
48
|
-
const wchar_t wdatetime_format_ms_i[] = L"%04d-%02d-%02d %02d:%02d:%02d.%
|
|
43
|
+
const wchar_t wdatetime_format_ms_i[] = L"%04d-%02d-%02d %02d:%02d:%02d.%u";
|
|
49
44
|
const wchar_t wdatetime_format_i[] = L"%04d-%02d-%02d %02d:%02d:%02d";
|
|
50
45
|
|
|
51
|
-
inline size_t _ttol_(const wchar_t* v)
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
inline size_t _ttol_(const wchar_t* v)
|
|
47
|
+
{
|
|
48
|
+
return _wtol(v);
|
|
49
|
+
}
|
|
50
|
+
inline size_t _tcslen_(const wchar_t* v)
|
|
51
|
+
{
|
|
52
|
+
return wcslen(v);
|
|
53
|
+
}
|
|
54
|
+
inline wchar_t* _tcsncpy_(wchar_t* d, const wchar_t* s, size_t n)
|
|
55
|
+
{
|
|
56
|
+
return wcsncpy(d, s, n);
|
|
57
|
+
}
|
|
54
58
|
|
|
55
59
|
#endif
|
|
56
60
|
|
|
57
|
-
const char time_format_ms[] = "%02d:%02d:%02d
|
|
61
|
+
const char time_format_ms[] = "%02d:%02d:%02d.%u";
|
|
58
62
|
const char time_format[] = "%02d:%02d:%02d";
|
|
59
|
-
const char datetime_format_ms[] = "%04d-%02d-%02d %02d:%02d:%02d.%
|
|
63
|
+
const char datetime_format_ms[] = "%04d-%02d-%02d %02d:%02d:%02d.%u";
|
|
60
64
|
const char datetime_format[] = "%04d-%02d-%02d %02d:%02d:%02d";
|
|
61
|
-
const char datetime_format_ms_i[] = "%04d-%02d-%02d %02d:%02d:%02d.%
|
|
65
|
+
const char datetime_format_ms_i[] = "%04d-%02d-%02d %02d:%02d:%02d.%u";
|
|
62
66
|
const char datetime_format_i[] = "%04d-%02d-%02d %02d:%02d:%02d";
|
|
63
67
|
|
|
64
|
-
inline size_t _ttol_(const char* v)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
inline size_t _ttol_(const char* v)
|
|
69
|
+
{
|
|
70
|
+
return atol(v);
|
|
71
|
+
}
|
|
72
|
+
inline size_t _tcslen_(const char* v)
|
|
73
|
+
{
|
|
74
|
+
return strlen(v);
|
|
75
|
+
}
|
|
76
|
+
inline char* _tcsncpy_(char* d, const char* s, size_t n)
|
|
77
|
+
{
|
|
78
|
+
return strncpy(d, s, n);
|
|
79
|
+
}
|
|
68
80
|
|
|
69
|
-
#pragma warning(disable:4996)
|
|
81
|
+
#pragma warning(disable : 4996)
|
|
70
82
|
union myDate
|
|
71
83
|
{
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
struct
|
|
85
|
+
{
|
|
86
|
+
unsigned int dd : 5;
|
|
87
|
+
unsigned int mm : 4;
|
|
88
|
+
unsigned int yy : 15;
|
|
89
|
+
unsigned int tmp : 8;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
int i;
|
|
93
|
+
|
|
82
94
|
inline void setValue(int v, bool btrvValue = false)
|
|
83
95
|
{
|
|
84
96
|
if (btrvValue)
|
|
@@ -88,86 +100,82 @@ union myDate
|
|
|
88
100
|
yy = btrd.yy;
|
|
89
101
|
mm = btrd.mm;
|
|
90
102
|
dd = btrd.dd;
|
|
91
|
-
tmp=0;
|
|
103
|
+
tmp = 0;
|
|
92
104
|
}
|
|
93
105
|
else
|
|
94
106
|
i = v;
|
|
95
107
|
}
|
|
96
|
-
|
|
108
|
+
|
|
97
109
|
inline int getValue(bool btrvValue = false)
|
|
98
110
|
{
|
|
99
111
|
if (btrvValue)
|
|
100
112
|
{
|
|
101
113
|
btrDate btrd;
|
|
102
|
-
|
|
114
|
+
btrd.yy = yy;
|
|
103
115
|
btrd.mm = mm;
|
|
104
116
|
btrd.dd = dd;
|
|
105
117
|
return btrd.i;
|
|
106
118
|
}
|
|
107
119
|
return i;
|
|
108
120
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
121
|
+
|
|
122
|
+
inline char* toStr(char* p, bool btrvValue)
|
|
123
|
+
{
|
|
112
124
|
if (btrvValue)
|
|
113
|
-
sprintf(p, "%04d/%02d/%02d",yy, mm, dd);
|
|
125
|
+
sprintf(p, "%04d/%02d/%02d", yy, mm, dd);
|
|
114
126
|
else
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
127
|
+
sprintf(p, "%04d-%02d-%02d", yy, mm, dd);
|
|
128
|
+
return p;
|
|
129
|
+
}
|
|
118
130
|
|
|
119
131
|
#ifdef _WIN32
|
|
120
|
-
|
|
121
|
-
|
|
132
|
+
inline wchar_t* toStr(wchar_t* p, bool btrvValue)
|
|
133
|
+
{
|
|
122
134
|
if (btrvValue)
|
|
123
|
-
swprintf_s(p, 11, L"%04d/%02d/%02d",yy, mm, dd);
|
|
135
|
+
swprintf_s(p, 11, L"%04d/%02d/%02d", yy, mm, dd);
|
|
124
136
|
else
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
137
|
+
swprintf_s(p, 11, L"%04d-%02d-%02d", yy, mm, dd);
|
|
138
|
+
return p;
|
|
139
|
+
}
|
|
128
140
|
#endif
|
|
129
141
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
142
|
+
template <class T> inline myDate& operator=(const T* p)
|
|
143
|
+
{
|
|
144
|
+
tmp = 0;
|
|
145
|
+
yy = _ttol_(p);
|
|
146
|
+
mm = _ttol_(p + 5);
|
|
147
|
+
dd = _ttol_(p + 8);
|
|
148
|
+
return *this;
|
|
149
|
+
}
|
|
140
150
|
};
|
|
141
151
|
|
|
142
|
-
|
|
143
152
|
struct myTime
|
|
144
153
|
{
|
|
145
154
|
|
|
146
155
|
private:
|
|
147
|
-
|
|
148
|
-
|
|
156
|
+
int m_dec;
|
|
157
|
+
|
|
149
158
|
public:
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
159
|
+
union
|
|
160
|
+
{
|
|
161
|
+
struct
|
|
162
|
+
{
|
|
163
|
+
unsigned __int64 ms : 24;
|
|
164
|
+
unsigned __int64 ss : 6;
|
|
165
|
+
unsigned __int64 nn : 6;
|
|
166
|
+
unsigned __int64 hh : 10;
|
|
167
|
+
unsigned __int64 unused : 1;
|
|
168
|
+
unsigned __int64 sign : 1;
|
|
169
|
+
unsigned __int64 tmp : 16;
|
|
170
|
+
};
|
|
171
|
+
__int64 i64;
|
|
172
|
+
};
|
|
173
|
+
|
|
166
174
|
public:
|
|
167
|
-
|
|
175
|
+
inline myTime(int size) : m_dec((size - 3) * 2){};
|
|
168
176
|
|
|
169
|
-
|
|
170
|
-
|
|
177
|
+
inline void setValue(__int64 v, bool btrvValue = false)
|
|
178
|
+
{
|
|
171
179
|
|
|
172
180
|
if (btrvValue)
|
|
173
181
|
{
|
|
@@ -177,300 +185,300 @@ public:
|
|
|
177
185
|
nn = btrt.nn;
|
|
178
186
|
ss = btrt.ss;
|
|
179
187
|
ms = btrt.uu * 10000;
|
|
180
|
-
tmp=0;
|
|
188
|
+
tmp = 0;
|
|
181
189
|
sign = 1;
|
|
182
|
-
|
|
190
|
+
unused = 0;
|
|
183
191
|
return;
|
|
184
192
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
193
|
+
char* p = (char*)&i64;
|
|
194
|
+
char* src = (char*)&v;
|
|
195
|
+
if (m_dec)
|
|
196
|
+
{
|
|
197
|
+
p[0] = src[5];
|
|
198
|
+
p[1] = src[4];
|
|
199
|
+
p[2] = src[3];
|
|
200
|
+
ms = ms >> (3 - m_dec / 2) * 8;
|
|
201
|
+
}
|
|
202
|
+
p[3] = src[2];
|
|
203
|
+
p[4] = src[1];
|
|
204
|
+
p[5] = src[0];
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
inline __int64 getValue(bool btrvValue = false)
|
|
208
|
+
{
|
|
209
|
+
__int64 v = 0;
|
|
210
|
+
char* src = (char*)&i64;
|
|
211
|
+
char* p = (char*)&v;
|
|
212
|
+
p[2] = src[3];
|
|
213
|
+
p[1] = src[4];
|
|
214
|
+
p[0] = src[5];
|
|
215
|
+
if (m_dec)
|
|
216
|
+
{
|
|
217
|
+
ms = ms << (3 - m_dec / 2) * 8;
|
|
218
|
+
p[3] = src[2];
|
|
219
|
+
p[4] = src[1];
|
|
220
|
+
p[5] = src[0];
|
|
221
|
+
}
|
|
214
222
|
if (btrvValue)
|
|
215
223
|
{
|
|
216
224
|
btrTime btrt;
|
|
217
|
-
|
|
225
|
+
btrt.hh = hh;
|
|
218
226
|
btrt.nn = nn;
|
|
219
227
|
btrt.ss = ss;
|
|
220
|
-
btrt.uu = (char)(ms/100000);
|
|
228
|
+
btrt.uu = (char)(ms / 100000);
|
|
221
229
|
return btrt.i;
|
|
222
230
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
231
|
+
return v;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
inline char* toStr(char* p)
|
|
235
|
+
{
|
|
236
|
+
if (m_dec)
|
|
237
|
+
sprintf(p, time_format_ms, (int)hh, (int)nn, (int)ss,
|
|
238
|
+
(unsigned int)ms);
|
|
239
|
+
else
|
|
240
|
+
sprintf(p, time_format, (int)hh, (int)nn, (int)ss);
|
|
241
|
+
return p;
|
|
242
|
+
}
|
|
243
|
+
|
|
235
244
|
#ifdef _WIN32
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
245
|
+
inline wchar_t* toStr(wchar_t* p)
|
|
246
|
+
{
|
|
247
|
+
if (m_dec)
|
|
248
|
+
swprintf_s(p, 17, wtime_format_ms, (int)hh, (int)nn, (int)ss,
|
|
249
|
+
(unsigned int)ms);
|
|
250
|
+
else
|
|
251
|
+
swprintf_s(p, 9, wtime_format, (int)hh, (int)nn, (int)ss);
|
|
252
|
+
return p;
|
|
253
|
+
}
|
|
244
254
|
#endif
|
|
245
255
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
}
|
|
256
|
+
template <class T> inline myTime& operator=(const T* p)
|
|
257
|
+
{
|
|
258
|
+
sign = 1;
|
|
259
|
+
unused = 0;
|
|
260
|
+
ms = 0;
|
|
261
|
+
hh = _ttol_(p);
|
|
262
|
+
nn = _ttol_(p + 3);
|
|
263
|
+
ss = _ttol_(p + 6);
|
|
264
|
+
if (m_dec && _tcslen_(p) > 9)
|
|
265
|
+
{
|
|
266
|
+
T tmp[10] = { 0x00 };
|
|
267
|
+
_tcsncpy_(tmp, p + 9, (size_t)m_dec);
|
|
268
|
+
ms = _ttol_(tmp);
|
|
269
|
+
}
|
|
270
|
+
return *this;
|
|
271
|
+
}
|
|
263
272
|
};
|
|
264
273
|
|
|
265
|
-
|
|
266
274
|
struct myDateTime
|
|
267
275
|
{
|
|
268
276
|
private:
|
|
269
|
-
|
|
270
|
-
|
|
277
|
+
int m_dec;
|
|
278
|
+
|
|
271
279
|
public:
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
280
|
+
union
|
|
281
|
+
{
|
|
282
|
+
struct
|
|
283
|
+
{
|
|
284
|
+
unsigned __int64 ms : 24;
|
|
285
|
+
unsigned __int64 ss : 6;
|
|
286
|
+
unsigned __int64 nn : 6;
|
|
287
|
+
unsigned __int64 hh : 5;
|
|
288
|
+
unsigned __int64 dd : 5;
|
|
289
|
+
unsigned __int64 yymm : 17; // yy*13+mm (yy 0-9999, mm 0-12)
|
|
290
|
+
unsigned __int64 sign : 1;
|
|
291
|
+
};
|
|
292
|
+
__int64 i64;
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
inline myDateTime(int size) : m_dec((size - 5) * 2){};
|
|
296
|
+
|
|
297
|
+
inline void setValue(__int64 v)
|
|
298
|
+
{
|
|
299
|
+
char* p = (char*)&i64;
|
|
300
|
+
char* src = (char*)&v;
|
|
301
|
+
if (m_dec)
|
|
302
|
+
{
|
|
303
|
+
p[0] = src[7];
|
|
304
|
+
p[1] = src[6];
|
|
305
|
+
p[2] = src[5];
|
|
306
|
+
ms = ms >> (3 - m_dec / 2) * 8;
|
|
307
|
+
}
|
|
308
|
+
p[3] = src[4];
|
|
309
|
+
p[4] = src[3];
|
|
310
|
+
p[5] = src[2];
|
|
311
|
+
p[6] = src[1];
|
|
312
|
+
p[7] = src[0];
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
inline __int64 getValue()
|
|
316
|
+
{
|
|
317
|
+
__int64 v = 0;
|
|
318
|
+
char* src = (char*)&i64;
|
|
319
|
+
char* p = (char*)&v;
|
|
320
|
+
p[4] = src[3];
|
|
321
|
+
p[3] = src[4];
|
|
322
|
+
p[2] = src[5];
|
|
323
|
+
p[1] = src[6];
|
|
324
|
+
p[0] = src[7];
|
|
325
|
+
if (m_dec)
|
|
326
|
+
{
|
|
327
|
+
ms = ms << (3 - m_dec / 2) * 8;
|
|
328
|
+
p[5] = src[2];
|
|
329
|
+
p[6] = src[1];
|
|
330
|
+
p[7] = src[0];
|
|
331
|
+
}
|
|
332
|
+
return v;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
inline char* toStr(char* p)
|
|
336
|
+
{
|
|
337
|
+
if (m_dec)
|
|
338
|
+
sprintf(p, datetime_format_ms, (int)(yymm / 13), (int)(yymm % 13),
|
|
339
|
+
(int)dd, (int)hh, (int)nn, (int)ss, (unsigned int)ms);
|
|
340
|
+
else
|
|
341
|
+
sprintf(p, datetime_format, (int)(yymm / 13), (int)(yymm % 13),
|
|
342
|
+
(int)dd, (int)hh, (int)nn, (int)ss);
|
|
343
|
+
return p;
|
|
344
|
+
}
|
|
345
|
+
|
|
337
346
|
#ifdef _WIN32
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
347
|
+
inline wchar_t* toStr(wchar_t* p)
|
|
348
|
+
{
|
|
349
|
+
if (m_dec)
|
|
350
|
+
swprintf_s(p, 26, wdatetime_format_ms, (int)(yymm / 13),
|
|
351
|
+
(int)(yymm % 13), (int)dd, (int)hh, (int)nn, (int)ss,
|
|
352
|
+
(unsigned int)ms);
|
|
353
|
+
else
|
|
354
|
+
swprintf_s(p, 20, wdatetime_format, (int)(yymm / 13),
|
|
355
|
+
(int)(yymm % 13), (int)dd, (int)hh, (int)nn, (int)ss);
|
|
356
|
+
return p;
|
|
357
|
+
}
|
|
346
358
|
#endif
|
|
347
359
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
}
|
|
366
|
-
|
|
360
|
+
template <class T> myDateTime& operator=(const T* p)
|
|
361
|
+
{
|
|
362
|
+
sign = 1;
|
|
363
|
+
ms = 0;
|
|
364
|
+
yymm = _ttol_(p) * 13 + _ttol_(p + 5);
|
|
365
|
+
dd = _ttol_(p + 8);
|
|
366
|
+
hh = _ttol_(p + 11);
|
|
367
|
+
nn = _ttol_(p + 14);
|
|
368
|
+
ss = _ttol_(p + 17);
|
|
369
|
+
if (m_dec && _tcslen_(p) > 20)
|
|
370
|
+
{
|
|
371
|
+
T tmp[10] = { 0x00 };
|
|
372
|
+
_tcsncpy_(tmp, p + 20, (size_t)m_dec);
|
|
373
|
+
ms = _ttol_(tmp);
|
|
374
|
+
}
|
|
375
|
+
return *this;
|
|
376
|
+
}
|
|
367
377
|
};
|
|
368
378
|
|
|
369
379
|
struct myTimeStamp
|
|
370
380
|
{
|
|
371
381
|
private:
|
|
372
|
-
|
|
373
|
-
|
|
382
|
+
int m_dec;
|
|
383
|
+
|
|
374
384
|
public:
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
385
|
+
union
|
|
386
|
+
{
|
|
387
|
+
struct
|
|
388
|
+
{
|
|
389
|
+
unsigned __int64 ms : 24;
|
|
390
|
+
unsigned __int64 datetime : 32;
|
|
391
|
+
unsigned __int64 tmp : 8;
|
|
392
|
+
};
|
|
393
|
+
__int64 i64;
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
inline myTimeStamp(int size) : m_dec((size - 4) * 2){};
|
|
397
|
+
|
|
398
|
+
inline void setValue(__int64 v)
|
|
399
|
+
{
|
|
400
|
+
char* p = (char*)&i64;
|
|
401
|
+
char* src = (char*)&v;
|
|
402
|
+
if (m_dec)
|
|
403
|
+
{
|
|
404
|
+
p[0] = src[6];
|
|
405
|
+
p[1] = src[5];
|
|
406
|
+
p[2] = src[4];
|
|
407
|
+
ms = ms >> (3 - m_dec / 2) * 8;
|
|
408
|
+
}
|
|
409
|
+
p[3] = src[3];
|
|
410
|
+
p[4] = src[2];
|
|
411
|
+
p[5] = src[1];
|
|
412
|
+
p[6] = src[0];
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
inline __int64 getValue()
|
|
416
|
+
{
|
|
417
|
+
__int64 v = 0;
|
|
418
|
+
char* src = (char*)&i64;
|
|
419
|
+
char* p = (char*)&v;
|
|
420
|
+
|
|
421
|
+
p[3] = src[3];
|
|
422
|
+
p[2] = src[4];
|
|
423
|
+
p[1] = src[5];
|
|
424
|
+
p[0] = src[6];
|
|
425
|
+
if (m_dec)
|
|
426
|
+
{
|
|
427
|
+
ms = ms << (3 - m_dec / 2) * 8;
|
|
428
|
+
p[4] = src[2];
|
|
429
|
+
p[5] = src[1];
|
|
430
|
+
p[6] = src[0];
|
|
431
|
+
}
|
|
432
|
+
return v;
|
|
433
|
+
}
|
|
434
|
+
|
|
425
435
|
#ifdef _WIN32
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
436
|
+
inline wchar_t* toStr(wchar_t* p)
|
|
437
|
+
{
|
|
438
|
+
struct tm* st;
|
|
439
|
+
time_t v = (time_t)datetime;
|
|
440
|
+
st = localtime(&v);
|
|
441
|
+
|
|
442
|
+
if (m_dec)
|
|
443
|
+
swprintf_s(p, 26, wdatetime_format_ms_i, st->tm_year + 1900,
|
|
444
|
+
st->tm_mon + 1, st->tm_mday, st->tm_hour, st->tm_min,
|
|
445
|
+
st->tm_sec, (unsigned int)ms);
|
|
446
|
+
else
|
|
447
|
+
swprintf_s(p, 20, wdatetime_format_i, st->tm_year + 1900,
|
|
448
|
+
st->tm_mon + 1, st->tm_mday, st->tm_hour, st->tm_min,
|
|
449
|
+
st->tm_sec);
|
|
450
|
+
return p;
|
|
451
|
+
}
|
|
442
452
|
#endif
|
|
443
453
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
}
|
|
460
|
-
|
|
454
|
+
inline char* toStr(char* p)
|
|
455
|
+
{
|
|
456
|
+
struct tm* st;
|
|
457
|
+
time_t v = (time_t)datetime;
|
|
458
|
+
st = localtime(&v);
|
|
459
|
+
|
|
460
|
+
if (m_dec)
|
|
461
|
+
sprintf(p, datetime_format_ms_i, st->tm_year + 1900, st->tm_mon + 1,
|
|
462
|
+
st->tm_mday, st->tm_hour, st->tm_min, st->tm_sec,
|
|
463
|
+
(unsigned int)ms);
|
|
464
|
+
else
|
|
465
|
+
sprintf(p, datetime_format_i, st->tm_year + 1900, st->tm_mon + 1,
|
|
466
|
+
st->tm_mday, st->tm_hour, st->tm_min, st->tm_sec);
|
|
467
|
+
return p;
|
|
468
|
+
}
|
|
461
469
|
};
|
|
462
470
|
inline int btrdateToMydate(int btrd)
|
|
463
471
|
{
|
|
464
|
-
|
|
472
|
+
myDate myd;
|
|
465
473
|
myd.setValue(btrd, true);
|
|
466
|
-
|
|
474
|
+
return myd.getValue(true);
|
|
467
475
|
}
|
|
468
476
|
|
|
469
477
|
inline __int64 btrtimeToMytime(int btrt)
|
|
470
478
|
{
|
|
471
|
-
|
|
479
|
+
myTime myt(4);
|
|
472
480
|
myt.setValue(btrt, true);
|
|
473
|
-
|
|
481
|
+
return myt.getValue(true);
|
|
474
482
|
}
|
|
475
483
|
|
|
476
484
|
inline int mydateToBtrdate(int mydate)
|
|
@@ -482,19 +490,18 @@ inline int mydateToBtrdate(int mydate)
|
|
|
482
490
|
|
|
483
491
|
inline int mytimeToBtrtime(__int64 mytime, int size)
|
|
484
492
|
{
|
|
485
|
-
|
|
493
|
+
myTime myt(size);
|
|
486
494
|
myt.setValue(mytime);
|
|
487
|
-
|
|
495
|
+
return (int)myt.getValue(true);
|
|
488
496
|
}
|
|
489
|
-
#pragma warning(default:4996)
|
|
490
|
-
|
|
497
|
+
#pragma warning(default : 4996)
|
|
491
498
|
|
|
492
|
-
#pragma
|
|
493
|
-
pragma_pop
|
|
499
|
+
#pragma pack(pop)
|
|
500
|
+
pragma_pop;
|
|
494
501
|
|
|
495
|
-
}//namespace tdap
|
|
496
|
-
}//namespace protocol
|
|
497
|
-
}//namespace db
|
|
498
|
-
}//namespace bzs
|
|
502
|
+
} // namespace tdap
|
|
503
|
+
} // namespace protocol
|
|
504
|
+
} // namespace db
|
|
505
|
+
} // namespace bzs
|
|
499
506
|
|
|
500
507
|
//#endif //MYDATETIME_H
|