From b7075a3b55dd649c5e4f0e2e24df0f53b3b64d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=91=ABIntel?= Date: Thu, 10 Dec 2020 17:01:23 +0800 Subject: [PATCH] =?UTF-8?q?*.[=E6=96=B0=E5=A2=9E]=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=87=BD=E6=95=B0IsEng=E6=9D=A5=E5=88=A4=E6=96=AD=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=E6=98=AF=E5=90=A6=E6=98=AF=E8=8B=B1=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.NET4 示例/Itrycn_Project.exe | Bin 78848 -> 78848 bytes Bin/Debug/CommonControls/.NET4 示例/MyDb.dll | Bin 153600 -> 154112 bytes .../CommonControls/.NET4 示例/MyDb_SQLite.dll | Bin 17920 -> 17920 bytes .../CommonControls/.NET4 示例/RyPrint.dll | Bin 54272 -> 54272 bytes .../CommonControls/.NET4 示例/ryControls.dll | Bin 481792 -> 481792 bytes .../CommonControls/.NET4 示例/ryUpdate.dll | Bin 64000 -> 64000 bytes Bin/Debug/CommonControls/.NET4/MyDb.dll | Bin 153600 -> 154112 bytes Bin/Debug/CommonControls/.NET4/MyDb_MSSQL.dll | Bin 14848 -> 14848 bytes Bin/Debug/CommonControls/.NET4/MyDb_MySQL.dll | Bin 14336 -> 14336 bytes .../CommonControls/.NET4/MyDb_SQLite.dll | Bin 17920 -> 17920 bytes Bin/Debug/CommonControls/.NET4/RyPrint.dll | Bin 54272 -> 54272 bytes Bin/Debug/CommonControls/.NET4/RyWeb.dll | Bin 27136 -> 27136 bytes Bin/Debug/CommonControls/.NET4/ryControls.dll | Bin 481792 -> 481792 bytes Bin/Debug/CommonControls/.NET4/ryUpdate.dll | Bin 64000 -> 64000 bytes .../.NET4 示例/Itrycn_Project.exe | Bin 76288 -> 76288 bytes .../CommonControls/.NET4 示例/MyDb.dll | Bin 140800 -> 140800 bytes .../CommonControls/.NET4 示例/MyDb.xml | 9672 +++++++++-------- .../CommonControls/.NET4 示例/MyDb_SQLite.dll | Bin 16384 -> 16384 bytes .../CommonControls/.NET4 示例/RyPrint.dll | Bin 51712 -> 51712 bytes .../CommonControls/.NET4 示例/ryControls.dll | Bin 451072 -> 451072 bytes .../CommonControls/.NET4 示例/ryUpdate.dll | Bin 61440 -> 61440 bytes Bin/Release/CommonControls/.NET4/MyDb.dll | Bin 140800 -> 140800 bytes Bin/Release/CommonControls/.NET4/MyDb.xml | 9672 +++++++++-------- .../CommonControls/.NET4/MyDb_MSSQL.dll | Bin 13312 -> 13312 bytes .../CommonControls/.NET4/MyDb_MySQL.dll | Bin 13312 -> 13312 bytes .../CommonControls/.NET4/MyDb_SQLite.dll | Bin 16384 -> 16384 bytes Bin/Release/CommonControls/.NET4/RyPrint.dll | Bin 51712 -> 51712 bytes Bin/Release/CommonControls/.NET4/RyWeb.dll | Bin 24576 -> 24576 bytes .../CommonControls/.NET4/ryControls.dll | Bin 451072 -> 451072 bytes Bin/Release/CommonControls/.NET4/ryUpdate.dll | Bin 61440 -> 61440 bytes CHANGELOG.md | 6 + Source/.vs/公用控件组V4/v16/.suo | Bin 348672 -> 370176 bytes Source/Itrycn_Project2/FrmStart.cs | 280 +- Source/MyDb/DbManage/Strings.cs | 9 + Source/MyDb/DbManage/VarExtension.cs | 9 + Source/MyDb/Properties/AssemblyInfo.cs | 72 +- Source/MyDb/bin/x86/Debug/MyDb.dll | Bin 153600 -> 154112 bytes Source/MyDb/bin/x86/Release/MyDb.dll | Bin 140800 -> 141312 bytes Source/ryControls/bin/x86/Debug/MyDb.dll | Bin 153600 -> 154112 bytes .../ryControls/bin/x86/Debug/ryControls.dll | Bin 481792 -> 481792 bytes Source/ryControls/bin/x86/Release/MyDb.dll | Bin 140800 -> 141312 bytes .../ryControls/bin/x86/Release/ryControls.dll | Bin 451072 -> 451072 bytes 42 files changed, 9886 insertions(+), 9834 deletions(-) diff --git a/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project.exe b/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project.exe index fdb54d458ce44d883c66c8b7f7526acfc9212bf6..9d066054add59dc73f1bc8020bd2d76fb130c164 100644 GIT binary patch delta 141 zcmZp8!P4-8WkLsY&f|+4yC2sx-(i2bxv*isslf7h@gRTgH4YmKcv5qANHK19*!G|( z2&gQc0SK6YScZ{-!NQ%9!9tUfAt=}-_^rj>Q;!qs-P%I9FPzOUyAPCRaJ7o@tyFMH sEJ-YmdA5G)vuQhDF5LNi_PQ8n<(TJl_djiIo?f8I_-K2G7ULRD0Lh>^`v3p{ delta 139 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 s;BQzk1j)z)Ct<8 delta 25075 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 NT=WrsV6{mu{|`-#wl4qx diff --git a/Bin/Debug/CommonControls/.NET4 示例/MyDb_SQLite.dll b/Bin/Debug/CommonControls/.NET4 示例/MyDb_SQLite.dll index 28c293c3b7004ef97680d1887e27de6486a4f06d..bf7d4c4a9e3367b1874c1f9c180b18f77fc1a028 100644 GIT binary patch delta 97 zcmZqZVQlDOoY29X@%ZA#?od_cJM1qvKUTddB%rtVWUuGvQrFJYAO1S?e}1$1j718I x4p3P<0}wC)u?!;vgGV$F+cGc&1-k@W#j)u~6~s7hn80Xr^z{d|%`vu1H~_U7B&z@b delta 97 zcmZqZVQlDOoY29{^Xufs?od_c+w85IAFJLJ642SSWT*KIXZOWY3wGXAbc))1#v+A9 y2dFHb0SK6YScZ{-!6O=oZ5bGXf?a|qY_hvKN%^m9GyC;x7DrnjZ;r8D!T|sWNF)0I diff --git a/Bin/Debug/CommonControls/.NET4 示例/RyPrint.dll b/Bin/Debug/CommonControls/.NET4 示例/RyPrint.dll index 948a7c326ab67e4f4de4d257b17f9b0bf19c7355..b3f9d329084aefa4e2af82aebbef25d488d65770 100644 GIT binary patch delta 77 zcmV-T0J8spr~`ng1CWRVY2(qci$iY%+z08i(Qp4G5X+vcxB%i~OO~Fw-oTJfT(jVm jtTqE_K@1(=2$-Y9f)P41?r@hFtxXVZgCN?U( delta 77 zcmV-T0J8spr~`ng1CWRV4Eo8ji$iY%+XscS(Qp4G5ZL1({1(T^OuYrOz>`YUO0(dU jtTqD-`pJ`z%NYt=&vpyO~#?Wxm7ya=Ya@=HveavbIbt?bANwIDg~1 z!#4a(>)Qp+vH&sbc7d~OIxQfb)9nM|v)i|y*+*%XEB~_X8G-CGH~^Sx BDWw1a delta 98 zcmZqJBHOSt=&vpyO~#?Wxmbcy4~^|^YMQIeP8o4tDStD8|L>P zomR(Yds(TZdBpaNK=v6N08k<) AzW@LL diff --git a/Bin/Debug/CommonControls/.NET4 示例/ryUpdate.dll b/Bin/Debug/CommonControls/.NET4 示例/ryUpdate.dll index de19d6df1fa06d1be325bbc57eed987ef10531b0..0c60f6334c1f2b32cfae89b9b5de8069a4e60c2e 100644 GIT binary patch delta 97 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 s;BQzk1j)z)Ct<8 delta 25075 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 NT=WrsV6{mu{|`-#wl4qx diff --git a/Bin/Debug/CommonControls/.NET4/MyDb_MSSQL.dll b/Bin/Debug/CommonControls/.NET4/MyDb_MSSQL.dll index 43d940740cd8cf5ee4e1fa08f547f0796f6e83ec..808de035173e10ad7cfe3ccfaf850519198d6564 100644 GIT binary patch delta 117 zcmV-*0E+*Bbbxe_hy!Zl(Xopc9|PP6>9eID=L`_p_uXz-$R0zC${O3Wl%t@toGd^D z18U>Zlix5IHp$esx|Q}JN2*6;<#zy;w*deE07W`nO?eft(%w1Kj#rpxEA16B(>aghL7CMCz?I;HqX&&;@6N{x*&SGR>U~sjHdDb!U`K*>FyB9xS&=~Wybj6Sgg0IsMtoB#j- diff --git a/Bin/Debug/CommonControls/.NET4/MyDb_MySQL.dll b/Bin/Debug/CommonControls/.NET4/MyDb_MySQL.dll index 07867a3f41a7d413fec77a791b90766c5ebbcdfe..6208e14c5411f58f2dbb1fb7d3b311712146b979 100644 GIT binary patch delta 136 zcmZoDXegM_!JPH@;>PZ~a?E$wUvAEpZ{-o#%gG#g?QojUvblRB+LdR^Y|?RH2?DB$ zX8-~wAeLcdV2JPoVgm+-pkSBa4T@Pkx0^e>8tdYuq*e6q0HqmRtzvvD6K@1(=2$-Y9f)P41?r@hFtxXVZgCN?U( delta 77 zcmV-T0J8spr~`ng1CWRV4Eo8ji$iY%+XscS(Qp4G5ZL1({1(T^OuYrOz>`YUO0(dU jtTqD-`pJ`z%NYVPOMJK7U{AdsImZbo&ERSk<6EiVl30>h9P@1b)MwLn ezFfHT`RsKu&dM>*=k9;n+B_-o(dH+KG8_PM^*1&E delta 128 zcmZp;!q{+yaY6@k_v?cjyCow9)>g2K-pRG|nQUBMqZ+x6ee;&cKWqU&*?0yZU;<(p zMh1oxbwHfJzz`Jd5`1{pr=On-cDc?jd27C0esvE}n!(j7=2^$Y=d)U#>|XqQL1WC* Y)-_LCH$pki$}y9f5+7}Tlqkmm05Z=w82|tP diff --git a/Bin/Debug/CommonControls/.NET4/ryControls.dll b/Bin/Debug/CommonControls/.NET4/ryControls.dll index c53696bcd8fcc84f2333ce23d38fd83eaba77af5..28504da5b6447707b4027049074ddaa256dff435 100644 GIT binary patch delta 98 zcmZqJBHOSt=&vpyO~#?Wxm7ya=Ya@=HveavbIbt?bANwIDg~1 z!#4a(>)Qp+vH&sbc7d~OIxQfb)9nM|v)i|y*+*%XEB~_X8G-CGH~^Sx BDWw1a delta 98 zcmZqJBHOSt=&vpyO~#?Wxmbcy4~^|^YMQIeP8o4tDStD8|L>P zomR(Yds(TZdBpaNK=v6N08k<) AzW@LL diff --git a/Bin/Debug/CommonControls/.NET4/ryUpdate.dll b/Bin/Debug/CommonControls/.NET4/ryUpdate.dll index de19d6df1fa06d1be325bbc57eed987ef10531b0..0c60f6334c1f2b32cfae89b9b5de8069a4e60c2e 100644 GIT binary patch delta 97 zcmZqp!rbtMc|r$s`s0fmyDj~h@36nzeB57FQNXe?y7TMTKVHk_&+S;R?eKN;mx4L< zIzVOd3_!pH#4?Nw3@i8;8CHB?U&##jkyDj~hZ?m^0}wC)u?!;v!y8*hhBxwz3_-yz!JAC2u1I@%IQ2(j%y&fpd;A$1)TdClZ sSdv&A^KAXpXVZ4RT)6Z3>~%5D$}!L9?tj|aJY7YB@zHh;MaCZ-0O`Lu@Bjb+ delta 139 zcmZp;!qRYsWkLsY_v?cjyC;`3-)3*!tXR=)D!`$$gTaxf+Of$}Wif?Ent{>`u2wP6Iwn4! k)$(Nb;^zw*W1hCIdD^-W%5heXnXab5_-H$uBI7R(0MP6>#{d8T diff --git a/Bin/Release/CommonControls/.NET4 示例/MyDb.dll b/Bin/Release/CommonControls/.NET4 示例/MyDb.dll index 87d72d05a60110283f3bf50877c758f6aa4b354e..ac0b9cf262a1639fd0a72cd53ce611e84ad7b6a9 100644 GIT binary patch delta 24983 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 r1u$qakhG85s8ZOw3) z`C6~(53};@KM{)~2pc*X3}?l9Im`AX2OAD^w!%3qfyFy0qsGfZ#+GB|#7loA)EbVn z6H#{EUiNe6VTQfzMCWG>huIGQNr(pp<|mQmw3umzn{Y1gwC*Ox(jW1!!X<{AtR($? z#1Vy}yW+CIb$OBkmB~#>yLY+gX-n8;WRwZ)fFkdkppR z@iw%*ZR)TPx3|p|-x_*gvYbcEiM}H67ehVko_GiGQA8RXgAv0D^hCs0PK`HlqhG~l z%3Z_5jWgx6uxOM_PER!6Wcxd2VR?H;$3;dx&NtRGTPisULZoHT6+u3 zM)}i>hY{zeErezA3ng{N)tF6SELN(@arg{aqTNotglF`9&&d0NH!if zxgEy6A_aQLebeST^lp5Om3sM0q0y~}bPN|j5E|h$%8%hvJuE+tU(+9!a|P1(`8_14 ziFDg5e~z!3?UlEen*Z#WB0hy=}j`-R6aX_{#*oveR7sVerYj<5naE z<>=f8^6@1e?uWDC`w$b7V*FXpK=Fe5AqSINw;pph!0?HO!+(_pVo4kJ)@v+jx)J zBF`Jy5>u+jO?V`sy~jfoV;O%r zxIdz2u@08;>lVkO9s@-Wmhn%LM|iBpes9zr=807=dmQGGRSk$e+P;lg(RL}~uWc}` z#0ZggwUBS{pmUP}XX|dsPLF!sf`DU)Q@v;5lKZm!g2zzE_axe;DbZF#VDcIq z_RrERo@aSbMyO{a`#7zQXRi1ac`hu(ACcFxEIJ{uAjC|uz#7?wv^yRf`HqS@*vMxF zFeuo_Uk$?V=y-j{cAm@d&$4BE&eqXMU?X2ulJB{ZpUN)rT#Y@b!m`wfCV~Q;%_-1& zopt@9R6MarksUpptJ|}yZW9Y9f#SKKaFTOr2Nu_%u;eWW37S|XgaWtqr1F4XgcAiW z5V%cXWN(reI(6ABb$wwrTgAEsW$6L%uPw+7;Fnl`#B}rLC|MUl_+V@(O2VT9U0T)V zfUwLfQtb)*i}H16K}XgzFE)1zeuow3^(mqvaDM1sEJuePKx|*|1!7`n(*BW8IK@Je z#Z|`;-*F!7$iljvEIo^)Aer!qWO5fwM-DRH%yqo^&~Jiu)n{TjB@&aN@U#mZW$1ZYL{XA&&X_= z0PeZ;#O4O2!F2V2#uB=E!3%M8T?v!QCA@wBc5%h$6|8SyO>n!M>aWEg8q;+>l;Bk_ zZG;mc__Y?>3{@r_%D3Rpiy8h=p{)>AE+gOWfNSNX*a1UuAJVf=p_g#58}4|Md@oGE z^$6@U_@n@{lYI``ti%t(&sJ*aFnAV`Lj#*wMOQaA9j|((I^Pq?v6jQ$+sWBCOQ$of5tY-SQJ;=KFv49kp8T8J;#p4Gv!?T(Vl_bl!wwNvY+L3_(R)57Oz{H>4Dco-6p)EBi-E$hJkk0QJ_!gIsTQP z#faPBDE`6d?cj;OYx@Lp5qH3F#GNo1|K|Cp@CM>82*sJ+4Vj1$dmtAtdto@@K6nE0 zGmt0J^E-o+h8LVgMXU(_{ub^6`0>HLe?vU$oX#Q^7a-$@XsuQKJQJNqir8PyHkB;I zd8L>gNpIgj4RR~Tb{Y7@BSZ1;_~j4k-(QvG=U}M=Y4006dicOc1{aSPM$QABSwdv_ z;3ryD$tJ^|gP$lHWgpRH)Ki1kcPwFPZP$+;!bZelaC2X9HqK{(&eN|mv-A3V=IfmI z7ISyrd5wjxFPP4LYQMg87u#(#&rWK%GiJcbimm(SeY(79+5_uD53{iqx{Gs?ocuU~SB4eQ{HjNk*D-jO`ts|?pe^S?4@Z6wd|ctJX8U^sYq zbvh&YK=zLFb|i1ho_B^t@h=VO_{WUXAZPvUDBhd-XbdIzF+P5L;pOb#mS^A}%Spix dDNyM2iQq$w93T7f4_&uk?-R|hvzcjz{{!_M!>a%Q diff --git a/Bin/Release/CommonControls/.NET4 示例/MyDb.xml b/Bin/Release/CommonControls/.NET4 示例/MyDb.xml index f4779a0..ef49181 100644 --- a/Bin/Release/CommonControls/.NET4 示例/MyDb.xml +++ b/Bin/Release/CommonControls/.NET4 示例/MyDb.xml @@ -1,4829 +1,4843 @@ - - - - MyDb - - - -

- 基于XML实现的权限类 - - - - - 用户名 - - - - - 用户id - - - - - 密码 - - - - - 权限控制Id - - - - - 用户备注 - - - - - 是否是管理员权限 - - - - - 是否是超级管理员权限 - - - - - 设置权限 - - 权限名称 - 权限值 - 返回是否设置成功 - - - - 获取权限 - - 权限名称 - 默认权限值 - 返回权限值 - - - - 获取权限 - - 权限名称 - 返回权限值 - - - - 批量导入权限 - - 权限相关的内容 - 返回是否执行成功 - - - - 导出权限 - - 返回导出文本 - - - - 清除所有权限 - - 返回是否执行成功 - - - - 汉字转拼音静态类,包括功能全拼和缩写,方法全部是静态的 - - - - - 汉字的机内码数组 - - - - - 机内码对应的拼音数组 - - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 转换后的拼音(全拼)字符串 - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 转换后的拼音(全拼)字符串 - - - - 把汉字转换成拼音(首拼) - - 汉字字符串 - 转换后的拼音(首拼)字符串 - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 用指定字符分隔 - 转换后的拼音(全拼)字符串 - - - - 汉字转拼音缩写 - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (字符串) (小写) (空格间隔) - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (大写) - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (字符串)(大写)(空格间隔) - - 要转换的汉字字符串 - 拼音缩写 - - - - 取单个字符的拼音声母 - - 要转换的单个汉字 - 拼音声母 - - - - 取单个字符的拼音声母 - - 要转换的单个汉字 - 拼音声母 - - - - Ini操作类 - - - - - 写入Ini - - - - - - - - - - 获取Ini - - - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - - - 获取所有节点名称(Section) - - 存放节点名称的内存地址,每个节点之间用\0分隔 - 内存大小(characters) - Ini文件 - 内容的实际长度,为0表示没有内容,为nSize-2表示内存大小不够 - - - - 编码 - - - - - Ini操作类 - - - - - - 根据section取所有key和值 - - - - - - - 读取INI文件中指定INI文件中的所有节点名称(Section) - - 所有节点,没有内容返回string[0] - - - - 读取INI文件 - - 段,格式[] - 键 - 返回byte类型的section组或键值组 - - - - 根据section取所有key - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入Ini - - - - - - - - 读取Ini - - - - - - - - 读取Ini - - - - - - - - - 读取Ini - - - - - - - - - 读取Ini - - - - - - - - - - - 写入ini - - - - - - - - - 删除Ini的Key - - - - - - - 删除Ini节点 - - - - - - 控件信息 - - - - - id - - - - - 控件对象 - - - - - 控件值类型 - - - - - 默认值 - - - - - 值类型 - - - - - 默认 - - - - - 取列表顺序值 - - - - - 取当前选择的列表值 - - - - - 取对象值 - - - - - 保存的设置类型 - - - - - Ini - - - - - XML - - - - - 对象值 - - - - - 显示的文本 - - - - - 图片序号 - - - - - id - - - - - Tag值 - - - - - 显示文本值 - - - - - - 星期数据 - - - - - 一周的开始时间 - - - - - 一周的结束时间 - - - - - XML操作类 - - - - - XML操作类 - - - - - 从XML文本中加载数据 - - - - - - 从指定的XML文本中加载 - - XML文本 - 如为1,表示加载成功,为0为失败 - - - - 载入空的XML文档 - - 如为1,表示加载成功,为0为失败 - - - - 从指定的文件中加载 - - XML文件路径 - 如为1,表示加载成功,为0为失败 - - - - 保存到指定文件中 - - 文件路径 - 如为1,表示保存成功,为0为失败 - - - - 判断节点是否存在 - - 属性名 - 属性值 - 返回1,表示存在,其它表示不存在 - - - - 定位节点 - - 属性名 - 属性值 - 返回第一个符合要求的结果 - - - - 定位节点,如果找不到节点,就新建一个节点 - - 属性名 - 属性值 - 返回第一个符合要求的结果 - - - - 根据用户的节点定位节点,输入节点时,一定要注意节点是属于类内部的,否则可能出错。 - - 返回第一个符合要求的结果 - - - - 定位设置节点 - - 返回第一个符合要求的结果 - - - - 在节点后插入数据 - - - - - - - 在节点前插入数据 - - - - - - - 获取节点数量 - - 属性名 - 属性值 - 返回符合要求的结果数量 - - - - 获取节点数量 - - 返回符合要求的结果数量 - - - - 获取节点数量 - - 属性名 - 属性值 - - - - 返回符合要求的结果数量 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 读取指定节点的值 - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 获取属性值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取所有的节点名称 - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 获取XML文件的根元素 - - - - - 获取所有列表 - - 如为1,表示获取成功,为0为失败 - - - - 获取所有列表 - - 如为1,表示获取成功,为0为失败 - - - - 新增节点 - - - - - - - - 新增节点并定位到新节点 - - - - - - - - 新增设置节点并定位 - - - - - - 在指定节点前新增节点并定位到新节点 - - - - - - - - - 获取当前节点 - - - - - - 删除节点 - - - - - - 获取XML文本 - - - - - - 获取XML文本 - - - - - - 获取文本 - - - - - - 获取文本 - - - - - - 字符串操作类 - - - - - 字符串转Base64 - - - - - - - Base64转字符串 - - - - - - - 转换指定字符串为布尔类型 - - - - - 转换指定字符串为Double类型 - - - - - 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - - - - - 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. - - 一个日期和时间 - - - - - 转换指定字符串为Int类型 - - - - - 转换指定字符串为Int类型 - - - - - 转换指定布尔类型为Int类型,true为1,false为0 - - - - - 判断指定字符串是否是布尔类型 - - - - - 判断指定字符串是否是Double类型 - - - - - 判断指定字符串是否是Int类型 - - - - - 根据年月日转换成日期 - - - - - - - - - 追加字符 - - - - - 获取2个字符串中间的内容,point1为空表示从首位开始算,point2为空表示算到结尾。 - - - - - 判断字符串是否只包含数字或英文 - - - - - - - 判断字符串是否匹配,支持?*通配符 - - 待匹配的字符串 - 匹配的通配符 - - - - - 通配符替换 - - - - - - - - - 获取匹配的内容 - - - - - - - - - 文件时间 - - - - - 创建时间 - - - - - 最后修改时间 - - - - - 访问时间 - - - - - 图片类型 - - - - - Bmp图片 - - - - - Jpeg图片 - - - - - Png图片 - - - - - Gif动态图片 - - - - - Tiff图片 - - - - - 对变量的拓展 - - - - - 替换文本(忽略大小写) - - - 需要替换的内容 - 替换后的内容 - - - - - 替换文本(忽略大小写),可支持通配符 - - - - - 是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换 - - - - - 获取符合要求的第一个结果 - - - - 是否是正则 - - - - - 查找字符串,忽略大小写 - - - - - - - - - 查找字符串,忽略大小写 - - - - - - - - 判断字符串是否是数字或英文 - - - - - - - 是否在指定范围内 - - - - - - - - - 是否在指定范围内 - - - - - - - - - 转换指定字符串为Int类型 - - - 最小值 - 最大值 - 如果字符串不在范围内,则使用本默认值 - - - - - 转换指定布尔类型到Int类型,true为1,false为0 - - - - - - - 将指定类型转换成整型 - - - - - - - - 将指定类型转换成整型 - - - - - - - 将指定类型转换成长整型 - - - - - - - - 将指定类型转换成长整型 - - - - - - - 转换指定类型为Double类型 - - - - - - - - 转换指定类型为Double类型 - - - - - - - 转换DateTime类型到日期时间字符串 - - - - - - - 转换DateTime类型到日期字符串 - - - - - - - 转换DateTime类型到日期星期字符串 - - - - - - - 转换DateTime类型到Unix时间戳 - - - - - - - 转换Unix时间戳到DateTime类型 - - - - - - - 判断字符串是否与内容匹配 - - - - - - - - 将变量值转换成Double类型,如果不在指定区域范围内,则使用默认值 - - - - - - - - - - 转换到文件大小字符串 - - - - - - - 转换到文件大小字符串 - - - - - - - 转换指定类型为Decimal类型 - - - - - - - - 将变量值转换成Decimal类型 - - - - - - - 将变量值转换成Decimal类型,如果不在指定区域范围内,则使用默认值 - - - - - - - - - - 转换指定类型为DateTime类型 - - - - - - - - 将变量值转换成DateTime类型 - - - - - - - 转换指定类型为布尔类型 - - - - - - - 追加字符 - - - - - - - - 获取指定字符串之间的内容 - - - - - - - - - 获取指定字符串之间的内容 - - - - - - - - - - - - 判断指定字符串是否是Int类型 - - - - - - - 判断指定字符串是否是Double类型 - - - - - - - 判断是否是布尔类型 - - - - - - - 将字符串转换为Base64类型 - - - - - - - 判断字符串是否在指定长度 - - - - - - - - - 判断能否转换成日期格式 - - - - - - - 文件信息 - - - - - 获取版本号 - - - - - 获取版本号 - - - - - - - 判断是否是管理员方式运行 - - - - - - Hosts操作类 - - - - - 获取并转换hosts内容 - - hosts内容 - - - - - 获取hosts并转换hosts内容 - - hosts内容 - - - - - 追加内容到hosts里 - - 要追加的内容列表,每一行为ip 域名的格式 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 追加内容到hosts里 - - 要追加的内容 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 追加内容到hosts里 - - ip地址 - 域名 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 从hosts文件里删除内容 - - 要删除的内容 - 0表示无需删除,-1表示添加失败,1表示删除成功 - - - - 从hosts文件里删除内容 - - ip地址 - 域名 - 0表示无需删除,-1表示添加失败,1表示删除成功 - - - - Host信息 - - - - - IP - - - - - 域名 - - - - - 注释 - - - - - 是否要删除 - - - - - 音频播放类 - - - - - 临时音频文件 - - - - - 父窗口句柄 - - - - - 声音标签 - - - - play synchronously (default) - - - play asynchronously - - - silence (!default) if sound not found - - - pszSound points to a memory file - - - loop the sound until next sndPlaySound - - - don’t stop any currently playing sound - - - Stop Playing Wave - - - don’t wait if the driver is busy - - - name is a registry alias - - - alias is a predefined id - - - name is file name - - - name is resource name or atom - - - - 音频播放类 - - embedded music file - 临时保存的文件位置 - 父窗口句柄 - - - - 音频播放类 - - 要播放的音频位置 - 父窗口句柄 - - - - 音频播放类 - - - 父窗口句柄 - - - - 播放音频 - - - - - - 播放音频 - - - - - 关闭音频 - - - - - 文件操作类 - - - - - - - - - - 删除单个文件。 - - 删除的文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 删除单个文件。 - - 删除的文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 永久删除单个文件。 - - 永久删除的文件名 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 删除一组文件。 - - 字符串数组,表示一组文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 移动文件到指定路径下 - - 要移动的文件名 - 移动到的目的路径 - - - - - 移动一个文件到指定路径下 - - 要移动的文件名 - 移动到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 - - - - 移动一组文件到指定的路径下 - - 要移动的文件名数组 - 移动到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 复制文件到指定的文件名或路径 - - 要复制的文件名 - 复制到的目的文件名或路径 - - - - - 复制文件到指定的文件名或路径 - - 要复制的文件名 - 复制到的目的文件名或路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 复制一组文件到指定的路径 - - 要复制的文件名数组 - 复制到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法 - - 要复制的文件名 - 复制到的目的文件名或路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 删除单个或多个文件 - - 删除的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 移动或复制一个或多个文件到指定路径下 - - 操作类型,是移动操作还是复制操作 - 要移动或复制的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 - 移动到的目的位置 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 - - - - 如果指定文件夹不存在,则创建文件夹 - - - - - - 获取一个文件的全名 - - 文件名 - 返回生成文件的完整路径名 - - - - 获取一个文件的全名 - - 文件名 - 返回生成文件的完整路径名 - - - - 解释错误代码 - - 代码号 - 返回关于错误代码的文字描述 - - - - 运行文件 - - - - - - - - /运行文件 - - - - - - - - 运行程序 - - - - - - - 打开文件 - - - - - - - 打开文件夹并定位文件 - - - - - - - 打开网址 - - - - - - - 判断文件名是否有效 - - - - - - - 转换到有效文件名 - - - - - - - 追加日志 - - - - - - 追加文件 - - - - - - 读取文件内容,可以自动识别文件编码 - - - - - - - 读取文件所有行,可以自动识别文件编码 - - - - - - - 写入所有文本行到文件,如果文件夹不存在,会自动创建 - - - - - - - - 写入所有文本到文件,如果文件夹不存在,会自动创建 - - - - - - - - 从文件中加载图片,使用本方法,不会导致图片文件被占用。 - - - - - - 获取文件大小 - - - - - - - 添加文件到指定文件夹,会进行自动重命名,并返回重命名后的文件名(含路径) - - 要添加的文件路径 - 要添加到的文件夹 - 是否根据时间进行重命名 - 返回是否成功执行 - 成功执行则返回路径,否则返回空 - - - - 获取文件大小字符串 - - - - - - - 获取文件大小字符串 - - - - - - - 复制内容到剪切板 - - - - - - 添加某个控件为支持拖放属性 - - - - - - - 保存高质量不失真照片 - - - - - - - - 保存高质量不失真照片 - - - - - - - - 保存高质量不失真照片 - - - - - - - - 获取绝对路径 - - - - - - - 获取相对路径 - - - - - - - 获取图标 - - - - - - - - - - - - - - 销毁图标 - - - - - - - 获取文件图标 - - - - - - - - - - 用于取得一个文本文件的编码方式(Encoding)。 - - - - - 用于取得一个文本文件的编码方式(Encoding)。 - - - - - 取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将被返回。 - - 文件名。 - - - - - 取得一个文本文件流的编码方式。 - - 文本文件流。 - - - - - 取得一个文本文件的编码方式。 - - 文件名。 - 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 - - - - - 取得一个文本文件流的编码方式。 - - 文本文件流。 - 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 - - - - - 通过给定的文件流,判断文件的编码类型 - - 文件流 - 文件的编码类型 - - - - 判断是否是不带 BOM 的 UTF8 格式 - - - - - - - 新模态窗体 - - - - - 设置窗体返回的结果值,并关闭窗体。 - - 当前窗体 - 模态变量 - 防止 - - - - 窗体返回的结果事件 - - - - - - - 当打开的窗体返回结果时激发 - - - - - 窗体返回的状态 - - - - - 实例化类 - - 父窗体,如果为null,则取桌面为父窗体 - - - - - 获取最顶级的父窗口 - - - - - - 显示新模态窗体,会暂时禁用父窗体,关闭当前窗体后,父窗体会恢复。 - - - - - 只运行一个实例,打开后,所有窗体都依然有效。 - - - - - - 显示窗体 - - 显示的位置 - - - - 显示在父窗体中间 - - - - - 窗体显示位置 - - - - - 右上角 - - - - - 顶部中间 - - - - - 顶部右边 - - - - - 中间 - - - - - 左下角 - - - - - 底部中间 - - - - - 右下角 - - - - - 父窗体居中 - - - - - 日期时间的操作类 - - - - - 获取当前是周几,周一到周日,分别是1-7. - - - - - - - 获取当前是周几,1-7,分别是返回一到日. - - - - - - - 获取当前是周几,输入日期,根据周几,分别是返回一到日. - - - - - - - 获取一周的开始和结束,开始时间为第一天的0点,结束时间以最后一天的0点为结束时间 - - - - - - - 获取2个日期相差几周 - - - - - - - - 获取2个日期相差几个月 - - - - - - - - 获取一个月的开始 - - - - - - - 判断是否在同一个星期。 - - - - - - - - 判断是否在同一个月。 - - - - - - - - 判断是否在同一天 - - - - - - - - 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - - - - - 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - 是否显示秒 - - - - - 计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. - - 一个日期和时间 - - - - - 将c# DateTime时间格式转换为Unix时间戳格式 - - 时间 - long - - - - 时间戳转为C#格式时间 - - - - - - - 将c# DateTime时间格式转换为js时间戳格式 - - 时间 - long - - - - JS时间戳转为C#格式时间 - - - - - - - 根据年月日转换成日期 - - - - - - - - - 根据日期和时间转换成日期时间 - - - - - - - - 将时间转换成当前分钟开始的时间 - - - - - - - 将时间转换成当前秒钟开始的时间 - - - - - - - 当前时间在这一天里的秒数 - - - - - - - 窗体操作类 - - - - - 设置Comobox的行间距 - - - - - - - 移除关闭按钮。返回值,非零表示成功,零表示失败。 - - 窗口的句柄 - 是否成功 - - - - 把窗体放到最前 - - - - - - 显示窗体 - - - - - - - - 设置窗体是否置顶 - - - - - - - 显示没有焦点的窗口 - - - - - - 根据句柄获取窗口文本 - - - - - - - 根据句柄获取窗口类 - - - - - - - 获取当前活动的窗口句柄 - - - - - - 设置为当前活动窗口 - - - - - - - 根据窗口句柄来获得进程id - - - - - - - 显示窗体 - - - - - - 设置窗体父窗体为桌面,不会随着显示桌面而最小化,但无法设置窗体透明度 - - - - - - 结束进程 - - - - - - - 打开窗体,只打开一个实例(非模态) - - - - - - - 设置注册表操作,部分功能需要管理员权限 - - - - - 访问的注册表位置(64位还是32位) - - - - - 访问的注册表节点 - - - - - 设置是否开机启动 - - 是否开机启动 - 开机启动名称 - 启动命令 - - - - - 设置是否开机启动 - - 是否开机启动 - 开机启动名称 - - - - - 把指定文件设置为开机启动或取消开机启动 - - 是否开机启动 - 开机启动名称 - 要开机启动的文件路径 - - - - - 检查是否开机启动 - - 开机启动名称 - 开机启动命令 - - - - - 检查是否开机启动 - - 开机启动名称 - - - - - 判断指定文件是否是开机启动 - - 开机启动名称 - 文件路径 - - - - - 判断当前程序是否是开机启动 - - 开机启动名称 - - - - - 判断当前程序是否是开机启动 - - 开机启动名称 - 启动命令行 - - - - - 设置指定文件的浏览器控件内核版本 - - 文件名,要求不带路径 - 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 采用的IE模式 - - - - - IE7兼容视图 - - - - - IE8 标准模式 - - - - - IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - IE9 标准模式 - - - - - IE9 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - IE10 标准模式 - - - - - IE10 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 设置当前软件的浏览器控件内核版本 - - 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 设置指定文件的浏览器控件内核版本 - - 文件名,要求不带路径 - IE内核版本 - - - - - 设置当前软件的浏览器控件内核版本 - - IE内核版本 - - - - - 系统函数 - - - - - - - - - - 红 - - - - - 绿 - - - - - 蓝 - - - - - 获取屏幕伽马值 - - - - - - - - 设置屏幕伽马值 - - - - - - - - 获取键盘和鼠标没有操作的时间 - - - - - - 设置屏幕 Gamma值 - - - - - - - - - 设置屏幕亮度 - - - - - - - 获取系统 - - - - - - 窗体操作类 - - - - - 构造函数 - - - - - - 析构 - - - - - 设置让窗体支持移动 - - - - - 是否允许可调节大小 - - - - - 可调节窗体大小的宽度 - - - - - - - - - - - 给控件增加拖放功能的类 - - - - - 拖放实例 - - - - - 高级拖放事件 - - - - - - - - - - 使支持拖放属性 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 网络操作类 - - - - - 通过NetworkInterface读取网卡Mac - - - - - - 通过NetworkInterface读取网卡Mac - - - - - - 根据mac字符串来获取最终的mac地址,可以是各种MAC地址格式,非法的内容将返回null - - - - - - - 远程唤醒 - - - - - - - - 远程唤醒 - - - - - - - - - 消息客户端类 - - - - - 判断当前消息主服务器是否创建成功 - - - - - 最后一次接收消息的时间,可用来判断服务端是否有响应 - - - - - 主句柄 - - - - - 当收到消息时激发 - - - - - 连接上主服务器时触发 - - - - - 收到服务端关闭通知 - - - - - 收到服务端关闭通知,即将关闭 - - - - - 服务端大小改变时激发 - - - - - 实例化客户端 - - 服务端ID - 当前客户端ID,会向服务器报告当前ID - 客户端 - - - - - - - - - 断开服务端连接 - - - - - 发送消息,采用多线程发送 - - - - - - - 向服务端发送心跳包 - - - - - 判断服务端句柄是否存在。 - - - - - - 共享内存 - - - - - 写共享内存 - - 需要映射的文件的字节数量 - 映射对象(简单类型、结构体等) - 文件映射对象的名称 - - - - - 写共享内存 - - 需要映射的文件的字节数量 - 映射对象(简单类型、结构体等) - 文件映射对象的名称 - 发送消息的窗口句柄 - 发送消息 - - - - - 读共享内存 - - 需要映射的文件的字节数量 - 类型 - 文件映射对象的名称 - 返回读到的映射对象 - - - - 读共享内存 - - 需要映射的文件的字节数量 - 类型 - 文件映射对象的名称 - 返回读到的映射字节数据 - - - - 消息服务器 - - - - - 消息事件 - - - - - - - 大小改变事件 - - - - - - - - 即将关闭事件 - - - - - - - 当收到消息时激发 - - - - - 消息处理类 - - - - - - - - - - - - - - - - - - - - - - - 发送消息,采用单线程发送 - - 要发送到的句柄 - 编号 - 消息内容 - - - - 发送消息,采用多线程发送 - - 要发送到的句柄 - 编号 - 消息内容 - - - - 消息类 - - - - - 是否取消 - - - - - 来源句柄 - - - - - - - - - - 消息文本 - - - - - 需要回复的内容 - - - - - 消息服务端类 - - - - - 判断当前消息主服务器是否创建成功 - - - - - 当收到消息时激发 - - - - - 当收到自定义消息时(非系统消息)激发 - - - - - 有消息客户端发起连接请求时激发 - - - - - 有消息客户端连接成功时激发 - - - - - 有消息客户端断开连接时激发 - - - - - - - 服务端ID,需要唯一性,共客户端识别 - 服务端 - - - - 释放资源 - - - - - 判断是否包含指定客户端 - - - - - - - - - - - - 设置客户端大小 - - - - - 根据客户端ID,获取客户端对象 - - - - - - - 根据客户端句柄,获取客户端对象 - - - - - - - 关闭所有客户端 - - - - - 关闭指定客户端 - - - - - - 关闭指定客户端 - - - - - - 向所有客户端发送消息,单线程 - - - - - - - 向指定客户端发送消息 - - - - - - - - 关闭在指定时间前失去响应的子客户端 - - - - - - 客户端信息 - - - - - 客户端句柄 - - - - - 客户端ID - - - - - 客户端连接时间 - - - - - 心跳时间 - - - - - 数据库引擎 - - - - - 数据库枚举类型 - - - - - Odbc引擎 - - - - - OleDb引擎 - - - - - Oracle引擎 - - - - - MSSQL引擎 - - - - - SQLite引擎 - - - - - MySql引擎 - - - - - 判断DataSet是否包含数据 - - - - - - - 获取首行数据 - - - - - - - 获取第一行第一列的值 - - - - - - - 将DataSet类型转换为RyQuickSQL列表类型 - - - - - - - 将DataSet类型转换为RyQuickSQL列表类型 - - - - - - - - 数据库操作接口 - - - - - 连接数据库 - - - - - - 断开数据库 - - - - - - 获取数量 - - - - - - - - 获取分页语句 - - - - - - - - - 获取分页语句 - - - - - - - - - 获取分页语句 - - - - - - - - - - 获取分页语句 - - - - - - - - - - 添加Parameter参数 - - - - - - - 清空Parameter参数 - - - - - - - 获取Parameter值 - - - - - - 根据RyQuickSQL类来获取Parameter值 - - - - - - - 开始执行事务 - - - - - 提交事务 - - - - - 判断是否包含数据 - - - - - - - - 返回-1000表示该数据库不支持本接口 - - - - - - - 读取数据 - - - - - - - 读取数据 - - - - - - - - 读取数据 - - - - - - - - 根据id号获取数据 - - - - - - - - 执行SQL语句 - - - - - - - - 执行SQL语句 - - - - - - - - 执行SQL语句 - - - - - - - 根据id号删除数据 - - - - - - - - 创建数据库 - - - - - - - 释放资源 - - - - - SQL字段类型 - - - - - SQL字段类型 - - - - - - - SQL字段类型 - - - - - - - - SQL字段名 - - - - - SQL字段值 - - - - - SQL字段长度 - - - - - 不是真的值,而是用于计算的值 - - - - - SQL快速操作类 - - - - - SQL快速操作类 - - - - - - 表名 - - - - - 操作字段列表 - - - - - 清理使用资源 - - - - - 清理使用资源 - - - - - 操作参数列表 - - - - - 操作参数列表 - - - - - 添加字符串字段 - - - - - - - 添加null值字段 - - - - - - 添加日期字段 - - - - - - - 添加int字段 - - - - - - - 添加double字段 - - - - - - - 添加decimal字段 - - - - - - - 添加bool字段 - - - - - - - 添加用于计算的值 - - - - - - - 添加Int64字段 - - - - - - - 清空内容 - - - - - 数量 - - - - - - - - - - 输出多条件搜索。 - - 字段名,多个字段请用逗号分隔。 - 多个条件之间请用空格隔开 - - - - - 获取插入SQL语句 - - - - - - 获取更新SQL语句 - - - - - - 添加参数 - - - - - - - 获取Ole参数 - - - - - - 获取SQL参数 - - - - - - AES加密解密类 - - - - - AES加密算法 - - 明文字符串 - 密钥 - 返回加密后的密文字节数组 - - - - AES解密 - - 密文字节数组 - 密钥 - 返回解密后的字符串 - - - - 加密 - - - - - - - - 解码 - - - - - - - - 转换密钥到合法密钥 - - - - - - - Base64编码类 - - - - - 编码 - - - - - - - 把字符串编码成Base64字符串 - - - - - - - - 解码 - - - - - - - MD5和SHA1操作类 - - - - - 获取MD5 - - - - - - - 获取MD5 - - - - - - - 获取SHA1 - - - - - - - 获取SHA1 - - - - - - - 获取HmacSHA1 - - - - - - - - 获取SHA256 - - - - - - - 获取HmacSHA256 - - - - - - - 获取SHA224 - - - - - - - 获取SHA512 - - - - - - - 获取HmacSHA512 - - - - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - - - - 利用IDisposable的using语法糖方便的释放锁定操作 - 内部类 - - - - 读写锁对象 - - - - 是否为写入模式 - - - - 利用IDisposable的using语法糖方便的释放锁定操作 - 构造函数 - - 读写锁 - 写入模式为true,读取模式为false - - - 释放对象时退出指定锁定模式 - - - - 空的可释放对象,免去了调用时需要判断是否为null的问题 - 内部类 - - - - 空的可释放对象 - - - - 空的释放方法 - - - - 读写锁 - - - - 保存数据 - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - 构造函数 - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - 构造函数 - 为Data属性设置初始值 - - - - 获取或设置当前对象中保存数据的值 - - 获取数据时未进入读取或写入锁定模式 - 设置数据时未进入写入锁定模式 - - - 是否启用,当该值为false时,Read()和Write()方法将返回 Disposable.Empty - - - - 进入读取锁定模式,该模式下允许多个读操作同时进行 - 退出读锁请将返回对象释放,建议使用using语块 - Enabled为false时,返回Disposable.Empty; - 在读取或写入锁定模式下重复执行,返回Disposable.Empty; - - - - 进入写入锁定模式,该模式下只允许同时执行一个读操作 - 退出读锁请将返回对象释放,建议使用using语块 - Enabled为false时,返回Disposable.Empty; - 在写入锁定模式下重复执行,返回Disposable.Empty; - - 读取模式下不能进入写入锁定状态 - - - - 中国农历类,最大支持公元0-9999年 - - 日期:2019-02-09 - 作者:http://www.cnblogs.com/zjfree/ - - - - 日历类型 - - - - - 无效 - - - - - Julian 日历 - - - - - Gregorian 日历 - - - - - 有效 - - - - - 公历节日 - - - - - 农历节日 - - - - - 某个月第n个星期几 - - - - - 获取农历 - - - - - - - 获取农历 - - - - - - - - - 获得某农历年的闰月,返回 1~12 对应一月到十二月,返回 0 表示无闰月 - - - - - - - 农历搜索方向 - - - - - 无效 - - - - - 向上 - - - - - 向下 - - - - - {* 日月食类型, 无, 日食, 月全食, 月偏食 } - - - - - 无 - - - - - 日食 - - - - - 月全食 - - - - - 月偏食 - - - - - {* 月相, 无, 朔, 望} - - - - - 无 - - - - - 朔 - - - - - 望 - - - - - 获得某公历年月日的农历日数和该日月相以及日月食类型和时刻 - - - - - - - - - - - - 获得某公历年月日的农历月数 - - - - - - - - - 获取阳历日期对应的农历日期 - - - - - - - - - - - - - 获得某公历年月日的农历月日和是否闰月的信息 - - - - - - - - - - - - 获得等效标准日数对应的某公历日,倒推而来 - - - - - - - - - - 比较两个农历日期(包括闰月信息),1 大于2返回1、1等于2返回0、1小于2返回-1 - - - - - - - - - - - - - - 获得某农历年月日(加是否闰月)的公历年月日 - 该函数采用反向二分法查找 - - - - - - - - - - - - - 获取农历某一个月的总天数 - - - - - - - - - 获取农历年份,范围约1901-2101年 - - - - - - - 获取农历年份,范围约0-9999年 - - - - - - - - - 获取农历月份,范围约1901-2101年 - - - - - - - 获取农历月份,范围约0-9999年 - - - - - - - - - 获取中文表示的农历月份 - - - - - - - 获取农历日,范围约1901-2101年 - - - - - - - 获取农历日,范围约0-9999年 - - - - - - - - - 获取农历日,范围约0-9999年 - - - - - - - 获取节气,范围约1901-2101年 - - - - - - - 获取节气,范围约0-9999年 - - - - - - - - - 返回y年第n个节气(如小寒为1)的日差天数值(pd取值真假,分别表示平气和定气) - - - - pd取值真假,分别表示平气和定气 - - - - - 获取等效标准日数 - - - - - - - - - 取本月天数,不考虑 1582 年 10 月的特殊情况 - - - - - - - - 获取节气,范围约1901-2101年 - - - - - - - 获取节气,范围约0-9999年 - - - - - - - - - 获取节气 - - - - - - - - - - - - 获取公历节日 - - - - - - - 获取公历节日 - - - - - - - - - 获取指定月份的第n个星期几的节日 - - - - - - - 返回星座,范围约1901-2101年 - - - - - 返回星座,范围约0-9999年 - - - - - 获取农历节日 - - - - - - - - - 获取农历节日 - - - - - - - 判断y年m月(1,2,..,12,下同)d日是Gregorian历还是Julian历(opt=1,2,3分别表示标准日历,Gregorge历和Julian历),是则返回1,是Julian历则返回0,若是Gregorge历所删去的那10天则返回-1 - - - - - 返回阳历y年m月d日的日差天数(在y年年内所走过的天数,如2000年3月1日为61) - - - - - 返回阳历y年日差天数为x时所对应的月日数(如y=2000,x=274时,返回1001(表示10月1日,即返回100*m+d)) - - - - - 获取指定日期的节气。 - - 要获取的年 - 要获取的月 - - - 立春:立是开始的意思,春是蠢动,表示万物开始有生气,这一天春天开始。 - 雨水:降雨开始,雨水将多。 - 惊蛰:春雷响动,惊动蛰伏地下冬眠的生物,它们将开始出土活动。 - 春分:这是春季九十天的中分点,这一天昼夜相等,所以古代曾称春分秋分为昼夜分。 - 清明:明洁晴朗,气候温暖,草木开始萌发繁茂。 - 谷雨:雨生百谷的意思。雨水增多,适时的降雨对谷物生长很为有利。 - 立夏:夏天开始,万物渐将随温暖的气候而生长。 - 小满:满指籽粒饱满,麦类等夏热作物这时开始结籽灌浆,即将饱满。 - 芒种:有芒作物开始成熟,此时也是秋季作物播种的最繁忙时节。 - 夏至:白天最长,黑夜最短,这一天中午太阳位置最高,日影短至终极,古代又称这一天为日北至或长日至。 - 小暑:暑是炎热,此时还未到达最热。 - 大暑:炎热的程度到达高峰。 - 立秋:秋天开始,植物快成熟了。 - 处暑:处是住的意思,表示暑气到此为止。 - 白露:地面水气凝结为露,色白,是天气开始转凉了。 - 秋分:秋季九十天的中间,这一天昼夜相等,同春分一样,太阳从正东升起正西落下。 - 寒露:水露先白而后寒,是气候将逐渐转冷的意思。 - 霜降:水气开始凝结成霜。 - 立冬:冬是终了,作物收割后要收藏起来的意思,这一天起冬天开始。 - 小雪:开始降雪,但还不多。 - 大雪:雪量由小增大。 - 冬至:这一天中午太阳在天空中位置最低,日影最长,白天最短, 黑夜最长,古代又称短日至或日南至。 - 小寒:冷气积久而为寒,此时尚未冷到顶点。 - 大寒:天候达到最寒冷的程度 - - - - - 获取年柱。 - - - - - 获得月柱 - - - - - - - 获取日柱。 - - - - - 返回甲子数x对应的天干数(如33为3) - - - - - 返回甲子数x对应的地支数(如33为9) - - - - - 获取日的天干地支 - - - - - - - 返回甲子数x对应的天干字符串 - - - - - 返回甲子数x对应的地支字符串 - - - - - 返回甲子数x对应的干支字符串 - - - - - - - 获取三伏开始时间 - - - 0表示1伏,1表示2伏,2表示3伏 - - - - - 节气 - - - - - 节气的时间。 - - - - - 节气名。 - - - - - 热键转换类 - - - - - 功能键。 - - - - - 修改键。 - - - - - 转换功能键到谷歌浏览器专用 - - - - - 将chrome功能键转换为普通功能键 - - - - - - - 按键值。 - - - - - 初始化类 的新实例。 - - The modifiers. - The key code. - - - - - - - - - - - - - - - - - 初始化类 的新实例。 - - - - - 加载热键 - - - - - - - 加载热键 - - - - - - 加载热键 - - - - - - 判断是否是热键 - - - - - 获取当前热键 - - - - - 已重载,返回“Ctrl+Alt+A”格式的字符串。 - - 类似“Ctrl+Alt+A”格式的字符串 - - - - 返回“Ctrl+Alt+A”格式的字符串。 - - 类似“Ctrl+Alt+A”格式的字符串 - - - - 功能键 - - - - - 无 - - - - - Alt键 - - - - - Ctrl键 - - - - - Shift键 - - - - - Win键 - - - - - 热键类 - - - - - 热键类 - - - - - - 热键注销 - - - - - 热键是否有效 - - - - - 释放热键 - - - - - 注册热键 - - - - - - - - - 注册热键 - - - - - - - - - 删除热键 - - - - - - - 删除所有热键 - - - - - 热键事件 - - - - - - 当使用热键时发生的事件 - - - - - 热键消息过滤 - - - - - - - 热键类型 - - - - - 热键id - - - - - 功能键 - - - - - 普通键 - - - - - 热键类型 - - - - - - - - Win32 API - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 获取当前前台窗口句柄 - - - - - - 获得当前活动窗体 - - - - - - 设置活动窗体 - - - - - - - 获取类名 - - - - - - - - - 获取当前线程对应的进程ID - - - - - - - - 判断指定句柄是否是一个窗口 - - - - - - - 获取窗口标题 - - - - - - - - - 查找窗口 - - - - - - - - 设置父窗口 - - - - - - - - 移动窗口 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 结束进程 - - - - - - - - 发送消息 - - - - - - - - - - 发送消息 - - - - - - - - - 获取窗口位置和大小 - - - - - - - - 矩形 - - - - - 最左坐标 - - - - - 最上坐标 - - - - - 最右坐标 - - - - - 最下坐标 - - - - - WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。 - - - - - 系统通道ID - - - - - 用户通道ID - - - - - - - - - - - - - - - - - - - - - - - - - 获取消息 - - - - - - - - 发送消息 - - - - - - - - - - 设置父窗口 - - - - - - - - + + + + MyDb + + + + + 基于XML实现的权限类 + + + + + 用户名 + + + + + 用户id + + + + + 密码 + + + + + 权限控制Id + + + + + 用户备注 + + + + + 是否是管理员权限 + + + + + 是否是超级管理员权限 + + + + + 设置权限 + + 权限名称 + 权限值 + 返回是否设置成功 + + + + 获取权限 + + 权限名称 + 默认权限值 + 返回权限值 + + + + 获取权限 + + 权限名称 + 返回权限值 + + + + 批量导入权限 + + 权限相关的内容 + 返回是否执行成功 + + + + 导出权限 + + 返回导出文本 + + + + 清除所有权限 + + 返回是否执行成功 + + + + 汉字转拼音静态类,包括功能全拼和缩写,方法全部是静态的 + + + + + 汉字的机内码数组 + + + + + 机内码对应的拼音数组 + + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 转换后的拼音(全拼)字符串 + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 转换后的拼音(全拼)字符串 + + + + 把汉字转换成拼音(首拼) + + 汉字字符串 + 转换后的拼音(首拼)字符串 + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 用指定字符分隔 + 转换后的拼音(全拼)字符串 + + + + 汉字转拼音缩写 + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (字符串) (小写) (空格间隔) + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (大写) + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (字符串)(大写)(空格间隔) + + 要转换的汉字字符串 + 拼音缩写 + + + + 取单个字符的拼音声母 + + 要转换的单个汉字 + 拼音声母 + + + + 取单个字符的拼音声母 + + 要转换的单个汉字 + 拼音声母 + + + + Ini操作类 + + + + + 写入Ini + + + + + + + + + + 获取Ini + + + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + + + 获取所有节点名称(Section) + + 存放节点名称的内存地址,每个节点之间用\0分隔 + 内存大小(characters) + Ini文件 + 内容的实际长度,为0表示没有内容,为nSize-2表示内存大小不够 + + + + 编码 + + + + + Ini操作类 + + + + + + 根据section取所有key和值 + + + + + + + 读取INI文件中指定INI文件中的所有节点名称(Section) + + 所有节点,没有内容返回string[0] + + + + 读取INI文件 + + 段,格式[] + 键 + 返回byte类型的section组或键值组 + + + + 根据section取所有key + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入Ini + + + + + + + + 读取Ini + + + + + + + + 读取Ini + + + + + + + + + 读取Ini + + + + + + + + + 读取Ini + + + + + + + + + + + 写入ini + + + + + + + + + 删除Ini的Key + + + + + + + 删除Ini节点 + + + + + + 控件信息 + + + + + id + + + + + 控件对象 + + + + + 控件值类型 + + + + + 默认值 + + + + + 值类型 + + + + + 默认 + + + + + 取列表顺序值 + + + + + 取当前选择的列表值 + + + + + 取对象值 + + + + + 保存的设置类型 + + + + + Ini + + + + + XML + + + + + 对象值 + + + + + 显示的文本 + + + + + 图片序号 + + + + + id + + + + + Tag值 + + + + + 显示文本值 + + + + + + 星期数据 + + + + + 一周的开始时间 + + + + + 一周的结束时间 + + + + + XML操作类 + + + + + XML操作类 + + + + + 从XML文本中加载数据 + + + + + + 从指定的XML文本中加载 + + XML文本 + 如为1,表示加载成功,为0为失败 + + + + 载入空的XML文档 + + 如为1,表示加载成功,为0为失败 + + + + 从指定的文件中加载 + + XML文件路径 + 如为1,表示加载成功,为0为失败 + + + + 保存到指定文件中 + + 文件路径 + 如为1,表示保存成功,为0为失败 + + + + 判断节点是否存在 + + 属性名 + 属性值 + 返回1,表示存在,其它表示不存在 + + + + 定位节点 + + 属性名 + 属性值 + 返回第一个符合要求的结果 + + + + 定位节点,如果找不到节点,就新建一个节点 + + 属性名 + 属性值 + 返回第一个符合要求的结果 + + + + 根据用户的节点定位节点,输入节点时,一定要注意节点是属于类内部的,否则可能出错。 + + 返回第一个符合要求的结果 + + + + 定位设置节点 + + 返回第一个符合要求的结果 + + + + 在节点后插入数据 + + + + + + + 在节点前插入数据 + + + + + + + 获取节点数量 + + 属性名 + 属性值 + 返回符合要求的结果数量 + + + + 获取节点数量 + + 返回符合要求的结果数量 + + + + 获取节点数量 + + 属性名 + 属性值 + + + + 返回符合要求的结果数量 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 读取指定节点的值 + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 获取属性值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取所有的节点名称 + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 获取XML文件的根元素 + + + + + 获取所有列表 + + 如为1,表示获取成功,为0为失败 + + + + 获取所有列表 + + 如为1,表示获取成功,为0为失败 + + + + 新增节点 + + + + + + + + 新增节点并定位到新节点 + + + + + + + + 新增设置节点并定位 + + + + + + 在指定节点前新增节点并定位到新节点 + + + + + + + + + 获取当前节点 + + + + + + 删除节点 + + + + + + 获取XML文本 + + + + + + 获取XML文本 + + + + + + 获取文本 + + + + + + 获取文本 + + + + + + 字符串操作类 + + + + + 字符串转Base64 + + + + + + + Base64转字符串 + + + + + + + 转换指定字符串为布尔类型 + + + + + 转换指定字符串为Double类型 + + + + + 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + + + + + 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. + + 一个日期和时间 + + + + + 转换指定字符串为Int类型 + + + + + 转换指定字符串为Int类型 + + + + + 转换指定布尔类型为Int类型,true为1,false为0 + + + + + 判断指定字符串是否是布尔类型 + + + + + 判断指定字符串是否是Double类型 + + + + + 判断指定字符串是否是Int类型 + + + + + 根据年月日转换成日期 + + + + + + + + + 追加字符 + + + + + 获取2个字符串中间的内容,point1为空表示从首位开始算,point2为空表示算到结尾。 + + + + + 判断字符串是否只包含数字或英文 + + + + + + + 判断字符串是否只包含英文 + + + + + + + 判断字符串是否匹配,支持?*通配符 + + 待匹配的字符串 + 匹配的通配符 + + + + + 通配符替换 + + + + + + + + + 获取匹配的内容 + + + + + + + + + 文件时间 + + + + + 创建时间 + + + + + 最后修改时间 + + + + + 访问时间 + + + + + 图片类型 + + + + + Bmp图片 + + + + + Jpeg图片 + + + + + Png图片 + + + + + Gif动态图片 + + + + + Tiff图片 + + + + + 对变量的拓展 + + + + + 替换文本(忽略大小写) + + + 需要替换的内容 + 替换后的内容 + + + + + 替换文本(忽略大小写),可支持通配符 + + + + + 是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换 + + + + + 获取符合要求的第一个结果 + + + + 是否是正则 + + + + + 查找字符串,忽略大小写 + + + + + + + + + 查找字符串,忽略大小写 + + + + + + + + 判断字符串是否是数字或英文 + + + + + + + 判断字符串是否是英文 + + + + + + + 是否在指定范围内 + + + + + + + + + 是否在指定范围内 + + + + + + + + + 转换指定字符串为Int类型 + + + 最小值 + 最大值 + 如果字符串不在范围内,则使用本默认值 + + + + + 转换指定布尔类型到Int类型,true为1,false为0 + + + + + + + 将指定类型转换成整型 + + + + + + + + 将指定类型转换成整型 + + + + + + + 将指定类型转换成长整型 + + + + + + + + 将指定类型转换成长整型 + + + + + + + 转换指定类型为Double类型 + + + + + + + + 转换指定类型为Double类型 + + + + + + + 转换DateTime类型到日期时间字符串 + + + + + + + 转换DateTime类型到日期字符串 + + + + + + + 转换DateTime类型到日期星期字符串 + + + + + + + 转换DateTime类型到Unix时间戳 + + + + + + + 转换Unix时间戳到DateTime类型 + + + + + + + 判断字符串是否与内容匹配 + + + + + + + + 将变量值转换成Double类型,如果不在指定区域范围内,则使用默认值 + + + + + + + + + + 转换到文件大小字符串 + + + + + + + 转换到文件大小字符串 + + + + + + + 转换指定类型为Decimal类型 + + + + + + + + 将变量值转换成Decimal类型 + + + + + + + 将变量值转换成Decimal类型,如果不在指定区域范围内,则使用默认值 + + + + + + + + + + 转换指定类型为DateTime类型 + + + + + + + + 将变量值转换成DateTime类型 + + + + + + + 转换指定类型为布尔类型 + + + + + + + 追加字符 + + + + + + + + 获取指定字符串之间的内容 + + + + + + + + + 获取指定字符串之间的内容 + + + + + + + + + + + + 判断指定字符串是否是Int类型 + + + + + + + 判断指定字符串是否是Double类型 + + + + + + + 判断是否是布尔类型 + + + + + + + 将字符串转换为Base64类型 + + + + + + + 判断字符串是否在指定长度 + + + + + + + + + 判断能否转换成日期格式 + + + + + + + 文件信息 + + + + + 获取版本号 + + + + + 获取版本号 + + + + + + + 判断是否是管理员方式运行 + + + + + + Hosts操作类 + + + + + 获取并转换hosts内容 + + hosts内容 + + + + + 获取hosts并转换hosts内容 + + hosts内容 + + + + + 追加内容到hosts里 + + 要追加的内容列表,每一行为ip 域名的格式 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 追加内容到hosts里 + + 要追加的内容 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 追加内容到hosts里 + + ip地址 + 域名 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 从hosts文件里删除内容 + + 要删除的内容 + 0表示无需删除,-1表示添加失败,1表示删除成功 + + + + 从hosts文件里删除内容 + + ip地址 + 域名 + 0表示无需删除,-1表示添加失败,1表示删除成功 + + + + Host信息 + + + + + IP + + + + + 域名 + + + + + 注释 + + + + + 是否要删除 + + + + + 音频播放类 + + + + + 临时音频文件 + + + + + 父窗口句柄 + + + + + 声音标签 + + + + play synchronously (default) + + + play asynchronously + + + silence (!default) if sound not found + + + pszSound points to a memory file + + + loop the sound until next sndPlaySound + + + don’t stop any currently playing sound + + + Stop Playing Wave + + + don’t wait if the driver is busy + + + name is a registry alias + + + alias is a predefined id + + + name is file name + + + name is resource name or atom + + + + 音频播放类 + + embedded music file + 临时保存的文件位置 + 父窗口句柄 + + + + 音频播放类 + + 要播放的音频位置 + 父窗口句柄 + + + + 音频播放类 + + + 父窗口句柄 + + + + 播放音频 + + + + + + 播放音频 + + + + + 关闭音频 + + + + + 文件操作类 + + + + + + + + + + 删除单个文件。 + + 删除的文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 删除单个文件。 + + 删除的文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 永久删除单个文件。 + + 永久删除的文件名 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 删除一组文件。 + + 字符串数组,表示一组文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 移动文件到指定路径下 + + 要移动的文件名 + 移动到的目的路径 + + + + + 移动一个文件到指定路径下 + + 要移动的文件名 + 移动到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 + + + + 移动一组文件到指定的路径下 + + 要移动的文件名数组 + 移动到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 复制文件到指定的文件名或路径 + + 要复制的文件名 + 复制到的目的文件名或路径 + + + + + 复制文件到指定的文件名或路径 + + 要复制的文件名 + 复制到的目的文件名或路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 复制一组文件到指定的路径 + + 要复制的文件名数组 + 复制到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法 + + 要复制的文件名 + 复制到的目的文件名或路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 删除单个或多个文件 + + 删除的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 移动或复制一个或多个文件到指定路径下 + + 操作类型,是移动操作还是复制操作 + 要移动或复制的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 + 移动到的目的位置 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 + + + + 如果指定文件夹不存在,则创建文件夹 + + + + + + 获取一个文件的全名 + + 文件名 + 返回生成文件的完整路径名 + + + + 获取一个文件的全名 + + 文件名 + 返回生成文件的完整路径名 + + + + 解释错误代码 + + 代码号 + 返回关于错误代码的文字描述 + + + + 运行文件 + + + + + + + + /运行文件 + + + + + + + + 运行程序 + + + + + + + 打开文件 + + + + + + + 打开文件夹并定位文件 + + + + + + + 打开网址 + + + + + + + 判断文件名是否有效 + + + + + + + 转换到有效文件名 + + + + + + + 追加日志 + + + + + + 追加文件 + + + + + + 读取文件内容,可以自动识别文件编码 + + + + + + + 读取文件所有行,可以自动识别文件编码 + + + + + + + 写入所有文本行到文件,如果文件夹不存在,会自动创建 + + + + + + + + 写入所有文本到文件,如果文件夹不存在,会自动创建 + + + + + + + + 从文件中加载图片,使用本方法,不会导致图片文件被占用。 + + + + + + 获取文件大小 + + + + + + + 添加文件到指定文件夹,会进行自动重命名,并返回重命名后的文件名(含路径) + + 要添加的文件路径 + 要添加到的文件夹 + 是否根据时间进行重命名 + 返回是否成功执行 + 成功执行则返回路径,否则返回空 + + + + 获取文件大小字符串 + + + + + + + 获取文件大小字符串 + + + + + + + 复制内容到剪切板 + + + + + + 添加某个控件为支持拖放属性 + + + + + + + 保存高质量不失真照片 + + + + + + + + 保存高质量不失真照片 + + + + + + + + 保存高质量不失真照片 + + + + + + + + 获取绝对路径 + + + + + + + 获取相对路径 + + + + + + + 获取图标 + + + + + + + + + + + + + + 销毁图标 + + + + + + + 获取文件图标 + + + + + + + + + + 用于取得一个文本文件的编码方式(Encoding)。 + + + + + 用于取得一个文本文件的编码方式(Encoding)。 + + + + + 取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将被返回。 + + 文件名。 + + + + + 取得一个文本文件流的编码方式。 + + 文本文件流。 + + + + + 取得一个文本文件的编码方式。 + + 文件名。 + 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 + + + + + 取得一个文本文件流的编码方式。 + + 文本文件流。 + 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 + + + + + 通过给定的文件流,判断文件的编码类型 + + 文件流 + 文件的编码类型 + + + + 判断是否是不带 BOM 的 UTF8 格式 + + + + + + + 新模态窗体 + + + + + 设置窗体返回的结果值,并关闭窗体。 + + 当前窗体 + 模态变量 + 防止 + + + + 窗体返回的结果事件 + + + + + + + 当打开的窗体返回结果时激发 + + + + + 窗体返回的状态 + + + + + 实例化类 + + 父窗体,如果为null,则取桌面为父窗体 + + + + + 获取最顶级的父窗口 + + + + + + 显示新模态窗体,会暂时禁用父窗体,关闭当前窗体后,父窗体会恢复。 + + + + + 只运行一个实例,打开后,所有窗体都依然有效。 + + + + + + 显示窗体 + + 显示的位置 + + + + 显示在父窗体中间 + + + + + 窗体显示位置 + + + + + 右上角 + + + + + 顶部中间 + + + + + 顶部右边 + + + + + 中间 + + + + + 左下角 + + + + + 底部中间 + + + + + 右下角 + + + + + 父窗体居中 + + + + + 日期时间的操作类 + + + + + 获取当前是周几,周一到周日,分别是1-7. + + + + + + + 获取当前是周几,1-7,分别是返回一到日. + + + + + + + 获取当前是周几,输入日期,根据周几,分别是返回一到日. + + + + + + + 获取一周的开始和结束,开始时间为第一天的0点,结束时间以最后一天的0点为结束时间 + + + + + + + 获取2个日期相差几周 + + + + + + + + 获取2个日期相差几个月 + + + + + + + + 获取一个月的开始 + + + + + + + 判断是否在同一个星期。 + + + + + + + + 判断是否在同一个月。 + + + + + + + + 判断是否在同一天 + + + + + + + + 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + + + + + 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + 是否显示秒 + + + + + 计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. + + 一个日期和时间 + + + + + 将c# DateTime时间格式转换为Unix时间戳格式 + + 时间 + long + + + + 时间戳转为C#格式时间 + + + + + + + 将c# DateTime时间格式转换为js时间戳格式 + + 时间 + long + + + + JS时间戳转为C#格式时间 + + + + + + + 根据年月日转换成日期 + + + + + + + + + 根据日期和时间转换成日期时间 + + + + + + + + 将时间转换成当前分钟开始的时间 + + + + + + + 将时间转换成当前秒钟开始的时间 + + + + + + + 当前时间在这一天里的秒数 + + + + + + + 窗体操作类 + + + + + 设置Comobox的行间距 + + + + + + + 移除关闭按钮。返回值,非零表示成功,零表示失败。 + + 窗口的句柄 + 是否成功 + + + + 把窗体放到最前 + + + + + + 显示窗体 + + + + + + + + 设置窗体是否置顶 + + + + + + + 显示没有焦点的窗口 + + + + + + 根据句柄获取窗口文本 + + + + + + + 根据句柄获取窗口类 + + + + + + + 获取当前活动的窗口句柄 + + + + + + 设置为当前活动窗口 + + + + + + + 根据窗口句柄来获得进程id + + + + + + + 显示窗体 + + + + + + 设置窗体父窗体为桌面,不会随着显示桌面而最小化,但无法设置窗体透明度 + + + + + + 结束进程 + + + + + + + 打开窗体,只打开一个实例(非模态) + + + + + + + 设置注册表操作,部分功能需要管理员权限 + + + + + 访问的注册表位置(64位还是32位) + + + + + 访问的注册表节点 + + + + + 设置是否开机启动 + + 是否开机启动 + 开机启动名称 + 启动命令 + + + + + 设置是否开机启动 + + 是否开机启动 + 开机启动名称 + + + + + 把指定文件设置为开机启动或取消开机启动 + + 是否开机启动 + 开机启动名称 + 要开机启动的文件路径 + + + + + 检查是否开机启动 + + 开机启动名称 + 开机启动命令 + + + + + 检查是否开机启动 + + 开机启动名称 + + + + + 判断指定文件是否是开机启动 + + 开机启动名称 + 文件路径 + + + + + 判断当前程序是否是开机启动 + + 开机启动名称 + + + + + 判断当前程序是否是开机启动 + + 开机启动名称 + 启动命令行 + + + + + 设置指定文件的浏览器控件内核版本 + + 文件名,要求不带路径 + 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 采用的IE模式 + + + + + IE7兼容视图 + + + + + IE8 标准模式 + + + + + IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + IE9 标准模式 + + + + + IE9 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + IE10 标准模式 + + + + + IE10 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 设置当前软件的浏览器控件内核版本 + + 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 设置指定文件的浏览器控件内核版本 + + 文件名,要求不带路径 + IE内核版本 + + + + + 设置当前软件的浏览器控件内核版本 + + IE内核版本 + + + + + 系统函数 + + + + + + + + + + 红 + + + + + 绿 + + + + + 蓝 + + + + + 获取屏幕伽马值 + + + + + + + + 设置屏幕伽马值 + + + + + + + + 获取键盘和鼠标没有操作的时间 + + + + + + 设置屏幕 Gamma值 + + + + + + + + + 设置屏幕亮度 + + + + + + + 获取系统 + + + + + + 窗体操作类 + + + + + 构造函数 + + + + + + 析构 + + + + + 设置让窗体支持移动 + + + + + 是否允许可调节大小 + + + + + 可调节窗体大小的宽度 + + + + + + + + + + + 给控件增加拖放功能的类 + + + + + 拖放实例 + + + + + 高级拖放事件 + + + + + + + + + + 使支持拖放属性 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 网络操作类 + + + + + 通过NetworkInterface读取网卡Mac + + + + + + 通过NetworkInterface读取网卡Mac + + + + + + 根据mac字符串来获取最终的mac地址,可以是各种MAC地址格式,非法的内容将返回null + + + + + + + 远程唤醒 + + + + + + + + 远程唤醒 + + + + + + + + + 消息客户端类 + + + + + 判断当前消息主服务器是否创建成功 + + + + + 最后一次接收消息的时间,可用来判断服务端是否有响应 + + + + + 主句柄 + + + + + 当收到消息时激发 + + + + + 连接上主服务器时触发 + + + + + 收到服务端关闭通知 + + + + + 收到服务端关闭通知,即将关闭 + + + + + 服务端大小改变时激发 + + + + + 实例化客户端 + + 服务端ID + 当前客户端ID,会向服务器报告当前ID + 客户端 + + + + + + + + + 断开服务端连接 + + + + + 发送消息,采用多线程发送 + + + + + + + 向服务端发送心跳包 + + + + + 判断服务端句柄是否存在。 + + + + + + 共享内存 + + + + + 写共享内存 + + 需要映射的文件的字节数量 + 映射对象(简单类型、结构体等) + 文件映射对象的名称 + + + + + 写共享内存 + + 需要映射的文件的字节数量 + 映射对象(简单类型、结构体等) + 文件映射对象的名称 + 发送消息的窗口句柄 + 发送消息 + + + + + 读共享内存 + + 需要映射的文件的字节数量 + 类型 + 文件映射对象的名称 + 返回读到的映射对象 + + + + 读共享内存 + + 需要映射的文件的字节数量 + 类型 + 文件映射对象的名称 + 返回读到的映射字节数据 + + + + 消息服务器 + + + + + 消息事件 + + + + + + + 大小改变事件 + + + + + + + + 即将关闭事件 + + + + + + + 当收到消息时激发 + + + + + 消息处理类 + + + + + + + + + + + + + + + + + + + + + + + 发送消息,采用单线程发送 + + 要发送到的句柄 + 编号 + 消息内容 + + + + 发送消息,采用多线程发送 + + 要发送到的句柄 + 编号 + 消息内容 + + + + 消息类 + + + + + 是否取消 + + + + + 来源句柄 + + + + + + + + + + 消息文本 + + + + + 需要回复的内容 + + + + + 消息服务端类 + + + + + 判断当前消息主服务器是否创建成功 + + + + + 当收到消息时激发 + + + + + 当收到自定义消息时(非系统消息)激发 + + + + + 有消息客户端发起连接请求时激发 + + + + + 有消息客户端连接成功时激发 + + + + + 有消息客户端断开连接时激发 + + + + + + + 服务端ID,需要唯一性,共客户端识别 + 服务端 + + + + 释放资源 + + + + + 判断是否包含指定客户端 + + + + + + + + + + + + 设置客户端大小 + + + + + 根据客户端ID,获取客户端对象 + + + + + + + 根据客户端句柄,获取客户端对象 + + + + + + + 关闭所有客户端 + + + + + 关闭指定客户端 + + + + + + 关闭指定客户端 + + + + + + 向所有客户端发送消息,单线程 + + + + + + + 向指定客户端发送消息 + + + + + + + + 关闭在指定时间前失去响应的子客户端 + + + + + + 客户端信息 + + + + + 客户端句柄 + + + + + 客户端ID + + + + + 客户端连接时间 + + + + + 心跳时间 + + + + + 数据库引擎 + + + + + 数据库枚举类型 + + + + + Odbc引擎 + + + + + OleDb引擎 + + + + + Oracle引擎 + + + + + MSSQL引擎 + + + + + SQLite引擎 + + + + + MySql引擎 + + + + + 判断DataSet是否包含数据 + + + + + + + 获取首行数据 + + + + + + + 获取第一行第一列的值 + + + + + + + 将DataSet类型转换为RyQuickSQL列表类型 + + + + + + + 将DataSet类型转换为RyQuickSQL列表类型 + + + + + + + + 数据库操作接口 + + + + + 连接数据库 + + + + + + 断开数据库 + + + + + + 获取数量 + + + + + + + + 获取分页语句 + + + + + + + + + 获取分页语句 + + + + + + + + + 获取分页语句 + + + + + + + + + + 获取分页语句 + + + + + + + + + + 添加Parameter参数 + + + + + + + 清空Parameter参数 + + + + + + + 获取Parameter值 + + + + + + 根据RyQuickSQL类来获取Parameter值 + + + + + + + 开始执行事务 + + + + + 提交事务 + + + + + 判断是否包含数据 + + + + + + + + 返回-1000表示该数据库不支持本接口 + + + + + + + 读取数据 + + + + + + + 读取数据 + + + + + + + + 读取数据 + + + + + + + + 根据id号获取数据 + + + + + + + + 执行SQL语句 + + + + + + + + 执行SQL语句 + + + + + + + + 执行SQL语句 + + + + + + + 根据id号删除数据 + + + + + + + + 创建数据库 + + + + + + + 释放资源 + + + + + SQL字段类型 + + + + + SQL字段类型 + + + + + + + SQL字段类型 + + + + + + + + SQL字段名 + + + + + SQL字段值 + + + + + SQL字段长度 + + + + + 不是真的值,而是用于计算的值 + + + + + SQL快速操作类 + + + + + SQL快速操作类 + + + + + + 表名 + + + + + 操作字段列表 + + + + + 清理使用资源 + + + + + 清理使用资源 + + + + + 操作参数列表 + + + + + 操作参数列表 + + + + + 添加字符串字段 + + + + + + + 添加null值字段 + + + + + + 添加日期字段 + + + + + + + 添加int字段 + + + + + + + 添加double字段 + + + + + + + 添加decimal字段 + + + + + + + 添加bool字段 + + + + + + + 添加用于计算的值 + + + + + + + 添加Int64字段 + + + + + + + 清空内容 + + + + + 数量 + + + + + + + + + + 输出多条件搜索。 + + 字段名,多个字段请用逗号分隔。 + 多个条件之间请用空格隔开 + + + + + 获取插入SQL语句 + + + + + + 获取更新SQL语句 + + + + + + 添加参数 + + + + + + + 获取Ole参数 + + + + + + 获取SQL参数 + + + + + + AES加密解密类 + + + + + AES加密算法 + + 明文字符串 + 密钥 + 返回加密后的密文字节数组 + + + + AES解密 + + 密文字节数组 + 密钥 + 返回解密后的字符串 + + + + 加密 + + + + + + + + 解码 + + + + + + + + 转换密钥到合法密钥 + + + + + + + Base64编码类 + + + + + 编码 + + + + + + + 把字符串编码成Base64字符串 + + + + + + + + 解码 + + + + + + + MD5和SHA1操作类 + + + + + 获取MD5 + + + + + + + 获取MD5 + + + + + + + 获取SHA1 + + + + + + + 获取SHA1 + + + + + + + 获取HmacSHA1 + + + + + + + + 获取SHA256 + + + + + + + 获取HmacSHA256 + + + + + + + 获取SHA224 + + + + + + + 获取SHA512 + + + + + + + 获取HmacSHA512 + + + + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + + + + 利用IDisposable的using语法糖方便的释放锁定操作 + 内部类 + + + + 读写锁对象 + + + + 是否为写入模式 + + + + 利用IDisposable的using语法糖方便的释放锁定操作 + 构造函数 + + 读写锁 + 写入模式为true,读取模式为false + + + 释放对象时退出指定锁定模式 + + + + 空的可释放对象,免去了调用时需要判断是否为null的问题 + 内部类 + + + + 空的可释放对象 + + + + 空的释放方法 + + + + 读写锁 + + + + 保存数据 + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + 构造函数 + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + 构造函数 + 为Data属性设置初始值 + + + + 获取或设置当前对象中保存数据的值 + + 获取数据时未进入读取或写入锁定模式 + 设置数据时未进入写入锁定模式 + + + 是否启用,当该值为false时,Read()和Write()方法将返回 Disposable.Empty + + + + 进入读取锁定模式,该模式下允许多个读操作同时进行 + 退出读锁请将返回对象释放,建议使用using语块 + Enabled为false时,返回Disposable.Empty; + 在读取或写入锁定模式下重复执行,返回Disposable.Empty; + + + + 进入写入锁定模式,该模式下只允许同时执行一个读操作 + 退出读锁请将返回对象释放,建议使用using语块 + Enabled为false时,返回Disposable.Empty; + 在写入锁定模式下重复执行,返回Disposable.Empty; + + 读取模式下不能进入写入锁定状态 + + + + 中国农历类,最大支持公元0-9999年 + + 日期:2019-02-09 + 作者:http://www.cnblogs.com/zjfree/ + + + + 日历类型 + + + + + 无效 + + + + + Julian 日历 + + + + + Gregorian 日历 + + + + + 有效 + + + + + 公历节日 + + + + + 农历节日 + + + + + 某个月第n个星期几 + + + + + 获取农历 + + + + + + + 获取农历 + + + + + + + + + 获得某农历年的闰月,返回 1~12 对应一月到十二月,返回 0 表示无闰月 + + + + + + + 农历搜索方向 + + + + + 无效 + + + + + 向上 + + + + + 向下 + + + + + {* 日月食类型, 无, 日食, 月全食, 月偏食 } + + + + + 无 + + + + + 日食 + + + + + 月全食 + + + + + 月偏食 + + + + + {* 月相, 无, 朔, 望} + + + + + 无 + + + + + 朔 + + + + + 望 + + + + + 获得某公历年月日的农历日数和该日月相以及日月食类型和时刻 + + + + + + + + + + + + 获得某公历年月日的农历月数 + + + + + + + + + 获取阳历日期对应的农历日期 + + + + + + + + + + + + + 获得某公历年月日的农历月日和是否闰月的信息 + + + + + + + + + + + + 获得等效标准日数对应的某公历日,倒推而来 + + + + + + + + + + 比较两个农历日期(包括闰月信息),1 大于2返回1、1等于2返回0、1小于2返回-1 + + + + + + + + + + + + + + 获得某农历年月日(加是否闰月)的公历年月日 + 该函数采用反向二分法查找 + + + + + + + + + + + + + 获取农历某一个月的总天数 + + + + + + + + + 获取农历年份,范围约1901-2101年 + + + + + + + 获取农历年份,范围约0-9999年 + + + + + + + + + 获取农历月份,范围约1901-2101年 + + + + + + + 获取农历月份,范围约0-9999年 + + + + + + + + + 获取中文表示的农历月份 + + + + + + + 获取农历日,范围约1901-2101年 + + + + + + + 获取农历日,范围约0-9999年 + + + + + + + + + 获取农历日,范围约0-9999年 + + + + + + + 获取节气,范围约1901-2101年 + + + + + + + 获取节气,范围约0-9999年 + + + + + + + + + 返回y年第n个节气(如小寒为1)的日差天数值(pd取值真假,分别表示平气和定气) + + + + pd取值真假,分别表示平气和定气 + + + + + 获取等效标准日数 + + + + + + + + + 取本月天数,不考虑 1582 年 10 月的特殊情况 + + + + + + + + 获取节气,范围约1901-2101年 + + + + + + + 获取节气,范围约0-9999年 + + + + + + + + + 获取节气 + + + + + + + + + + + + 获取公历节日 + + + + + + + 获取公历节日 + + + + + + + + + 获取指定月份的第n个星期几的节日 + + + + + + + 返回星座,范围约1901-2101年 + + + + + 返回星座,范围约0-9999年 + + + + + 获取农历节日 + + + + + + + + + 获取农历节日 + + + + + + + 判断y年m月(1,2,..,12,下同)d日是Gregorian历还是Julian历(opt=1,2,3分别表示标准日历,Gregorge历和Julian历),是则返回1,是Julian历则返回0,若是Gregorge历所删去的那10天则返回-1 + + + + + 返回阳历y年m月d日的日差天数(在y年年内所走过的天数,如2000年3月1日为61) + + + + + 返回阳历y年日差天数为x时所对应的月日数(如y=2000,x=274时,返回1001(表示10月1日,即返回100*m+d)) + + + + + 获取指定日期的节气。 + + 要获取的年 + 要获取的月 + + + 立春:立是开始的意思,春是蠢动,表示万物开始有生气,这一天春天开始。 + 雨水:降雨开始,雨水将多。 + 惊蛰:春雷响动,惊动蛰伏地下冬眠的生物,它们将开始出土活动。 + 春分:这是春季九十天的中分点,这一天昼夜相等,所以古代曾称春分秋分为昼夜分。 + 清明:明洁晴朗,气候温暖,草木开始萌发繁茂。 + 谷雨:雨生百谷的意思。雨水增多,适时的降雨对谷物生长很为有利。 + 立夏:夏天开始,万物渐将随温暖的气候而生长。 + 小满:满指籽粒饱满,麦类等夏热作物这时开始结籽灌浆,即将饱满。 + 芒种:有芒作物开始成熟,此时也是秋季作物播种的最繁忙时节。 + 夏至:白天最长,黑夜最短,这一天中午太阳位置最高,日影短至终极,古代又称这一天为日北至或长日至。 + 小暑:暑是炎热,此时还未到达最热。 + 大暑:炎热的程度到达高峰。 + 立秋:秋天开始,植物快成熟了。 + 处暑:处是住的意思,表示暑气到此为止。 + 白露:地面水气凝结为露,色白,是天气开始转凉了。 + 秋分:秋季九十天的中间,这一天昼夜相等,同春分一样,太阳从正东升起正西落下。 + 寒露:水露先白而后寒,是气候将逐渐转冷的意思。 + 霜降:水气开始凝结成霜。 + 立冬:冬是终了,作物收割后要收藏起来的意思,这一天起冬天开始。 + 小雪:开始降雪,但还不多。 + 大雪:雪量由小增大。 + 冬至:这一天中午太阳在天空中位置最低,日影最长,白天最短, 黑夜最长,古代又称短日至或日南至。 + 小寒:冷气积久而为寒,此时尚未冷到顶点。 + 大寒:天候达到最寒冷的程度 + + + + + 获取年柱。 + + + + + 获得月柱 + + + + + + + 获取日柱。 + + + + + 返回甲子数x对应的天干数(如33为3) + + + + + 返回甲子数x对应的地支数(如33为9) + + + + + 获取日的天干地支 + + + + + + + 返回甲子数x对应的天干字符串 + + + + + 返回甲子数x对应的地支字符串 + + + + + 返回甲子数x对应的干支字符串 + + + + + + + 获取三伏开始时间 + + + 0表示1伏,1表示2伏,2表示3伏 + + + + + 节气 + + + + + 节气的时间。 + + + + + 节气名。 + + + + + 热键转换类 + + + + + 功能键。 + + + + + 修改键。 + + + + + 转换功能键到谷歌浏览器专用 + + + + + 将chrome功能键转换为普通功能键 + + + + + + + 按键值。 + + + + + 初始化类 的新实例。 + + The modifiers. + The key code. + + + + + + + + + + + + + + + + + 初始化类 的新实例。 + + + + + 加载热键 + + + + + + + 加载热键 + + + + + + 加载热键 + + + + + + 判断是否是热键 + + + + + 获取当前热键 + + + + + 已重载,返回“Ctrl+Alt+A”格式的字符串。 + + 类似“Ctrl+Alt+A”格式的字符串 + + + + 返回“Ctrl+Alt+A”格式的字符串。 + + 类似“Ctrl+Alt+A”格式的字符串 + + + + 功能键 + + + + + 无 + + + + + Alt键 + + + + + Ctrl键 + + + + + Shift键 + + + + + Win键 + + + + + 热键类 + + + + + 热键类 + + + + + + 热键注销 + + + + + 热键是否有效 + + + + + 释放热键 + + + + + 注册热键 + + + + + + + + + 注册热键 + + + + + + + + + 删除热键 + + + + + + + 删除所有热键 + + + + + 热键事件 + + + + + + 当使用热键时发生的事件 + + + + + 热键消息过滤 + + + + + + + 热键类型 + + + + + 热键id + + + + + 功能键 + + + + + 普通键 + + + + + 热键类型 + + + + + + + + Win32 API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 获取当前前台窗口句柄 + + + + + + 获得当前活动窗体 + + + + + + 设置活动窗体 + + + + + + + 获取类名 + + + + + + + + + 获取当前线程对应的进程ID + + + + + + + + 判断指定句柄是否是一个窗口 + + + + + + + 获取窗口标题 + + + + + + + + + 查找窗口 + + + + + + + + 设置父窗口 + + + + + + + + 移动窗口 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 结束进程 + + + + + + + + 发送消息 + + + + + + + + + + 发送消息 + + + + + + + + + 获取窗口位置和大小 + + + + + + + + 矩形 + + + + + 最左坐标 + + + + + 最上坐标 + + + + + 最右坐标 + + + + + 最下坐标 + + + + + WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。 + + + + + 系统通道ID + + + + + 用户通道ID + + + + + + + + + + + + + + + + + + + + + + + + + 获取消息 + + + + + + + + 发送消息 + + + + + + + + + + 设置父窗口 + + + + + + + + diff --git a/Bin/Release/CommonControls/.NET4 示例/MyDb_SQLite.dll b/Bin/Release/CommonControls/.NET4 示例/MyDb_SQLite.dll index 8987c2b9e6e1863a5d2c0671ddbbad273edef45f..ac1a28f11415f19f7a224667b0452ca9d70519de 100644 GIT binary patch delta 57 zcmZo@U~Fh$oY29X{`lg??s7%$JM1r+8NlHDWJM+6%?e5vgalj)(*1jHZ}D$!JFgIE Ky7c%WQ*HoR6cs4| delta 57 zcmZo@U~Fh$oY2AC`TF3-?s7%$+w85(3}A46vZ9jkW(B1SLIP(q_CF9{*YntLZgZJo KsP~*jrrZEgQ52E@ diff --git a/Bin/Release/CommonControls/.NET4 示例/RyPrint.dll b/Bin/Release/CommonControls/.NET4 示例/RyPrint.dll index 04ff90d41fd5fdbecc248865d64781693b7405ed..b562ba2972fee34e9d9356182e24e8be073ca2ec 100644 GIT binary patch delta 119 zcmV--0Eqv9lmmd21CWRVXyehbi(_R2+z08i@ny>-5cVmvEaWHzMxpml-04lmth3CD zz%>JC8HxVH5_+^Z0f#K`taiBGhGKv zLCPlgACNSuj6YWMg1y?UQ7`#NEPIX#BLf42t5wXij)~7_wLICq`1yjyn5V64p0;j; Sa-5Z8Cf_^oX!E{t=&vpyP0<;FyCQ+x!paH`RHGPuk4c|r*X9VOuqba W=3|$sitRG-EI`b^-L2h>t=&vpyP0<;FyCfx-R_>qeDtqC`=nztK4{jsFYwE| WsKZ#dvt1^h1&CR<%fz!iX#xQ8xE#d* diff --git a/Bin/Release/CommonControls/.NET4 示例/ryUpdate.dll b/Bin/Release/CommonControls/.NET4 示例/ryUpdate.dll index c7a4776b7e2acbcb64458146bc56f4c00bc44dce..b66a5816e115ecde78d941e6ccda77faf3c783fe 100644 GIT binary patch delta 47 zcmV+~0MP${-~)i*1CWRVX5-PZi`7U2+z08iV@d5G5MN8AU0S{eN3O>NU?hfD;Im+A FpoJQb77YLZ delta 47 zcmV+~0MP${-~)i*1CWRVi0i?zi`7U2+XscSV@d5G5cxiMaSpUbL5qQfk9f9rud`rk FpoJk}7SjL# diff --git a/Bin/Release/CommonControls/.NET4/MyDb.dll b/Bin/Release/CommonControls/.NET4/MyDb.dll index 87d72d05a60110283f3bf50877c758f6aa4b354e..ac0b9cf262a1639fd0a72cd53ce611e84ad7b6a9 100644 GIT binary patch delta 24983 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 r1u$qakhG85s8ZOw3) z`C6~(53};@KM{)~2pc*X3}?l9Im`AX2OAD^w!%3qfyFy0qsGfZ#+GB|#7loA)EbVn z6H#{EUiNe6VTQfzMCWG>huIGQNr(pp<|mQmw3umzn{Y1gwC*Ox(jW1!!X<{AtR($? z#1Vy}yW+CIb$OBkmB~#>yLY+gX-n8;WRwZ)fFkdkppR z@iw%*ZR)TPx3|p|-x_*gvYbcEiM}H67ehVko_GiGQA8RXgAv0D^hCs0PK`HlqhG~l z%3Z_5jWgx6uxOM_PER!6Wcxd2VR?H;$3;dx&NtRGTPisULZoHT6+u3 zM)}i>hY{zeErezA3ng{N)tF6SELN(@arg{aqTNotglF`9&&d0NH!if zxgEy6A_aQLebeST^lp5Om3sM0q0y~}bPN|j5E|h$%8%hvJuE+tU(+9!a|P1(`8_14 ziFDg5e~z!3?UlEen*Z#WB0hy=}j`-R6aX_{#*oveR7sVerYj<5naE z<>=f8^6@1e?uWDC`w$b7V*FXpK=Fe5AqSINw;pph!0?HO!+(_pVo4kJ)@v+jx)J zBF`Jy5>u+jO?V`sy~jfoV;O%r zxIdz2u@08;>lVkO9s@-Wmhn%LM|iBpes9zr=807=dmQGGRSk$e+P;lg(RL}~uWc}` z#0ZggwUBS{pmUP}XX|dsPLF!sf`DU)Q@v;5lKZm!g2zzE_axe;DbZF#VDcIq z_RrERo@aSbMyO{a`#7zQXRi1ac`hu(ACcFxEIJ{uAjC|uz#7?wv^yRf`HqS@*vMxF zFeuo_Uk$?V=y-j{cAm@d&$4BE&eqXMU?X2ulJB{ZpUN)rT#Y@b!m`wfCV~Q;%_-1& zopt@9R6MarksUpptJ|}yZW9Y9f#SKKaFTOr2Nu_%u;eWW37S|XgaWtqr1F4XgcAiW z5V%cXWN(reI(6ABb$wwrTgAEsW$6L%uPw+7;Fnl`#B}rLC|MUl_+V@(O2VT9U0T)V zfUwLfQtb)*i}H16K}XgzFE)1zeuow3^(mqvaDM1sEJuePKx|*|1!7`n(*BW8IK@Je z#Z|`;-*F!7$iljvEIo^)Aer!qWO5fwM-DRH%yqo^&~Jiu)n{TjB@&aN@U#mZW$1ZYL{XA&&X_= z0PeZ;#O4O2!F2V2#uB=E!3%M8T?v!QCA@wBc5%h$6|8SyO>n!M>aWEg8q;+>l;Bk_ zZG;mc__Y?>3{@r_%D3Rpiy8h=p{)>AE+gOWfNSNX*a1UuAJVf=p_g#58}4|Md@oGE z^$6@U_@n@{lYI``ti%t(&sJ*aFnAV`Lj#*wMOQaA9j|((I^Pq?v6jQ$+sWBCOQ$of5tY-SQJ;=KFv49kp8T8J;#p4Gv!?T(Vl_bl!wwNvY+L3_(R)57Oz{H>4Dco-6p)EBi-E$hJkk0QJ_!gIsTQP z#faPBDE`6d?cj;OYx@Lp5qH3F#GNo1|K|Cp@CM>82*sJ+4Vj1$dmtAtdto@@K6nE0 zGmt0J^E-o+h8LVgMXU(_{ub^6`0>HLe?vU$oX#Q^7a-$@XsuQKJQJNqir8PyHkB;I zd8L>gNpIgj4RR~Tb{Y7@BSZ1;_~j4k-(QvG=U}M=Y4006dicOc1{aSPM$QABSwdv_ z;3ryD$tJ^|gP$lHWgpRH)Ki1kcPwFPZP$+;!bZelaC2X9HqK{(&eN|mv-A3V=IfmI z7ISyrd5wjxFPP4LYQMg87u#(#&rWK%GiJcbimm(SeY(79+5_uD53{iqx{Gs?ocuU~SB4eQ{HjNk*D-jO`ts|?pe^S?4@Z6wd|ctJX8U^sYq zbvh&YK=zLFb|i1ho_B^t@h=VO_{WUXAZPvUDBhd-XbdIzF+P5L;pOb#mS^A}%Spix dDNyM2iQq$w93T7f4_&uk?-R|hvzcjz{{!_M!>a%Q diff --git a/Bin/Release/CommonControls/.NET4/MyDb.xml b/Bin/Release/CommonControls/.NET4/MyDb.xml index f4779a0..ef49181 100644 --- a/Bin/Release/CommonControls/.NET4/MyDb.xml +++ b/Bin/Release/CommonControls/.NET4/MyDb.xml @@ -1,4829 +1,4843 @@ - - - - MyDb - - - -

- 基于XML实现的权限类 - - - - - 用户名 - - - - - 用户id - - - - - 密码 - - - - - 权限控制Id - - - - - 用户备注 - - - - - 是否是管理员权限 - - - - - 是否是超级管理员权限 - - - - - 设置权限 - - 权限名称 - 权限值 - 返回是否设置成功 - - - - 获取权限 - - 权限名称 - 默认权限值 - 返回权限值 - - - - 获取权限 - - 权限名称 - 返回权限值 - - - - 批量导入权限 - - 权限相关的内容 - 返回是否执行成功 - - - - 导出权限 - - 返回导出文本 - - - - 清除所有权限 - - 返回是否执行成功 - - - - 汉字转拼音静态类,包括功能全拼和缩写,方法全部是静态的 - - - - - 汉字的机内码数组 - - - - - 机内码对应的拼音数组 - - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 转换后的拼音(全拼)字符串 - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 转换后的拼音(全拼)字符串 - - - - 把汉字转换成拼音(首拼) - - 汉字字符串 - 转换后的拼音(首拼)字符串 - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 用指定字符分隔 - 转换后的拼音(全拼)字符串 - - - - 汉字转拼音缩写 - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (字符串) (小写) (空格间隔) - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (大写) - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (字符串)(大写)(空格间隔) - - 要转换的汉字字符串 - 拼音缩写 - - - - 取单个字符的拼音声母 - - 要转换的单个汉字 - 拼音声母 - - - - 取单个字符的拼音声母 - - 要转换的单个汉字 - 拼音声母 - - - - Ini操作类 - - - - - 写入Ini - - - - - - - - - - 获取Ini - - - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - - - 获取所有节点名称(Section) - - 存放节点名称的内存地址,每个节点之间用\0分隔 - 内存大小(characters) - Ini文件 - 内容的实际长度,为0表示没有内容,为nSize-2表示内存大小不够 - - - - 编码 - - - - - Ini操作类 - - - - - - 根据section取所有key和值 - - - - - - - 读取INI文件中指定INI文件中的所有节点名称(Section) - - 所有节点,没有内容返回string[0] - - - - 读取INI文件 - - 段,格式[] - 键 - 返回byte类型的section组或键值组 - - - - 根据section取所有key - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入Ini - - - - - - - - 读取Ini - - - - - - - - 读取Ini - - - - - - - - - 读取Ini - - - - - - - - - 读取Ini - - - - - - - - - - - 写入ini - - - - - - - - - 删除Ini的Key - - - - - - - 删除Ini节点 - - - - - - 控件信息 - - - - - id - - - - - 控件对象 - - - - - 控件值类型 - - - - - 默认值 - - - - - 值类型 - - - - - 默认 - - - - - 取列表顺序值 - - - - - 取当前选择的列表值 - - - - - 取对象值 - - - - - 保存的设置类型 - - - - - Ini - - - - - XML - - - - - 对象值 - - - - - 显示的文本 - - - - - 图片序号 - - - - - id - - - - - Tag值 - - - - - 显示文本值 - - - - - - 星期数据 - - - - - 一周的开始时间 - - - - - 一周的结束时间 - - - - - XML操作类 - - - - - XML操作类 - - - - - 从XML文本中加载数据 - - - - - - 从指定的XML文本中加载 - - XML文本 - 如为1,表示加载成功,为0为失败 - - - - 载入空的XML文档 - - 如为1,表示加载成功,为0为失败 - - - - 从指定的文件中加载 - - XML文件路径 - 如为1,表示加载成功,为0为失败 - - - - 保存到指定文件中 - - 文件路径 - 如为1,表示保存成功,为0为失败 - - - - 判断节点是否存在 - - 属性名 - 属性值 - 返回1,表示存在,其它表示不存在 - - - - 定位节点 - - 属性名 - 属性值 - 返回第一个符合要求的结果 - - - - 定位节点,如果找不到节点,就新建一个节点 - - 属性名 - 属性值 - 返回第一个符合要求的结果 - - - - 根据用户的节点定位节点,输入节点时,一定要注意节点是属于类内部的,否则可能出错。 - - 返回第一个符合要求的结果 - - - - 定位设置节点 - - 返回第一个符合要求的结果 - - - - 在节点后插入数据 - - - - - - - 在节点前插入数据 - - - - - - - 获取节点数量 - - 属性名 - 属性值 - 返回符合要求的结果数量 - - - - 获取节点数量 - - 返回符合要求的结果数量 - - - - 获取节点数量 - - 属性名 - 属性值 - - - - 返回符合要求的结果数量 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 读取指定节点的值 - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 获取属性值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取所有的节点名称 - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 获取XML文件的根元素 - - - - - 获取所有列表 - - 如为1,表示获取成功,为0为失败 - - - - 获取所有列表 - - 如为1,表示获取成功,为0为失败 - - - - 新增节点 - - - - - - - - 新增节点并定位到新节点 - - - - - - - - 新增设置节点并定位 - - - - - - 在指定节点前新增节点并定位到新节点 - - - - - - - - - 获取当前节点 - - - - - - 删除节点 - - - - - - 获取XML文本 - - - - - - 获取XML文本 - - - - - - 获取文本 - - - - - - 获取文本 - - - - - - 字符串操作类 - - - - - 字符串转Base64 - - - - - - - Base64转字符串 - - - - - - - 转换指定字符串为布尔类型 - - - - - 转换指定字符串为Double类型 - - - - - 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - - - - - 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. - - 一个日期和时间 - - - - - 转换指定字符串为Int类型 - - - - - 转换指定字符串为Int类型 - - - - - 转换指定布尔类型为Int类型,true为1,false为0 - - - - - 判断指定字符串是否是布尔类型 - - - - - 判断指定字符串是否是Double类型 - - - - - 判断指定字符串是否是Int类型 - - - - - 根据年月日转换成日期 - - - - - - - - - 追加字符 - - - - - 获取2个字符串中间的内容,point1为空表示从首位开始算,point2为空表示算到结尾。 - - - - - 判断字符串是否只包含数字或英文 - - - - - - - 判断字符串是否匹配,支持?*通配符 - - 待匹配的字符串 - 匹配的通配符 - - - - - 通配符替换 - - - - - - - - - 获取匹配的内容 - - - - - - - - - 文件时间 - - - - - 创建时间 - - - - - 最后修改时间 - - - - - 访问时间 - - - - - 图片类型 - - - - - Bmp图片 - - - - - Jpeg图片 - - - - - Png图片 - - - - - Gif动态图片 - - - - - Tiff图片 - - - - - 对变量的拓展 - - - - - 替换文本(忽略大小写) - - - 需要替换的内容 - 替换后的内容 - - - - - 替换文本(忽略大小写),可支持通配符 - - - - - 是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换 - - - - - 获取符合要求的第一个结果 - - - - 是否是正则 - - - - - 查找字符串,忽略大小写 - - - - - - - - - 查找字符串,忽略大小写 - - - - - - - - 判断字符串是否是数字或英文 - - - - - - - 是否在指定范围内 - - - - - - - - - 是否在指定范围内 - - - - - - - - - 转换指定字符串为Int类型 - - - 最小值 - 最大值 - 如果字符串不在范围内,则使用本默认值 - - - - - 转换指定布尔类型到Int类型,true为1,false为0 - - - - - - - 将指定类型转换成整型 - - - - - - - - 将指定类型转换成整型 - - - - - - - 将指定类型转换成长整型 - - - - - - - - 将指定类型转换成长整型 - - - - - - - 转换指定类型为Double类型 - - - - - - - - 转换指定类型为Double类型 - - - - - - - 转换DateTime类型到日期时间字符串 - - - - - - - 转换DateTime类型到日期字符串 - - - - - - - 转换DateTime类型到日期星期字符串 - - - - - - - 转换DateTime类型到Unix时间戳 - - - - - - - 转换Unix时间戳到DateTime类型 - - - - - - - 判断字符串是否与内容匹配 - - - - - - - - 将变量值转换成Double类型,如果不在指定区域范围内,则使用默认值 - - - - - - - - - - 转换到文件大小字符串 - - - - - - - 转换到文件大小字符串 - - - - - - - 转换指定类型为Decimal类型 - - - - - - - - 将变量值转换成Decimal类型 - - - - - - - 将变量值转换成Decimal类型,如果不在指定区域范围内,则使用默认值 - - - - - - - - - - 转换指定类型为DateTime类型 - - - - - - - - 将变量值转换成DateTime类型 - - - - - - - 转换指定类型为布尔类型 - - - - - - - 追加字符 - - - - - - - - 获取指定字符串之间的内容 - - - - - - - - - 获取指定字符串之间的内容 - - - - - - - - - - - - 判断指定字符串是否是Int类型 - - - - - - - 判断指定字符串是否是Double类型 - - - - - - - 判断是否是布尔类型 - - - - - - - 将字符串转换为Base64类型 - - - - - - - 判断字符串是否在指定长度 - - - - - - - - - 判断能否转换成日期格式 - - - - - - - 文件信息 - - - - - 获取版本号 - - - - - 获取版本号 - - - - - - - 判断是否是管理员方式运行 - - - - - - Hosts操作类 - - - - - 获取并转换hosts内容 - - hosts内容 - - - - - 获取hosts并转换hosts内容 - - hosts内容 - - - - - 追加内容到hosts里 - - 要追加的内容列表,每一行为ip 域名的格式 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 追加内容到hosts里 - - 要追加的内容 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 追加内容到hosts里 - - ip地址 - 域名 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 从hosts文件里删除内容 - - 要删除的内容 - 0表示无需删除,-1表示添加失败,1表示删除成功 - - - - 从hosts文件里删除内容 - - ip地址 - 域名 - 0表示无需删除,-1表示添加失败,1表示删除成功 - - - - Host信息 - - - - - IP - - - - - 域名 - - - - - 注释 - - - - - 是否要删除 - - - - - 音频播放类 - - - - - 临时音频文件 - - - - - 父窗口句柄 - - - - - 声音标签 - - - - play synchronously (default) - - - play asynchronously - - - silence (!default) if sound not found - - - pszSound points to a memory file - - - loop the sound until next sndPlaySound - - - don’t stop any currently playing sound - - - Stop Playing Wave - - - don’t wait if the driver is busy - - - name is a registry alias - - - alias is a predefined id - - - name is file name - - - name is resource name or atom - - - - 音频播放类 - - embedded music file - 临时保存的文件位置 - 父窗口句柄 - - - - 音频播放类 - - 要播放的音频位置 - 父窗口句柄 - - - - 音频播放类 - - - 父窗口句柄 - - - - 播放音频 - - - - - - 播放音频 - - - - - 关闭音频 - - - - - 文件操作类 - - - - - - - - - - 删除单个文件。 - - 删除的文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 删除单个文件。 - - 删除的文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 永久删除单个文件。 - - 永久删除的文件名 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 删除一组文件。 - - 字符串数组,表示一组文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 移动文件到指定路径下 - - 要移动的文件名 - 移动到的目的路径 - - - - - 移动一个文件到指定路径下 - - 要移动的文件名 - 移动到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 - - - - 移动一组文件到指定的路径下 - - 要移动的文件名数组 - 移动到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 复制文件到指定的文件名或路径 - - 要复制的文件名 - 复制到的目的文件名或路径 - - - - - 复制文件到指定的文件名或路径 - - 要复制的文件名 - 复制到的目的文件名或路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 复制一组文件到指定的路径 - - 要复制的文件名数组 - 复制到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法 - - 要复制的文件名 - 复制到的目的文件名或路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 删除单个或多个文件 - - 删除的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 移动或复制一个或多个文件到指定路径下 - - 操作类型,是移动操作还是复制操作 - 要移动或复制的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 - 移动到的目的位置 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 - - - - 如果指定文件夹不存在,则创建文件夹 - - - - - - 获取一个文件的全名 - - 文件名 - 返回生成文件的完整路径名 - - - - 获取一个文件的全名 - - 文件名 - 返回生成文件的完整路径名 - - - - 解释错误代码 - - 代码号 - 返回关于错误代码的文字描述 - - - - 运行文件 - - - - - - - - /运行文件 - - - - - - - - 运行程序 - - - - - - - 打开文件 - - - - - - - 打开文件夹并定位文件 - - - - - - - 打开网址 - - - - - - - 判断文件名是否有效 - - - - - - - 转换到有效文件名 - - - - - - - 追加日志 - - - - - - 追加文件 - - - - - - 读取文件内容,可以自动识别文件编码 - - - - - - - 读取文件所有行,可以自动识别文件编码 - - - - - - - 写入所有文本行到文件,如果文件夹不存在,会自动创建 - - - - - - - - 写入所有文本到文件,如果文件夹不存在,会自动创建 - - - - - - - - 从文件中加载图片,使用本方法,不会导致图片文件被占用。 - - - - - - 获取文件大小 - - - - - - - 添加文件到指定文件夹,会进行自动重命名,并返回重命名后的文件名(含路径) - - 要添加的文件路径 - 要添加到的文件夹 - 是否根据时间进行重命名 - 返回是否成功执行 - 成功执行则返回路径,否则返回空 - - - - 获取文件大小字符串 - - - - - - - 获取文件大小字符串 - - - - - - - 复制内容到剪切板 - - - - - - 添加某个控件为支持拖放属性 - - - - - - - 保存高质量不失真照片 - - - - - - - - 保存高质量不失真照片 - - - - - - - - 保存高质量不失真照片 - - - - - - - - 获取绝对路径 - - - - - - - 获取相对路径 - - - - - - - 获取图标 - - - - - - - - - - - - - - 销毁图标 - - - - - - - 获取文件图标 - - - - - - - - - - 用于取得一个文本文件的编码方式(Encoding)。 - - - - - 用于取得一个文本文件的编码方式(Encoding)。 - - - - - 取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将被返回。 - - 文件名。 - - - - - 取得一个文本文件流的编码方式。 - - 文本文件流。 - - - - - 取得一个文本文件的编码方式。 - - 文件名。 - 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 - - - - - 取得一个文本文件流的编码方式。 - - 文本文件流。 - 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 - - - - - 通过给定的文件流,判断文件的编码类型 - - 文件流 - 文件的编码类型 - - - - 判断是否是不带 BOM 的 UTF8 格式 - - - - - - - 新模态窗体 - - - - - 设置窗体返回的结果值,并关闭窗体。 - - 当前窗体 - 模态变量 - 防止 - - - - 窗体返回的结果事件 - - - - - - - 当打开的窗体返回结果时激发 - - - - - 窗体返回的状态 - - - - - 实例化类 - - 父窗体,如果为null,则取桌面为父窗体 - - - - - 获取最顶级的父窗口 - - - - - - 显示新模态窗体,会暂时禁用父窗体,关闭当前窗体后,父窗体会恢复。 - - - - - 只运行一个实例,打开后,所有窗体都依然有效。 - - - - - - 显示窗体 - - 显示的位置 - - - - 显示在父窗体中间 - - - - - 窗体显示位置 - - - - - 右上角 - - - - - 顶部中间 - - - - - 顶部右边 - - - - - 中间 - - - - - 左下角 - - - - - 底部中间 - - - - - 右下角 - - - - - 父窗体居中 - - - - - 日期时间的操作类 - - - - - 获取当前是周几,周一到周日,分别是1-7. - - - - - - - 获取当前是周几,1-7,分别是返回一到日. - - - - - - - 获取当前是周几,输入日期,根据周几,分别是返回一到日. - - - - - - - 获取一周的开始和结束,开始时间为第一天的0点,结束时间以最后一天的0点为结束时间 - - - - - - - 获取2个日期相差几周 - - - - - - - - 获取2个日期相差几个月 - - - - - - - - 获取一个月的开始 - - - - - - - 判断是否在同一个星期。 - - - - - - - - 判断是否在同一个月。 - - - - - - - - 判断是否在同一天 - - - - - - - - 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - - - - - 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - 是否显示秒 - - - - - 计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. - - 一个日期和时间 - - - - - 将c# DateTime时间格式转换为Unix时间戳格式 - - 时间 - long - - - - 时间戳转为C#格式时间 - - - - - - - 将c# DateTime时间格式转换为js时间戳格式 - - 时间 - long - - - - JS时间戳转为C#格式时间 - - - - - - - 根据年月日转换成日期 - - - - - - - - - 根据日期和时间转换成日期时间 - - - - - - - - 将时间转换成当前分钟开始的时间 - - - - - - - 将时间转换成当前秒钟开始的时间 - - - - - - - 当前时间在这一天里的秒数 - - - - - - - 窗体操作类 - - - - - 设置Comobox的行间距 - - - - - - - 移除关闭按钮。返回值,非零表示成功,零表示失败。 - - 窗口的句柄 - 是否成功 - - - - 把窗体放到最前 - - - - - - 显示窗体 - - - - - - - - 设置窗体是否置顶 - - - - - - - 显示没有焦点的窗口 - - - - - - 根据句柄获取窗口文本 - - - - - - - 根据句柄获取窗口类 - - - - - - - 获取当前活动的窗口句柄 - - - - - - 设置为当前活动窗口 - - - - - - - 根据窗口句柄来获得进程id - - - - - - - 显示窗体 - - - - - - 设置窗体父窗体为桌面,不会随着显示桌面而最小化,但无法设置窗体透明度 - - - - - - 结束进程 - - - - - - - 打开窗体,只打开一个实例(非模态) - - - - - - - 设置注册表操作,部分功能需要管理员权限 - - - - - 访问的注册表位置(64位还是32位) - - - - - 访问的注册表节点 - - - - - 设置是否开机启动 - - 是否开机启动 - 开机启动名称 - 启动命令 - - - - - 设置是否开机启动 - - 是否开机启动 - 开机启动名称 - - - - - 把指定文件设置为开机启动或取消开机启动 - - 是否开机启动 - 开机启动名称 - 要开机启动的文件路径 - - - - - 检查是否开机启动 - - 开机启动名称 - 开机启动命令 - - - - - 检查是否开机启动 - - 开机启动名称 - - - - - 判断指定文件是否是开机启动 - - 开机启动名称 - 文件路径 - - - - - 判断当前程序是否是开机启动 - - 开机启动名称 - - - - - 判断当前程序是否是开机启动 - - 开机启动名称 - 启动命令行 - - - - - 设置指定文件的浏览器控件内核版本 - - 文件名,要求不带路径 - 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 采用的IE模式 - - - - - IE7兼容视图 - - - - - IE8 标准模式 - - - - - IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - IE9 标准模式 - - - - - IE9 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - IE10 标准模式 - - - - - IE10 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 设置当前软件的浏览器控件内核版本 - - 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 设置指定文件的浏览器控件内核版本 - - 文件名,要求不带路径 - IE内核版本 - - - - - 设置当前软件的浏览器控件内核版本 - - IE内核版本 - - - - - 系统函数 - - - - - - - - - - 红 - - - - - 绿 - - - - - 蓝 - - - - - 获取屏幕伽马值 - - - - - - - - 设置屏幕伽马值 - - - - - - - - 获取键盘和鼠标没有操作的时间 - - - - - - 设置屏幕 Gamma值 - - - - - - - - - 设置屏幕亮度 - - - - - - - 获取系统 - - - - - - 窗体操作类 - - - - - 构造函数 - - - - - - 析构 - - - - - 设置让窗体支持移动 - - - - - 是否允许可调节大小 - - - - - 可调节窗体大小的宽度 - - - - - - - - - - - 给控件增加拖放功能的类 - - - - - 拖放实例 - - - - - 高级拖放事件 - - - - - - - - - - 使支持拖放属性 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 网络操作类 - - - - - 通过NetworkInterface读取网卡Mac - - - - - - 通过NetworkInterface读取网卡Mac - - - - - - 根据mac字符串来获取最终的mac地址,可以是各种MAC地址格式,非法的内容将返回null - - - - - - - 远程唤醒 - - - - - - - - 远程唤醒 - - - - - - - - - 消息客户端类 - - - - - 判断当前消息主服务器是否创建成功 - - - - - 最后一次接收消息的时间,可用来判断服务端是否有响应 - - - - - 主句柄 - - - - - 当收到消息时激发 - - - - - 连接上主服务器时触发 - - - - - 收到服务端关闭通知 - - - - - 收到服务端关闭通知,即将关闭 - - - - - 服务端大小改变时激发 - - - - - 实例化客户端 - - 服务端ID - 当前客户端ID,会向服务器报告当前ID - 客户端 - - - - - - - - - 断开服务端连接 - - - - - 发送消息,采用多线程发送 - - - - - - - 向服务端发送心跳包 - - - - - 判断服务端句柄是否存在。 - - - - - - 共享内存 - - - - - 写共享内存 - - 需要映射的文件的字节数量 - 映射对象(简单类型、结构体等) - 文件映射对象的名称 - - - - - 写共享内存 - - 需要映射的文件的字节数量 - 映射对象(简单类型、结构体等) - 文件映射对象的名称 - 发送消息的窗口句柄 - 发送消息 - - - - - 读共享内存 - - 需要映射的文件的字节数量 - 类型 - 文件映射对象的名称 - 返回读到的映射对象 - - - - 读共享内存 - - 需要映射的文件的字节数量 - 类型 - 文件映射对象的名称 - 返回读到的映射字节数据 - - - - 消息服务器 - - - - - 消息事件 - - - - - - - 大小改变事件 - - - - - - - - 即将关闭事件 - - - - - - - 当收到消息时激发 - - - - - 消息处理类 - - - - - - - - - - - - - - - - - - - - - - - 发送消息,采用单线程发送 - - 要发送到的句柄 - 编号 - 消息内容 - - - - 发送消息,采用多线程发送 - - 要发送到的句柄 - 编号 - 消息内容 - - - - 消息类 - - - - - 是否取消 - - - - - 来源句柄 - - - - - - - - - - 消息文本 - - - - - 需要回复的内容 - - - - - 消息服务端类 - - - - - 判断当前消息主服务器是否创建成功 - - - - - 当收到消息时激发 - - - - - 当收到自定义消息时(非系统消息)激发 - - - - - 有消息客户端发起连接请求时激发 - - - - - 有消息客户端连接成功时激发 - - - - - 有消息客户端断开连接时激发 - - - - - - - 服务端ID,需要唯一性,共客户端识别 - 服务端 - - - - 释放资源 - - - - - 判断是否包含指定客户端 - - - - - - - - - - - - 设置客户端大小 - - - - - 根据客户端ID,获取客户端对象 - - - - - - - 根据客户端句柄,获取客户端对象 - - - - - - - 关闭所有客户端 - - - - - 关闭指定客户端 - - - - - - 关闭指定客户端 - - - - - - 向所有客户端发送消息,单线程 - - - - - - - 向指定客户端发送消息 - - - - - - - - 关闭在指定时间前失去响应的子客户端 - - - - - - 客户端信息 - - - - - 客户端句柄 - - - - - 客户端ID - - - - - 客户端连接时间 - - - - - 心跳时间 - - - - - 数据库引擎 - - - - - 数据库枚举类型 - - - - - Odbc引擎 - - - - - OleDb引擎 - - - - - Oracle引擎 - - - - - MSSQL引擎 - - - - - SQLite引擎 - - - - - MySql引擎 - - - - - 判断DataSet是否包含数据 - - - - - - - 获取首行数据 - - - - - - - 获取第一行第一列的值 - - - - - - - 将DataSet类型转换为RyQuickSQL列表类型 - - - - - - - 将DataSet类型转换为RyQuickSQL列表类型 - - - - - - - - 数据库操作接口 - - - - - 连接数据库 - - - - - - 断开数据库 - - - - - - 获取数量 - - - - - - - - 获取分页语句 - - - - - - - - - 获取分页语句 - - - - - - - - - 获取分页语句 - - - - - - - - - - 获取分页语句 - - - - - - - - - - 添加Parameter参数 - - - - - - - 清空Parameter参数 - - - - - - - 获取Parameter值 - - - - - - 根据RyQuickSQL类来获取Parameter值 - - - - - - - 开始执行事务 - - - - - 提交事务 - - - - - 判断是否包含数据 - - - - - - - - 返回-1000表示该数据库不支持本接口 - - - - - - - 读取数据 - - - - - - - 读取数据 - - - - - - - - 读取数据 - - - - - - - - 根据id号获取数据 - - - - - - - - 执行SQL语句 - - - - - - - - 执行SQL语句 - - - - - - - - 执行SQL语句 - - - - - - - 根据id号删除数据 - - - - - - - - 创建数据库 - - - - - - - 释放资源 - - - - - SQL字段类型 - - - - - SQL字段类型 - - - - - - - SQL字段类型 - - - - - - - - SQL字段名 - - - - - SQL字段值 - - - - - SQL字段长度 - - - - - 不是真的值,而是用于计算的值 - - - - - SQL快速操作类 - - - - - SQL快速操作类 - - - - - - 表名 - - - - - 操作字段列表 - - - - - 清理使用资源 - - - - - 清理使用资源 - - - - - 操作参数列表 - - - - - 操作参数列表 - - - - - 添加字符串字段 - - - - - - - 添加null值字段 - - - - - - 添加日期字段 - - - - - - - 添加int字段 - - - - - - - 添加double字段 - - - - - - - 添加decimal字段 - - - - - - - 添加bool字段 - - - - - - - 添加用于计算的值 - - - - - - - 添加Int64字段 - - - - - - - 清空内容 - - - - - 数量 - - - - - - - - - - 输出多条件搜索。 - - 字段名,多个字段请用逗号分隔。 - 多个条件之间请用空格隔开 - - - - - 获取插入SQL语句 - - - - - - 获取更新SQL语句 - - - - - - 添加参数 - - - - - - - 获取Ole参数 - - - - - - 获取SQL参数 - - - - - - AES加密解密类 - - - - - AES加密算法 - - 明文字符串 - 密钥 - 返回加密后的密文字节数组 - - - - AES解密 - - 密文字节数组 - 密钥 - 返回解密后的字符串 - - - - 加密 - - - - - - - - 解码 - - - - - - - - 转换密钥到合法密钥 - - - - - - - Base64编码类 - - - - - 编码 - - - - - - - 把字符串编码成Base64字符串 - - - - - - - - 解码 - - - - - - - MD5和SHA1操作类 - - - - - 获取MD5 - - - - - - - 获取MD5 - - - - - - - 获取SHA1 - - - - - - - 获取SHA1 - - - - - - - 获取HmacSHA1 - - - - - - - - 获取SHA256 - - - - - - - 获取HmacSHA256 - - - - - - - 获取SHA224 - - - - - - - 获取SHA512 - - - - - - - 获取HmacSHA512 - - - - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - - - - 利用IDisposable的using语法糖方便的释放锁定操作 - 内部类 - - - - 读写锁对象 - - - - 是否为写入模式 - - - - 利用IDisposable的using语法糖方便的释放锁定操作 - 构造函数 - - 读写锁 - 写入模式为true,读取模式为false - - - 释放对象时退出指定锁定模式 - - - - 空的可释放对象,免去了调用时需要判断是否为null的问题 - 内部类 - - - - 空的可释放对象 - - - - 空的释放方法 - - - - 读写锁 - - - - 保存数据 - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - 构造函数 - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - 构造函数 - 为Data属性设置初始值 - - - - 获取或设置当前对象中保存数据的值 - - 获取数据时未进入读取或写入锁定模式 - 设置数据时未进入写入锁定模式 - - - 是否启用,当该值为false时,Read()和Write()方法将返回 Disposable.Empty - - - - 进入读取锁定模式,该模式下允许多个读操作同时进行 - 退出读锁请将返回对象释放,建议使用using语块 - Enabled为false时,返回Disposable.Empty; - 在读取或写入锁定模式下重复执行,返回Disposable.Empty; - - - - 进入写入锁定模式,该模式下只允许同时执行一个读操作 - 退出读锁请将返回对象释放,建议使用using语块 - Enabled为false时,返回Disposable.Empty; - 在写入锁定模式下重复执行,返回Disposable.Empty; - - 读取模式下不能进入写入锁定状态 - - - - 中国农历类,最大支持公元0-9999年 - - 日期:2019-02-09 - 作者:http://www.cnblogs.com/zjfree/ - - - - 日历类型 - - - - - 无效 - - - - - Julian 日历 - - - - - Gregorian 日历 - - - - - 有效 - - - - - 公历节日 - - - - - 农历节日 - - - - - 某个月第n个星期几 - - - - - 获取农历 - - - - - - - 获取农历 - - - - - - - - - 获得某农历年的闰月,返回 1~12 对应一月到十二月,返回 0 表示无闰月 - - - - - - - 农历搜索方向 - - - - - 无效 - - - - - 向上 - - - - - 向下 - - - - - {* 日月食类型, 无, 日食, 月全食, 月偏食 } - - - - - 无 - - - - - 日食 - - - - - 月全食 - - - - - 月偏食 - - - - - {* 月相, 无, 朔, 望} - - - - - 无 - - - - - 朔 - - - - - 望 - - - - - 获得某公历年月日的农历日数和该日月相以及日月食类型和时刻 - - - - - - - - - - - - 获得某公历年月日的农历月数 - - - - - - - - - 获取阳历日期对应的农历日期 - - - - - - - - - - - - - 获得某公历年月日的农历月日和是否闰月的信息 - - - - - - - - - - - - 获得等效标准日数对应的某公历日,倒推而来 - - - - - - - - - - 比较两个农历日期(包括闰月信息),1 大于2返回1、1等于2返回0、1小于2返回-1 - - - - - - - - - - - - - - 获得某农历年月日(加是否闰月)的公历年月日 - 该函数采用反向二分法查找 - - - - - - - - - - - - - 获取农历某一个月的总天数 - - - - - - - - - 获取农历年份,范围约1901-2101年 - - - - - - - 获取农历年份,范围约0-9999年 - - - - - - - - - 获取农历月份,范围约1901-2101年 - - - - - - - 获取农历月份,范围约0-9999年 - - - - - - - - - 获取中文表示的农历月份 - - - - - - - 获取农历日,范围约1901-2101年 - - - - - - - 获取农历日,范围约0-9999年 - - - - - - - - - 获取农历日,范围约0-9999年 - - - - - - - 获取节气,范围约1901-2101年 - - - - - - - 获取节气,范围约0-9999年 - - - - - - - - - 返回y年第n个节气(如小寒为1)的日差天数值(pd取值真假,分别表示平气和定气) - - - - pd取值真假,分别表示平气和定气 - - - - - 获取等效标准日数 - - - - - - - - - 取本月天数,不考虑 1582 年 10 月的特殊情况 - - - - - - - - 获取节气,范围约1901-2101年 - - - - - - - 获取节气,范围约0-9999年 - - - - - - - - - 获取节气 - - - - - - - - - - - - 获取公历节日 - - - - - - - 获取公历节日 - - - - - - - - - 获取指定月份的第n个星期几的节日 - - - - - - - 返回星座,范围约1901-2101年 - - - - - 返回星座,范围约0-9999年 - - - - - 获取农历节日 - - - - - - - - - 获取农历节日 - - - - - - - 判断y年m月(1,2,..,12,下同)d日是Gregorian历还是Julian历(opt=1,2,3分别表示标准日历,Gregorge历和Julian历),是则返回1,是Julian历则返回0,若是Gregorge历所删去的那10天则返回-1 - - - - - 返回阳历y年m月d日的日差天数(在y年年内所走过的天数,如2000年3月1日为61) - - - - - 返回阳历y年日差天数为x时所对应的月日数(如y=2000,x=274时,返回1001(表示10月1日,即返回100*m+d)) - - - - - 获取指定日期的节气。 - - 要获取的年 - 要获取的月 - - - 立春:立是开始的意思,春是蠢动,表示万物开始有生气,这一天春天开始。 - 雨水:降雨开始,雨水将多。 - 惊蛰:春雷响动,惊动蛰伏地下冬眠的生物,它们将开始出土活动。 - 春分:这是春季九十天的中分点,这一天昼夜相等,所以古代曾称春分秋分为昼夜分。 - 清明:明洁晴朗,气候温暖,草木开始萌发繁茂。 - 谷雨:雨生百谷的意思。雨水增多,适时的降雨对谷物生长很为有利。 - 立夏:夏天开始,万物渐将随温暖的气候而生长。 - 小满:满指籽粒饱满,麦类等夏热作物这时开始结籽灌浆,即将饱满。 - 芒种:有芒作物开始成熟,此时也是秋季作物播种的最繁忙时节。 - 夏至:白天最长,黑夜最短,这一天中午太阳位置最高,日影短至终极,古代又称这一天为日北至或长日至。 - 小暑:暑是炎热,此时还未到达最热。 - 大暑:炎热的程度到达高峰。 - 立秋:秋天开始,植物快成熟了。 - 处暑:处是住的意思,表示暑气到此为止。 - 白露:地面水气凝结为露,色白,是天气开始转凉了。 - 秋分:秋季九十天的中间,这一天昼夜相等,同春分一样,太阳从正东升起正西落下。 - 寒露:水露先白而后寒,是气候将逐渐转冷的意思。 - 霜降:水气开始凝结成霜。 - 立冬:冬是终了,作物收割后要收藏起来的意思,这一天起冬天开始。 - 小雪:开始降雪,但还不多。 - 大雪:雪量由小增大。 - 冬至:这一天中午太阳在天空中位置最低,日影最长,白天最短, 黑夜最长,古代又称短日至或日南至。 - 小寒:冷气积久而为寒,此时尚未冷到顶点。 - 大寒:天候达到最寒冷的程度 - - - - - 获取年柱。 - - - - - 获得月柱 - - - - - - - 获取日柱。 - - - - - 返回甲子数x对应的天干数(如33为3) - - - - - 返回甲子数x对应的地支数(如33为9) - - - - - 获取日的天干地支 - - - - - - - 返回甲子数x对应的天干字符串 - - - - - 返回甲子数x对应的地支字符串 - - - - - 返回甲子数x对应的干支字符串 - - - - - - - 获取三伏开始时间 - - - 0表示1伏,1表示2伏,2表示3伏 - - - - - 节气 - - - - - 节气的时间。 - - - - - 节气名。 - - - - - 热键转换类 - - - - - 功能键。 - - - - - 修改键。 - - - - - 转换功能键到谷歌浏览器专用 - - - - - 将chrome功能键转换为普通功能键 - - - - - - - 按键值。 - - - - - 初始化类 的新实例。 - - The modifiers. - The key code. - - - - - - - - - - - - - - - - - 初始化类 的新实例。 - - - - - 加载热键 - - - - - - - 加载热键 - - - - - - 加载热键 - - - - - - 判断是否是热键 - - - - - 获取当前热键 - - - - - 已重载,返回“Ctrl+Alt+A”格式的字符串。 - - 类似“Ctrl+Alt+A”格式的字符串 - - - - 返回“Ctrl+Alt+A”格式的字符串。 - - 类似“Ctrl+Alt+A”格式的字符串 - - - - 功能键 - - - - - 无 - - - - - Alt键 - - - - - Ctrl键 - - - - - Shift键 - - - - - Win键 - - - - - 热键类 - - - - - 热键类 - - - - - - 热键注销 - - - - - 热键是否有效 - - - - - 释放热键 - - - - - 注册热键 - - - - - - - - - 注册热键 - - - - - - - - - 删除热键 - - - - - - - 删除所有热键 - - - - - 热键事件 - - - - - - 当使用热键时发生的事件 - - - - - 热键消息过滤 - - - - - - - 热键类型 - - - - - 热键id - - - - - 功能键 - - - - - 普通键 - - - - - 热键类型 - - - - - - - - Win32 API - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 获取当前前台窗口句柄 - - - - - - 获得当前活动窗体 - - - - - - 设置活动窗体 - - - - - - - 获取类名 - - - - - - - - - 获取当前线程对应的进程ID - - - - - - - - 判断指定句柄是否是一个窗口 - - - - - - - 获取窗口标题 - - - - - - - - - 查找窗口 - - - - - - - - 设置父窗口 - - - - - - - - 移动窗口 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 结束进程 - - - - - - - - 发送消息 - - - - - - - - - - 发送消息 - - - - - - - - - 获取窗口位置和大小 - - - - - - - - 矩形 - - - - - 最左坐标 - - - - - 最上坐标 - - - - - 最右坐标 - - - - - 最下坐标 - - - - - WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。 - - - - - 系统通道ID - - - - - 用户通道ID - - - - - - - - - - - - - - - - - - - - - - - - - 获取消息 - - - - - - - - 发送消息 - - - - - - - - - - 设置父窗口 - - - - - - - - + + + + MyDb + + + + + 基于XML实现的权限类 + + + + + 用户名 + + + + + 用户id + + + + + 密码 + + + + + 权限控制Id + + + + + 用户备注 + + + + + 是否是管理员权限 + + + + + 是否是超级管理员权限 + + + + + 设置权限 + + 权限名称 + 权限值 + 返回是否设置成功 + + + + 获取权限 + + 权限名称 + 默认权限值 + 返回权限值 + + + + 获取权限 + + 权限名称 + 返回权限值 + + + + 批量导入权限 + + 权限相关的内容 + 返回是否执行成功 + + + + 导出权限 + + 返回导出文本 + + + + 清除所有权限 + + 返回是否执行成功 + + + + 汉字转拼音静态类,包括功能全拼和缩写,方法全部是静态的 + + + + + 汉字的机内码数组 + + + + + 机内码对应的拼音数组 + + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 转换后的拼音(全拼)字符串 + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 转换后的拼音(全拼)字符串 + + + + 把汉字转换成拼音(首拼) + + 汉字字符串 + 转换后的拼音(首拼)字符串 + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 用指定字符分隔 + 转换后的拼音(全拼)字符串 + + + + 汉字转拼音缩写 + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (字符串) (小写) (空格间隔) + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (大写) + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (字符串)(大写)(空格间隔) + + 要转换的汉字字符串 + 拼音缩写 + + + + 取单个字符的拼音声母 + + 要转换的单个汉字 + 拼音声母 + + + + 取单个字符的拼音声母 + + 要转换的单个汉字 + 拼音声母 + + + + Ini操作类 + + + + + 写入Ini + + + + + + + + + + 获取Ini + + + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + + + 获取所有节点名称(Section) + + 存放节点名称的内存地址,每个节点之间用\0分隔 + 内存大小(characters) + Ini文件 + 内容的实际长度,为0表示没有内容,为nSize-2表示内存大小不够 + + + + 编码 + + + + + Ini操作类 + + + + + + 根据section取所有key和值 + + + + + + + 读取INI文件中指定INI文件中的所有节点名称(Section) + + 所有节点,没有内容返回string[0] + + + + 读取INI文件 + + 段,格式[] + 键 + 返回byte类型的section组或键值组 + + + + 根据section取所有key + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入Ini + + + + + + + + 读取Ini + + + + + + + + 读取Ini + + + + + + + + + 读取Ini + + + + + + + + + 读取Ini + + + + + + + + + + + 写入ini + + + + + + + + + 删除Ini的Key + + + + + + + 删除Ini节点 + + + + + + 控件信息 + + + + + id + + + + + 控件对象 + + + + + 控件值类型 + + + + + 默认值 + + + + + 值类型 + + + + + 默认 + + + + + 取列表顺序值 + + + + + 取当前选择的列表值 + + + + + 取对象值 + + + + + 保存的设置类型 + + + + + Ini + + + + + XML + + + + + 对象值 + + + + + 显示的文本 + + + + + 图片序号 + + + + + id + + + + + Tag值 + + + + + 显示文本值 + + + + + + 星期数据 + + + + + 一周的开始时间 + + + + + 一周的结束时间 + + + + + XML操作类 + + + + + XML操作类 + + + + + 从XML文本中加载数据 + + + + + + 从指定的XML文本中加载 + + XML文本 + 如为1,表示加载成功,为0为失败 + + + + 载入空的XML文档 + + 如为1,表示加载成功,为0为失败 + + + + 从指定的文件中加载 + + XML文件路径 + 如为1,表示加载成功,为0为失败 + + + + 保存到指定文件中 + + 文件路径 + 如为1,表示保存成功,为0为失败 + + + + 判断节点是否存在 + + 属性名 + 属性值 + 返回1,表示存在,其它表示不存在 + + + + 定位节点 + + 属性名 + 属性值 + 返回第一个符合要求的结果 + + + + 定位节点,如果找不到节点,就新建一个节点 + + 属性名 + 属性值 + 返回第一个符合要求的结果 + + + + 根据用户的节点定位节点,输入节点时,一定要注意节点是属于类内部的,否则可能出错。 + + 返回第一个符合要求的结果 + + + + 定位设置节点 + + 返回第一个符合要求的结果 + + + + 在节点后插入数据 + + + + + + + 在节点前插入数据 + + + + + + + 获取节点数量 + + 属性名 + 属性值 + 返回符合要求的结果数量 + + + + 获取节点数量 + + 返回符合要求的结果数量 + + + + 获取节点数量 + + 属性名 + 属性值 + + + + 返回符合要求的结果数量 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 读取指定节点的值 + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 获取属性值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取所有的节点名称 + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 获取XML文件的根元素 + + + + + 获取所有列表 + + 如为1,表示获取成功,为0为失败 + + + + 获取所有列表 + + 如为1,表示获取成功,为0为失败 + + + + 新增节点 + + + + + + + + 新增节点并定位到新节点 + + + + + + + + 新增设置节点并定位 + + + + + + 在指定节点前新增节点并定位到新节点 + + + + + + + + + 获取当前节点 + + + + + + 删除节点 + + + + + + 获取XML文本 + + + + + + 获取XML文本 + + + + + + 获取文本 + + + + + + 获取文本 + + + + + + 字符串操作类 + + + + + 字符串转Base64 + + + + + + + Base64转字符串 + + + + + + + 转换指定字符串为布尔类型 + + + + + 转换指定字符串为Double类型 + + + + + 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + + + + + 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. + + 一个日期和时间 + + + + + 转换指定字符串为Int类型 + + + + + 转换指定字符串为Int类型 + + + + + 转换指定布尔类型为Int类型,true为1,false为0 + + + + + 判断指定字符串是否是布尔类型 + + + + + 判断指定字符串是否是Double类型 + + + + + 判断指定字符串是否是Int类型 + + + + + 根据年月日转换成日期 + + + + + + + + + 追加字符 + + + + + 获取2个字符串中间的内容,point1为空表示从首位开始算,point2为空表示算到结尾。 + + + + + 判断字符串是否只包含数字或英文 + + + + + + + 判断字符串是否只包含英文 + + + + + + + 判断字符串是否匹配,支持?*通配符 + + 待匹配的字符串 + 匹配的通配符 + + + + + 通配符替换 + + + + + + + + + 获取匹配的内容 + + + + + + + + + 文件时间 + + + + + 创建时间 + + + + + 最后修改时间 + + + + + 访问时间 + + + + + 图片类型 + + + + + Bmp图片 + + + + + Jpeg图片 + + + + + Png图片 + + + + + Gif动态图片 + + + + + Tiff图片 + + + + + 对变量的拓展 + + + + + 替换文本(忽略大小写) + + + 需要替换的内容 + 替换后的内容 + + + + + 替换文本(忽略大小写),可支持通配符 + + + + + 是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换 + + + + + 获取符合要求的第一个结果 + + + + 是否是正则 + + + + + 查找字符串,忽略大小写 + + + + + + + + + 查找字符串,忽略大小写 + + + + + + + + 判断字符串是否是数字或英文 + + + + + + + 判断字符串是否是英文 + + + + + + + 是否在指定范围内 + + + + + + + + + 是否在指定范围内 + + + + + + + + + 转换指定字符串为Int类型 + + + 最小值 + 最大值 + 如果字符串不在范围内,则使用本默认值 + + + + + 转换指定布尔类型到Int类型,true为1,false为0 + + + + + + + 将指定类型转换成整型 + + + + + + + + 将指定类型转换成整型 + + + + + + + 将指定类型转换成长整型 + + + + + + + + 将指定类型转换成长整型 + + + + + + + 转换指定类型为Double类型 + + + + + + + + 转换指定类型为Double类型 + + + + + + + 转换DateTime类型到日期时间字符串 + + + + + + + 转换DateTime类型到日期字符串 + + + + + + + 转换DateTime类型到日期星期字符串 + + + + + + + 转换DateTime类型到Unix时间戳 + + + + + + + 转换Unix时间戳到DateTime类型 + + + + + + + 判断字符串是否与内容匹配 + + + + + + + + 将变量值转换成Double类型,如果不在指定区域范围内,则使用默认值 + + + + + + + + + + 转换到文件大小字符串 + + + + + + + 转换到文件大小字符串 + + + + + + + 转换指定类型为Decimal类型 + + + + + + + + 将变量值转换成Decimal类型 + + + + + + + 将变量值转换成Decimal类型,如果不在指定区域范围内,则使用默认值 + + + + + + + + + + 转换指定类型为DateTime类型 + + + + + + + + 将变量值转换成DateTime类型 + + + + + + + 转换指定类型为布尔类型 + + + + + + + 追加字符 + + + + + + + + 获取指定字符串之间的内容 + + + + + + + + + 获取指定字符串之间的内容 + + + + + + + + + + + + 判断指定字符串是否是Int类型 + + + + + + + 判断指定字符串是否是Double类型 + + + + + + + 判断是否是布尔类型 + + + + + + + 将字符串转换为Base64类型 + + + + + + + 判断字符串是否在指定长度 + + + + + + + + + 判断能否转换成日期格式 + + + + + + + 文件信息 + + + + + 获取版本号 + + + + + 获取版本号 + + + + + + + 判断是否是管理员方式运行 + + + + + + Hosts操作类 + + + + + 获取并转换hosts内容 + + hosts内容 + + + + + 获取hosts并转换hosts内容 + + hosts内容 + + + + + 追加内容到hosts里 + + 要追加的内容列表,每一行为ip 域名的格式 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 追加内容到hosts里 + + 要追加的内容 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 追加内容到hosts里 + + ip地址 + 域名 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 从hosts文件里删除内容 + + 要删除的内容 + 0表示无需删除,-1表示添加失败,1表示删除成功 + + + + 从hosts文件里删除内容 + + ip地址 + 域名 + 0表示无需删除,-1表示添加失败,1表示删除成功 + + + + Host信息 + + + + + IP + + + + + 域名 + + + + + 注释 + + + + + 是否要删除 + + + + + 音频播放类 + + + + + 临时音频文件 + + + + + 父窗口句柄 + + + + + 声音标签 + + + + play synchronously (default) + + + play asynchronously + + + silence (!default) if sound not found + + + pszSound points to a memory file + + + loop the sound until next sndPlaySound + + + don’t stop any currently playing sound + + + Stop Playing Wave + + + don’t wait if the driver is busy + + + name is a registry alias + + + alias is a predefined id + + + name is file name + + + name is resource name or atom + + + + 音频播放类 + + embedded music file + 临时保存的文件位置 + 父窗口句柄 + + + + 音频播放类 + + 要播放的音频位置 + 父窗口句柄 + + + + 音频播放类 + + + 父窗口句柄 + + + + 播放音频 + + + + + + 播放音频 + + + + + 关闭音频 + + + + + 文件操作类 + + + + + + + + + + 删除单个文件。 + + 删除的文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 删除单个文件。 + + 删除的文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 永久删除单个文件。 + + 永久删除的文件名 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 删除一组文件。 + + 字符串数组,表示一组文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 移动文件到指定路径下 + + 要移动的文件名 + 移动到的目的路径 + + + + + 移动一个文件到指定路径下 + + 要移动的文件名 + 移动到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 + + + + 移动一组文件到指定的路径下 + + 要移动的文件名数组 + 移动到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 复制文件到指定的文件名或路径 + + 要复制的文件名 + 复制到的目的文件名或路径 + + + + + 复制文件到指定的文件名或路径 + + 要复制的文件名 + 复制到的目的文件名或路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 复制一组文件到指定的路径 + + 要复制的文件名数组 + 复制到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法 + + 要复制的文件名 + 复制到的目的文件名或路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 删除单个或多个文件 + + 删除的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 移动或复制一个或多个文件到指定路径下 + + 操作类型,是移动操作还是复制操作 + 要移动或复制的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 + 移动到的目的位置 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 + + + + 如果指定文件夹不存在,则创建文件夹 + + + + + + 获取一个文件的全名 + + 文件名 + 返回生成文件的完整路径名 + + + + 获取一个文件的全名 + + 文件名 + 返回生成文件的完整路径名 + + + + 解释错误代码 + + 代码号 + 返回关于错误代码的文字描述 + + + + 运行文件 + + + + + + + + /运行文件 + + + + + + + + 运行程序 + + + + + + + 打开文件 + + + + + + + 打开文件夹并定位文件 + + + + + + + 打开网址 + + + + + + + 判断文件名是否有效 + + + + + + + 转换到有效文件名 + + + + + + + 追加日志 + + + + + + 追加文件 + + + + + + 读取文件内容,可以自动识别文件编码 + + + + + + + 读取文件所有行,可以自动识别文件编码 + + + + + + + 写入所有文本行到文件,如果文件夹不存在,会自动创建 + + + + + + + + 写入所有文本到文件,如果文件夹不存在,会自动创建 + + + + + + + + 从文件中加载图片,使用本方法,不会导致图片文件被占用。 + + + + + + 获取文件大小 + + + + + + + 添加文件到指定文件夹,会进行自动重命名,并返回重命名后的文件名(含路径) + + 要添加的文件路径 + 要添加到的文件夹 + 是否根据时间进行重命名 + 返回是否成功执行 + 成功执行则返回路径,否则返回空 + + + + 获取文件大小字符串 + + + + + + + 获取文件大小字符串 + + + + + + + 复制内容到剪切板 + + + + + + 添加某个控件为支持拖放属性 + + + + + + + 保存高质量不失真照片 + + + + + + + + 保存高质量不失真照片 + + + + + + + + 保存高质量不失真照片 + + + + + + + + 获取绝对路径 + + + + + + + 获取相对路径 + + + + + + + 获取图标 + + + + + + + + + + + + + + 销毁图标 + + + + + + + 获取文件图标 + + + + + + + + + + 用于取得一个文本文件的编码方式(Encoding)。 + + + + + 用于取得一个文本文件的编码方式(Encoding)。 + + + + + 取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将被返回。 + + 文件名。 + + + + + 取得一个文本文件流的编码方式。 + + 文本文件流。 + + + + + 取得一个文本文件的编码方式。 + + 文件名。 + 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 + + + + + 取得一个文本文件流的编码方式。 + + 文本文件流。 + 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 + + + + + 通过给定的文件流,判断文件的编码类型 + + 文件流 + 文件的编码类型 + + + + 判断是否是不带 BOM 的 UTF8 格式 + + + + + + + 新模态窗体 + + + + + 设置窗体返回的结果值,并关闭窗体。 + + 当前窗体 + 模态变量 + 防止 + + + + 窗体返回的结果事件 + + + + + + + 当打开的窗体返回结果时激发 + + + + + 窗体返回的状态 + + + + + 实例化类 + + 父窗体,如果为null,则取桌面为父窗体 + + + + + 获取最顶级的父窗口 + + + + + + 显示新模态窗体,会暂时禁用父窗体,关闭当前窗体后,父窗体会恢复。 + + + + + 只运行一个实例,打开后,所有窗体都依然有效。 + + + + + + 显示窗体 + + 显示的位置 + + + + 显示在父窗体中间 + + + + + 窗体显示位置 + + + + + 右上角 + + + + + 顶部中间 + + + + + 顶部右边 + + + + + 中间 + + + + + 左下角 + + + + + 底部中间 + + + + + 右下角 + + + + + 父窗体居中 + + + + + 日期时间的操作类 + + + + + 获取当前是周几,周一到周日,分别是1-7. + + + + + + + 获取当前是周几,1-7,分别是返回一到日. + + + + + + + 获取当前是周几,输入日期,根据周几,分别是返回一到日. + + + + + + + 获取一周的开始和结束,开始时间为第一天的0点,结束时间以最后一天的0点为结束时间 + + + + + + + 获取2个日期相差几周 + + + + + + + + 获取2个日期相差几个月 + + + + + + + + 获取一个月的开始 + + + + + + + 判断是否在同一个星期。 + + + + + + + + 判断是否在同一个月。 + + + + + + + + 判断是否在同一天 + + + + + + + + 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + + + + + 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + 是否显示秒 + + + + + 计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. + + 一个日期和时间 + + + + + 将c# DateTime时间格式转换为Unix时间戳格式 + + 时间 + long + + + + 时间戳转为C#格式时间 + + + + + + + 将c# DateTime时间格式转换为js时间戳格式 + + 时间 + long + + + + JS时间戳转为C#格式时间 + + + + + + + 根据年月日转换成日期 + + + + + + + + + 根据日期和时间转换成日期时间 + + + + + + + + 将时间转换成当前分钟开始的时间 + + + + + + + 将时间转换成当前秒钟开始的时间 + + + + + + + 当前时间在这一天里的秒数 + + + + + + + 窗体操作类 + + + + + 设置Comobox的行间距 + + + + + + + 移除关闭按钮。返回值,非零表示成功,零表示失败。 + + 窗口的句柄 + 是否成功 + + + + 把窗体放到最前 + + + + + + 显示窗体 + + + + + + + + 设置窗体是否置顶 + + + + + + + 显示没有焦点的窗口 + + + + + + 根据句柄获取窗口文本 + + + + + + + 根据句柄获取窗口类 + + + + + + + 获取当前活动的窗口句柄 + + + + + + 设置为当前活动窗口 + + + + + + + 根据窗口句柄来获得进程id + + + + + + + 显示窗体 + + + + + + 设置窗体父窗体为桌面,不会随着显示桌面而最小化,但无法设置窗体透明度 + + + + + + 结束进程 + + + + + + + 打开窗体,只打开一个实例(非模态) + + + + + + + 设置注册表操作,部分功能需要管理员权限 + + + + + 访问的注册表位置(64位还是32位) + + + + + 访问的注册表节点 + + + + + 设置是否开机启动 + + 是否开机启动 + 开机启动名称 + 启动命令 + + + + + 设置是否开机启动 + + 是否开机启动 + 开机启动名称 + + + + + 把指定文件设置为开机启动或取消开机启动 + + 是否开机启动 + 开机启动名称 + 要开机启动的文件路径 + + + + + 检查是否开机启动 + + 开机启动名称 + 开机启动命令 + + + + + 检查是否开机启动 + + 开机启动名称 + + + + + 判断指定文件是否是开机启动 + + 开机启动名称 + 文件路径 + + + + + 判断当前程序是否是开机启动 + + 开机启动名称 + + + + + 判断当前程序是否是开机启动 + + 开机启动名称 + 启动命令行 + + + + + 设置指定文件的浏览器控件内核版本 + + 文件名,要求不带路径 + 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 采用的IE模式 + + + + + IE7兼容视图 + + + + + IE8 标准模式 + + + + + IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + IE9 标准模式 + + + + + IE9 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + IE10 标准模式 + + + + + IE10 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 设置当前软件的浏览器控件内核版本 + + 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 设置指定文件的浏览器控件内核版本 + + 文件名,要求不带路径 + IE内核版本 + + + + + 设置当前软件的浏览器控件内核版本 + + IE内核版本 + + + + + 系统函数 + + + + + + + + + + 红 + + + + + 绿 + + + + + 蓝 + + + + + 获取屏幕伽马值 + + + + + + + + 设置屏幕伽马值 + + + + + + + + 获取键盘和鼠标没有操作的时间 + + + + + + 设置屏幕 Gamma值 + + + + + + + + + 设置屏幕亮度 + + + + + + + 获取系统 + + + + + + 窗体操作类 + + + + + 构造函数 + + + + + + 析构 + + + + + 设置让窗体支持移动 + + + + + 是否允许可调节大小 + + + + + 可调节窗体大小的宽度 + + + + + + + + + + + 给控件增加拖放功能的类 + + + + + 拖放实例 + + + + + 高级拖放事件 + + + + + + + + + + 使支持拖放属性 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 网络操作类 + + + + + 通过NetworkInterface读取网卡Mac + + + + + + 通过NetworkInterface读取网卡Mac + + + + + + 根据mac字符串来获取最终的mac地址,可以是各种MAC地址格式,非法的内容将返回null + + + + + + + 远程唤醒 + + + + + + + + 远程唤醒 + + + + + + + + + 消息客户端类 + + + + + 判断当前消息主服务器是否创建成功 + + + + + 最后一次接收消息的时间,可用来判断服务端是否有响应 + + + + + 主句柄 + + + + + 当收到消息时激发 + + + + + 连接上主服务器时触发 + + + + + 收到服务端关闭通知 + + + + + 收到服务端关闭通知,即将关闭 + + + + + 服务端大小改变时激发 + + + + + 实例化客户端 + + 服务端ID + 当前客户端ID,会向服务器报告当前ID + 客户端 + + + + + + + + + 断开服务端连接 + + + + + 发送消息,采用多线程发送 + + + + + + + 向服务端发送心跳包 + + + + + 判断服务端句柄是否存在。 + + + + + + 共享内存 + + + + + 写共享内存 + + 需要映射的文件的字节数量 + 映射对象(简单类型、结构体等) + 文件映射对象的名称 + + + + + 写共享内存 + + 需要映射的文件的字节数量 + 映射对象(简单类型、结构体等) + 文件映射对象的名称 + 发送消息的窗口句柄 + 发送消息 + + + + + 读共享内存 + + 需要映射的文件的字节数量 + 类型 + 文件映射对象的名称 + 返回读到的映射对象 + + + + 读共享内存 + + 需要映射的文件的字节数量 + 类型 + 文件映射对象的名称 + 返回读到的映射字节数据 + + + + 消息服务器 + + + + + 消息事件 + + + + + + + 大小改变事件 + + + + + + + + 即将关闭事件 + + + + + + + 当收到消息时激发 + + + + + 消息处理类 + + + + + + + + + + + + + + + + + + + + + + + 发送消息,采用单线程发送 + + 要发送到的句柄 + 编号 + 消息内容 + + + + 发送消息,采用多线程发送 + + 要发送到的句柄 + 编号 + 消息内容 + + + + 消息类 + + + + + 是否取消 + + + + + 来源句柄 + + + + + + + + + + 消息文本 + + + + + 需要回复的内容 + + + + + 消息服务端类 + + + + + 判断当前消息主服务器是否创建成功 + + + + + 当收到消息时激发 + + + + + 当收到自定义消息时(非系统消息)激发 + + + + + 有消息客户端发起连接请求时激发 + + + + + 有消息客户端连接成功时激发 + + + + + 有消息客户端断开连接时激发 + + + + + + + 服务端ID,需要唯一性,共客户端识别 + 服务端 + + + + 释放资源 + + + + + 判断是否包含指定客户端 + + + + + + + + + + + + 设置客户端大小 + + + + + 根据客户端ID,获取客户端对象 + + + + + + + 根据客户端句柄,获取客户端对象 + + + + + + + 关闭所有客户端 + + + + + 关闭指定客户端 + + + + + + 关闭指定客户端 + + + + + + 向所有客户端发送消息,单线程 + + + + + + + 向指定客户端发送消息 + + + + + + + + 关闭在指定时间前失去响应的子客户端 + + + + + + 客户端信息 + + + + + 客户端句柄 + + + + + 客户端ID + + + + + 客户端连接时间 + + + + + 心跳时间 + + + + + 数据库引擎 + + + + + 数据库枚举类型 + + + + + Odbc引擎 + + + + + OleDb引擎 + + + + + Oracle引擎 + + + + + MSSQL引擎 + + + + + SQLite引擎 + + + + + MySql引擎 + + + + + 判断DataSet是否包含数据 + + + + + + + 获取首行数据 + + + + + + + 获取第一行第一列的值 + + + + + + + 将DataSet类型转换为RyQuickSQL列表类型 + + + + + + + 将DataSet类型转换为RyQuickSQL列表类型 + + + + + + + + 数据库操作接口 + + + + + 连接数据库 + + + + + + 断开数据库 + + + + + + 获取数量 + + + + + + + + 获取分页语句 + + + + + + + + + 获取分页语句 + + + + + + + + + 获取分页语句 + + + + + + + + + + 获取分页语句 + + + + + + + + + + 添加Parameter参数 + + + + + + + 清空Parameter参数 + + + + + + + 获取Parameter值 + + + + + + 根据RyQuickSQL类来获取Parameter值 + + + + + + + 开始执行事务 + + + + + 提交事务 + + + + + 判断是否包含数据 + + + + + + + + 返回-1000表示该数据库不支持本接口 + + + + + + + 读取数据 + + + + + + + 读取数据 + + + + + + + + 读取数据 + + + + + + + + 根据id号获取数据 + + + + + + + + 执行SQL语句 + + + + + + + + 执行SQL语句 + + + + + + + + 执行SQL语句 + + + + + + + 根据id号删除数据 + + + + + + + + 创建数据库 + + + + + + + 释放资源 + + + + + SQL字段类型 + + + + + SQL字段类型 + + + + + + + SQL字段类型 + + + + + + + + SQL字段名 + + + + + SQL字段值 + + + + + SQL字段长度 + + + + + 不是真的值,而是用于计算的值 + + + + + SQL快速操作类 + + + + + SQL快速操作类 + + + + + + 表名 + + + + + 操作字段列表 + + + + + 清理使用资源 + + + + + 清理使用资源 + + + + + 操作参数列表 + + + + + 操作参数列表 + + + + + 添加字符串字段 + + + + + + + 添加null值字段 + + + + + + 添加日期字段 + + + + + + + 添加int字段 + + + + + + + 添加double字段 + + + + + + + 添加decimal字段 + + + + + + + 添加bool字段 + + + + + + + 添加用于计算的值 + + + + + + + 添加Int64字段 + + + + + + + 清空内容 + + + + + 数量 + + + + + + + + + + 输出多条件搜索。 + + 字段名,多个字段请用逗号分隔。 + 多个条件之间请用空格隔开 + + + + + 获取插入SQL语句 + + + + + + 获取更新SQL语句 + + + + + + 添加参数 + + + + + + + 获取Ole参数 + + + + + + 获取SQL参数 + + + + + + AES加密解密类 + + + + + AES加密算法 + + 明文字符串 + 密钥 + 返回加密后的密文字节数组 + + + + AES解密 + + 密文字节数组 + 密钥 + 返回解密后的字符串 + + + + 加密 + + + + + + + + 解码 + + + + + + + + 转换密钥到合法密钥 + + + + + + + Base64编码类 + + + + + 编码 + + + + + + + 把字符串编码成Base64字符串 + + + + + + + + 解码 + + + + + + + MD5和SHA1操作类 + + + + + 获取MD5 + + + + + + + 获取MD5 + + + + + + + 获取SHA1 + + + + + + + 获取SHA1 + + + + + + + 获取HmacSHA1 + + + + + + + + 获取SHA256 + + + + + + + 获取HmacSHA256 + + + + + + + 获取SHA224 + + + + + + + 获取SHA512 + + + + + + + 获取HmacSHA512 + + + + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + + + + 利用IDisposable的using语法糖方便的释放锁定操作 + 内部类 + + + + 读写锁对象 + + + + 是否为写入模式 + + + + 利用IDisposable的using语法糖方便的释放锁定操作 + 构造函数 + + 读写锁 + 写入模式为true,读取模式为false + + + 释放对象时退出指定锁定模式 + + + + 空的可释放对象,免去了调用时需要判断是否为null的问题 + 内部类 + + + + 空的可释放对象 + + + + 空的释放方法 + + + + 读写锁 + + + + 保存数据 + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + 构造函数 + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + 构造函数 + 为Data属性设置初始值 + + + + 获取或设置当前对象中保存数据的值 + + 获取数据时未进入读取或写入锁定模式 + 设置数据时未进入写入锁定模式 + + + 是否启用,当该值为false时,Read()和Write()方法将返回 Disposable.Empty + + + + 进入读取锁定模式,该模式下允许多个读操作同时进行 + 退出读锁请将返回对象释放,建议使用using语块 + Enabled为false时,返回Disposable.Empty; + 在读取或写入锁定模式下重复执行,返回Disposable.Empty; + + + + 进入写入锁定模式,该模式下只允许同时执行一个读操作 + 退出读锁请将返回对象释放,建议使用using语块 + Enabled为false时,返回Disposable.Empty; + 在写入锁定模式下重复执行,返回Disposable.Empty; + + 读取模式下不能进入写入锁定状态 + + + + 中国农历类,最大支持公元0-9999年 + + 日期:2019-02-09 + 作者:http://www.cnblogs.com/zjfree/ + + + + 日历类型 + + + + + 无效 + + + + + Julian 日历 + + + + + Gregorian 日历 + + + + + 有效 + + + + + 公历节日 + + + + + 农历节日 + + + + + 某个月第n个星期几 + + + + + 获取农历 + + + + + + + 获取农历 + + + + + + + + + 获得某农历年的闰月,返回 1~12 对应一月到十二月,返回 0 表示无闰月 + + + + + + + 农历搜索方向 + + + + + 无效 + + + + + 向上 + + + + + 向下 + + + + + {* 日月食类型, 无, 日食, 月全食, 月偏食 } + + + + + 无 + + + + + 日食 + + + + + 月全食 + + + + + 月偏食 + + + + + {* 月相, 无, 朔, 望} + + + + + 无 + + + + + 朔 + + + + + 望 + + + + + 获得某公历年月日的农历日数和该日月相以及日月食类型和时刻 + + + + + + + + + + + + 获得某公历年月日的农历月数 + + + + + + + + + 获取阳历日期对应的农历日期 + + + + + + + + + + + + + 获得某公历年月日的农历月日和是否闰月的信息 + + + + + + + + + + + + 获得等效标准日数对应的某公历日,倒推而来 + + + + + + + + + + 比较两个农历日期(包括闰月信息),1 大于2返回1、1等于2返回0、1小于2返回-1 + + + + + + + + + + + + + + 获得某农历年月日(加是否闰月)的公历年月日 + 该函数采用反向二分法查找 + + + + + + + + + + + + + 获取农历某一个月的总天数 + + + + + + + + + 获取农历年份,范围约1901-2101年 + + + + + + + 获取农历年份,范围约0-9999年 + + + + + + + + + 获取农历月份,范围约1901-2101年 + + + + + + + 获取农历月份,范围约0-9999年 + + + + + + + + + 获取中文表示的农历月份 + + + + + + + 获取农历日,范围约1901-2101年 + + + + + + + 获取农历日,范围约0-9999年 + + + + + + + + + 获取农历日,范围约0-9999年 + + + + + + + 获取节气,范围约1901-2101年 + + + + + + + 获取节气,范围约0-9999年 + + + + + + + + + 返回y年第n个节气(如小寒为1)的日差天数值(pd取值真假,分别表示平气和定气) + + + + pd取值真假,分别表示平气和定气 + + + + + 获取等效标准日数 + + + + + + + + + 取本月天数,不考虑 1582 年 10 月的特殊情况 + + + + + + + + 获取节气,范围约1901-2101年 + + + + + + + 获取节气,范围约0-9999年 + + + + + + + + + 获取节气 + + + + + + + + + + + + 获取公历节日 + + + + + + + 获取公历节日 + + + + + + + + + 获取指定月份的第n个星期几的节日 + + + + + + + 返回星座,范围约1901-2101年 + + + + + 返回星座,范围约0-9999年 + + + + + 获取农历节日 + + + + + + + + + 获取农历节日 + + + + + + + 判断y年m月(1,2,..,12,下同)d日是Gregorian历还是Julian历(opt=1,2,3分别表示标准日历,Gregorge历和Julian历),是则返回1,是Julian历则返回0,若是Gregorge历所删去的那10天则返回-1 + + + + + 返回阳历y年m月d日的日差天数(在y年年内所走过的天数,如2000年3月1日为61) + + + + + 返回阳历y年日差天数为x时所对应的月日数(如y=2000,x=274时,返回1001(表示10月1日,即返回100*m+d)) + + + + + 获取指定日期的节气。 + + 要获取的年 + 要获取的月 + + + 立春:立是开始的意思,春是蠢动,表示万物开始有生气,这一天春天开始。 + 雨水:降雨开始,雨水将多。 + 惊蛰:春雷响动,惊动蛰伏地下冬眠的生物,它们将开始出土活动。 + 春分:这是春季九十天的中分点,这一天昼夜相等,所以古代曾称春分秋分为昼夜分。 + 清明:明洁晴朗,气候温暖,草木开始萌发繁茂。 + 谷雨:雨生百谷的意思。雨水增多,适时的降雨对谷物生长很为有利。 + 立夏:夏天开始,万物渐将随温暖的气候而生长。 + 小满:满指籽粒饱满,麦类等夏热作物这时开始结籽灌浆,即将饱满。 + 芒种:有芒作物开始成熟,此时也是秋季作物播种的最繁忙时节。 + 夏至:白天最长,黑夜最短,这一天中午太阳位置最高,日影短至终极,古代又称这一天为日北至或长日至。 + 小暑:暑是炎热,此时还未到达最热。 + 大暑:炎热的程度到达高峰。 + 立秋:秋天开始,植物快成熟了。 + 处暑:处是住的意思,表示暑气到此为止。 + 白露:地面水气凝结为露,色白,是天气开始转凉了。 + 秋分:秋季九十天的中间,这一天昼夜相等,同春分一样,太阳从正东升起正西落下。 + 寒露:水露先白而后寒,是气候将逐渐转冷的意思。 + 霜降:水气开始凝结成霜。 + 立冬:冬是终了,作物收割后要收藏起来的意思,这一天起冬天开始。 + 小雪:开始降雪,但还不多。 + 大雪:雪量由小增大。 + 冬至:这一天中午太阳在天空中位置最低,日影最长,白天最短, 黑夜最长,古代又称短日至或日南至。 + 小寒:冷气积久而为寒,此时尚未冷到顶点。 + 大寒:天候达到最寒冷的程度 + + + + + 获取年柱。 + + + + + 获得月柱 + + + + + + + 获取日柱。 + + + + + 返回甲子数x对应的天干数(如33为3) + + + + + 返回甲子数x对应的地支数(如33为9) + + + + + 获取日的天干地支 + + + + + + + 返回甲子数x对应的天干字符串 + + + + + 返回甲子数x对应的地支字符串 + + + + + 返回甲子数x对应的干支字符串 + + + + + + + 获取三伏开始时间 + + + 0表示1伏,1表示2伏,2表示3伏 + + + + + 节气 + + + + + 节气的时间。 + + + + + 节气名。 + + + + + 热键转换类 + + + + + 功能键。 + + + + + 修改键。 + + + + + 转换功能键到谷歌浏览器专用 + + + + + 将chrome功能键转换为普通功能键 + + + + + + + 按键值。 + + + + + 初始化类 的新实例。 + + The modifiers. + The key code. + + + + + + + + + + + + + + + + + 初始化类 的新实例。 + + + + + 加载热键 + + + + + + + 加载热键 + + + + + + 加载热键 + + + + + + 判断是否是热键 + + + + + 获取当前热键 + + + + + 已重载,返回“Ctrl+Alt+A”格式的字符串。 + + 类似“Ctrl+Alt+A”格式的字符串 + + + + 返回“Ctrl+Alt+A”格式的字符串。 + + 类似“Ctrl+Alt+A”格式的字符串 + + + + 功能键 + + + + + 无 + + + + + Alt键 + + + + + Ctrl键 + + + + + Shift键 + + + + + Win键 + + + + + 热键类 + + + + + 热键类 + + + + + + 热键注销 + + + + + 热键是否有效 + + + + + 释放热键 + + + + + 注册热键 + + + + + + + + + 注册热键 + + + + + + + + + 删除热键 + + + + + + + 删除所有热键 + + + + + 热键事件 + + + + + + 当使用热键时发生的事件 + + + + + 热键消息过滤 + + + + + + + 热键类型 + + + + + 热键id + + + + + 功能键 + + + + + 普通键 + + + + + 热键类型 + + + + + + + + Win32 API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 获取当前前台窗口句柄 + + + + + + 获得当前活动窗体 + + + + + + 设置活动窗体 + + + + + + + 获取类名 + + + + + + + + + 获取当前线程对应的进程ID + + + + + + + + 判断指定句柄是否是一个窗口 + + + + + + + 获取窗口标题 + + + + + + + + + 查找窗口 + + + + + + + + 设置父窗口 + + + + + + + + 移动窗口 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 结束进程 + + + + + + + + 发送消息 + + + + + + + + + + 发送消息 + + + + + + + + + 获取窗口位置和大小 + + + + + + + + 矩形 + + + + + 最左坐标 + + + + + 最上坐标 + + + + + 最右坐标 + + + + + 最下坐标 + + + + + WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。 + + + + + 系统通道ID + + + + + 用户通道ID + + + + + + + + + + + + + + + + + + + + + + + + + 获取消息 + + + + + + + + 发送消息 + + + + + + + + + + 设置父窗口 + + + + + + + + diff --git a/Bin/Release/CommonControls/.NET4/MyDb_MSSQL.dll b/Bin/Release/CommonControls/.NET4/MyDb_MSSQL.dll index f89404f79caaffcb91f018de41db9a72e1667ed8..54b41ee3b02da43a77ba5f0f865e4dbbcbfdc151 100644 GIT binary patch delta 45 zcmV+|0Mh?}Xn<&thy!Wk(Xop;90S}3>9fZiwG0q<6g=#aPYXqig`%94S2YZ?j45;q D&ubGD delta 45 zcmV+|0Mh?}Xn<&thy#l2!Lf@u90S`2g|o*TwG0rY?5QbSFU3!~Uft#qnX4ePj45;q D9dU-Qw$KH{vB60u=`1ccoy)Mvjao3@F)-q D@g)?n delta 45 zcmV+|0Mh?}Xn<&thy#l2!Lf_~8w1-1g|m$uQw$IR(d7xeeu6-`lZtCNx=xF;@F)-q D-5cVmvEaWHzMxpml-04lmth3CD zz%>JC8HxVH5_+^Z0f#K`taiBGhGKv zLCPlgACNSuj6YWMg1y?UQ7`#NEPIX#BLf42t5wXij)~7_wLICq`1yjyn5V64p0;j; Sa-5Z8Cf_^oX!E{a%G( fUoPDFeD=B+XXTjZbN4@OZJzuj?9t{E;T9YK7ML~b delta 128 zcmZoTz}RqraY6@k_v?cjyZ`zNJhjUyx%K~p$Ij(9V{ZRpIlOsBz#rBCplmz?5HJC; z3?l=>ni3!mV_*mhb_vd&@&5Mfw@n@!pE+ypS$fn8D9zw%74xiP;`3Q8Pj)YUzMwJY ZY3rJ&ts9{nXXTj5&%z#UJ{E4p0RR_=J!b#_ diff --git a/Bin/Release/CommonControls/.NET4/ryControls.dll b/Bin/Release/CommonControls/.NET4/ryControls.dll index e8a9dc973dbf1c6b759b7a3a88d8afd33df4600c..80278ddf7ae37004169ed963128c8c30ebc67a03 100644 GIT binary patch delta 66 zcmZoTBHeIAdO`t=&vpyP0<;FyCQ+x!paH`RHGPuk4c|r*X9VOuqba W=3|$sitRG-EI`b^-L2h>t=&vpyP0<;FyCfx-R_>qeDtqC`=nztK4{jsFYwE| WsKZ#dvt1^h1&CR<%fz!iX#xQ8xE#d* diff --git a/Bin/Release/CommonControls/.NET4/ryUpdate.dll b/Bin/Release/CommonControls/.NET4/ryUpdate.dll index c7a4776b7e2acbcb64458146bc56f4c00bc44dce..b66a5816e115ecde78d941e6ccda77faf3c783fe 100644 GIT binary patch delta 47 zcmV+~0MP${-~)i*1CWRVX5-PZi`7U2+z08iV@d5G5MN8AU0S{eN3O>NU?hfD;Im+A FpoJQb77YLZ delta 47 zcmV+~0MP${-~)i*1CWRVi0i?zi`7U2+XscSV@d5G5cxiMaSpUbL5qQfk9f9rud`rk FpoJk}7SjL# diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29..a25d64b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1,6 @@ +### 2020-12-10更新 +------ + + +#### MyDbV4 V2.1.2012.1001 +- *.[新增]新增函数IsEng来判断字符串是否是英文 diff --git a/Source/.vs/公用控件组V4/v16/.suo b/Source/.vs/公用控件组V4/v16/.suo index 493c92f69cd1b6b5e3a55f6903e5db1077a80d34..4d77ef69f2e6bab9b00a10f9e583f26c5500ce67 100644 GIT binary patch delta 21248 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 diff --git a/Source/Itrycn_Project2/FrmStart.cs b/Source/Itrycn_Project2/FrmStart.cs index 9725e28..ba9faac 100644 --- a/Source/Itrycn_Project2/FrmStart.cs +++ b/Source/Itrycn_Project2/FrmStart.cs @@ -1,146 +1,146 @@ -using Itrycn_Project; -using ryCommon; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Windows.Forms; - -namespace Itrycn_Project2 -{ - public partial class FrmStart : Form - { - string[] prog_args; - public FrmStart(string[] args) - { - InitializeComponent(); - prog_args = args; - //配置软件信息 - notifyIcon1.Text = Soft_Info.Soft_Title; - Text = Soft_Info.Soft_Title + " V" + RySoft.VersionStr; - if (!Soft_Info.ShowTray) { notifyIcon1.Visible = false; } - if (!Soft_Info.DonateVisabled) { 捐助ToolStripMenuItem.Text = "关于"; } - if (Soft_Info.Soft_Url.Length == 0) { 打开官网ToolStripMenuItem.PerformClick(); } - notifyIcon1.Icon = Icon; - } - - private void 显示主窗体ToolStripMenuItem_Click(object sender, EventArgs e) - { - this.WindowState = FormWindowState.Normal; - var topmost = this.TopMost; - this.TopMost = true; - this.Show(); - this.TopMost = topmost; - } - - private void 退出软件ToolStripMenuItem_Click(object sender, EventArgs e) - { - Application.Exit(); - } - - private void FrmStart_Shown(object sender, EventArgs e) - { - ryCommon.Ini ini = new Ini(Soft_Info.UserDataFolder + "\\Win.dat"); - ini.WriteIni(Soft_Info.Soft_Id, "hwnd", Handle.ToInt32()); - if (prog_args.Length >= 1) - { - //如果是自启动,并且开启了右下角托盘图标,则隐藏自身。 - if (prog_args[0] == Soft_Info.Soft_Pram && Soft_Info.ShowTray) - this.Hide(); - } - } - - private void FrmStart_FormClosing(object sender, FormClosingEventArgs e) - { - if (Soft_Info.ShowTray && Soft_Config.HideByCloseBtn && e.CloseReason== CloseReason.UserClosing) - { - e.Cancel = true; - this.Hide(); - notifyIcon1.ShowBalloonTip(3000, Soft_Info.Soft_Title, "软件已经最小化到此处,请右击托盘图标进行关闭。", ToolTipIcon.Info); - return; - } - if (!Soft_Config.IsCanCloseForm) - { - e.Cancel = true; - MessageBox.Show("当前还有操作正在运行,请稍后关闭软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - } - protected override void WndProc(ref System.Windows.Forms.Message msg) - { - switch (msg.Msg) - { - case 17189: //处理消息 - { - #region 激活窗体 - switch (msg.WParam.ToInt32()) - { - case 100:// - #region 显示界面 - if ((int)msg.LParam.ToInt32() == 100) - { - this.Show(); - this.WindowState = FormWindowState.Normal; - this.Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2; - this.Left = (Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2; - //RyForm.SetActiveWindow(Handle); - RyForm.BringToTop(Handle); - 显示主窗体ToolStripMenuItem.PerformClick(); - this.BringToFront(); - this.Select(); - this.Focus(); - RyForm.BringToTop(Handle); - } - #endregion - break; - } - #endregion - } - break; - default: - base.WndProc(ref msg);//调用基类函数处理非自定义消息。 - break; - } - } - - private void 捐助ToolStripMenuItem_Click(object sender, EventArgs e) - { - if (Soft_Info.DonateVisabled) - { - FrmAbout frm = new FrmAbout(); - frm.ShowDialog(); - frm.Dispose(); - } - else - { - MessageBox.Show(Soft_Info.AboutText.Replace("#softname#", Soft_Info.Soft_Title).Replace("#ver#", "V" + RySoft.VersionStr), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - } - - - private void 打开官网ToolStripMenuItem_Click(object sender, EventArgs e) - { - ryCommon.RyFiles.OpenUrl(Soft_Info.Soft_Url); - } - - private void FrmStart_Load(object sender, EventArgs e) - { - Itrycn_Project.Itrycn_Db.CreateTable(); - LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url); - update.CheckUpdate(); - var dbver = Itrycn_Db.GetDbVer(); +using Itrycn_Project; +using ryCommon; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Itrycn_Project2 +{ + public partial class FrmStart : Form + { + string[] prog_args; + public FrmStart(string[] args) + { + InitializeComponent(); + prog_args = args; + //配置软件信息 + notifyIcon1.Text = Soft_Info.Soft_Title; + Text = Soft_Info.Soft_Title + " V" + RySoft.VersionStr; + if (!Soft_Info.ShowTray) { notifyIcon1.Visible = false; } + if (!Soft_Info.DonateVisabled) { 捐助ToolStripMenuItem.Text = "关于"; } + if (Soft_Info.Soft_Url.Length == 0) { 打开官网ToolStripMenuItem.PerformClick(); } + notifyIcon1.Icon = Icon; + } + + private void 显示主窗体ToolStripMenuItem_Click(object sender, EventArgs e) + { + this.WindowState = FormWindowState.Normal; + var topmost = this.TopMost; + this.TopMost = true; + this.Show(); + this.TopMost = topmost; + } + + private void 退出软件ToolStripMenuItem_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private void FrmStart_Shown(object sender, EventArgs e) + { + ryCommon.Ini ini = new Ini(Soft_Info.UserDataFolder + "\\Win.dat"); + ini.WriteIni(Soft_Info.Soft_Id, "hwnd", Handle.ToInt32()); + if (prog_args.Length >= 1) + { + //如果是自启动,并且开启了右下角托盘图标,则隐藏自身。 + if (prog_args[0] == Soft_Info.Soft_Pram && Soft_Info.ShowTray) + this.Hide(); + } + } + + private void FrmStart_FormClosing(object sender, FormClosingEventArgs e) + { + if (Soft_Info.ShowTray && Soft_Config.HideByCloseBtn && e.CloseReason== CloseReason.UserClosing) + { + e.Cancel = true; + this.Hide(); + notifyIcon1.ShowBalloonTip(3000, Soft_Info.Soft_Title, "软件已经最小化到此处,请右击托盘图标进行关闭。", ToolTipIcon.Info); + return; + } + if (!Soft_Config.IsCanCloseForm) + { + e.Cancel = true; + MessageBox.Show("当前还有操作正在运行,请稍后关闭软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + protected override void WndProc(ref System.Windows.Forms.Message msg) + { + switch (msg.Msg) + { + case 17189: //处理消息 + { + #region 激活窗体 + switch (msg.WParam.ToInt32()) + { + case 100:// + #region 显示界面 + if ((int)msg.LParam.ToInt32() == 100) + { + this.Show(); + this.WindowState = FormWindowState.Normal; + this.Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2; + this.Left = (Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2; + //RyForm.SetActiveWindow(Handle); + RyForm.BringToTop(Handle); + 显示主窗体ToolStripMenuItem.PerformClick(); + this.BringToFront(); + this.Select(); + this.Focus(); + RyForm.BringToTop(Handle); + } + #endregion + break; + } + #endregion + } + break; + default: + base.WndProc(ref msg);//调用基类函数处理非自定义消息。 + break; + } + } + + private void 捐助ToolStripMenuItem_Click(object sender, EventArgs e) + { + if (Soft_Info.DonateVisabled) + { + FrmAbout frm = new FrmAbout(); + frm.ShowDialog(); + frm.Dispose(); + } + else + { + MessageBox.Show(Soft_Info.AboutText.Replace("#softname#", Soft_Info.Soft_Title).Replace("#ver#", "V" + RySoft.VersionStr), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + + + private void 打开官网ToolStripMenuItem_Click(object sender, EventArgs e) + { + ryCommon.RyFiles.OpenUrl(Soft_Info.Soft_Url); + } + + private void FrmStart_Load(object sender, EventArgs e) + { + Itrycn_Project.Itrycn_Db.CreateTable(); + LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url); + update.CheckUpdate(); + var dbver = Itrycn_Db.GetDbVer(); if(dbver==1) //初始版本,并是当前要求的数据库 { - } + } else { MessageBox.Show("不支持当前数据库版本,这可能是以下原因导致的:\r\n1.数据库已损坏;'\r\n2.当前数据库是由新版软件创建的(请更新软件后重试)。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - Application.Exit(); - return; - } - } - } -} + Application.Exit(); + return; + } + } + } +} diff --git a/Source/MyDb/DbManage/Strings.cs b/Source/MyDb/DbManage/Strings.cs index 0f6b172..620b1c1 100644 --- a/Source/MyDb/DbManage/Strings.cs +++ b/Source/MyDb/DbManage/Strings.cs @@ -280,6 +280,15 @@ namespace ryCommon return !Regex.IsMatch(str, "[^0-9a-zA-Z]"); } /// + /// 判断字符串是否只包含英文 + /// + /// + /// + public static bool IsEng(string str) + { + return !Regex.IsMatch(str, "[^a-zA-Z]"); + } + /// /// 判断字符串是否匹配,支持?*通配符 /// /// 待匹配的字符串 diff --git a/Source/MyDb/DbManage/VarExtension.cs b/Source/MyDb/DbManage/VarExtension.cs index 0f8aec8..a6adfdd 100644 --- a/Source/MyDb/DbManage/VarExtension.cs +++ b/Source/MyDb/DbManage/VarExtension.cs @@ -96,6 +96,15 @@ namespace ryCommon return Strings.IsEngOrNum(input); } /// + /// 判断字符串是否是英文 + /// + /// + /// + static public bool IsEng(this string input) + { + return Strings.IsEng(input); + } + /// /// 是否在指定范围内 /// /// diff --git a/Source/MyDb/Properties/AssemblyInfo.cs b/Source/MyDb/Properties/AssemblyInfo.cs index 8a1ac78..7d43107 100644 --- a/Source/MyDb/Properties/AssemblyInfo.cs +++ b/Source/MyDb/Properties/AssemblyInfo.cs @@ -1,36 +1,36 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// 有关程序集的一般信息由以下 -// 控制。更改这些特性值可修改 -// 与程序集关联的信息。 -[assembly: AssemblyTitle("MyDb")] -[assembly: AssemblyDescription("基于乘黄V1架构")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("睿元网络工作室")] -[assembly: AssemblyProduct("MyDb")] -[assembly: AssemblyCopyright("Copyright © 2010-2017")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -//将 ComVisible 设置为 false 将使此程序集中的类型 -//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, -//请将此类型的 ComVisible 特性设置为 true。 -[assembly: ComVisible(false)] - -// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID -[assembly: Guid("9df20d86-a56e-4cf6-a3d8-f30421297b1b")] - -// 程序集的版本信息由下列四个值组成: -// -// 主版本 -// 次版本 -// 生成号 -// 修订号 -// -//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, -// 方法是按如下所示使用“*”: : -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.1.2011.0901")] -[assembly: AssemblyFileVersion("2.1.2011.0901")] \ No newline at end of file +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("MyDb")] +[assembly: AssemblyDescription("基于乘黄V1架构")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("睿元网络工作室")] +[assembly: AssemblyProduct("MyDb")] +[assembly: AssemblyCopyright("Copyright © 2010-2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +//将 ComVisible 设置为 false 将使此程序集中的类型 +//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("9df20d86-a56e-4cf6-a3d8-f30421297b1b")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("2.1.2012.1001")] +[assembly: AssemblyFileVersion("2.1.2012.1001")] \ No newline at end of file diff --git a/Source/MyDb/bin/x86/Debug/MyDb.dll b/Source/MyDb/bin/x86/Debug/MyDb.dll index 0fab45ff97deff23e69d3c82269e49d96e83235c..a1b1190209279bbb98b08798d5d432f61be6c29e 100644 GIT binary patch delta 24965 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 delta 25113 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

Xwx{@^!BTJp*5KrTzwxs~Luv?;ec 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 ~OD+1DdUNd8#Px6$i>Yr4?G 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 delta 25113 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 delta 139 zcmZqJBHOS^-L2h>t=&vpyO~#?Wxmbcy4~^|^YMQI5*I$E?)BW`ymg)Y zGGnoXhwTDqS%8>zyTDmCofeSJ>Gpx_k|zBcilNWtS-hKk?!{~9d&e;{Ffh1U#XRen m_qaQYSvh8UUm*LV?Ri1$lh^_N|31C| diff --git a/Source/ryControls/bin/x86/Release/MyDb.dll b/Source/ryControls/bin/x86/Release/MyDb.dll index 16f2c92cbb5bc1a1a786f1c8ab48a9241d01e739..666c1902f707e9a95306644b95b62bab839a0578 100644 GIT binary patch delta 25110 zcmcJ2cYIVu_xG8(cS|;9H_2uo)AbSJ*3e>kMK~#13~JFA|fskL{Sjql`Kd{ zIwB=VM?jD&2vVd;Rf-frv0&ppGxugm^m%^2_xEeqA!x>eoDMv0JU)yrxMfl?Tald4FxE;|^lLeVNz zdXvPG7SbjXO`@brq=nxt4XW_36#r3B!M-~HTl@(Kj`g=lT0TUN-jyk zp`l)v2&hwh^u&?@pwpP&w_K7sg<43zhH;@YTyuUxZJdWmr!~EAvV4uiH8w%}c8zaK z3rZ|p8?41lJY{rR=}?CD4Q=CsG~|

Xwx{@^!BTJp*5KrTzwxs~Luv?;ec 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 ~OD+1DdUNd8#Px6$i>Yr4?G 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