ConstVarUnit.pas 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. unit ConstVarUnit;
  2. interface
  3. uses Messages;
  4. const
  5. {SoftWare Name}
  6. SoftWareName_ZY_Common = '纵横公路工程0号台账清单编审软件(专业版)';
  7. SoftWareName_ZY = '纵横清单编制管理系统(专业版)';//'广东三级清单编制软件';
  8. SoftWareName_XX = '纵横清单编制管理系统(学习版)';
  9. SoftWareName_OnLine = '纵横清单编制管理系统(网络版)';
  10. {serve phone}
  11. LoadAuthorizePhone = '0756-3850888';
  12. LoadServicePhone = '0756-3850888';
  13. {TemplateFiles}
  14. BillsTemplateFile = 'BillsTemplete.bmf';
  15. BudgetTemplateFile = 'BudgetTemplete.bmf';
  16. FXTemplateFile = 'FXTemplate.dat';
  17. {DataBase Fields ************** Begin ******************}
  18. {Bills}
  19. SID = 'ID';
  20. sParentID = 'ParentID';
  21. sNextSiblingID = 'NextSiblingID';
  22. sBillsID = 'BillsID';
  23. STotalPrice = 'TotalPrice';
  24. STenderTotalPrice = 'TenderTotalPrice';
  25. sName = 'Name';
  26. sUnits = 'Units';
  27. sCode = 'Code';
  28. sB_Code = 'B_Code';
  29. sIsLeaf = 'IsLeaf';
  30. sBillsCode = 'BillsCode';
  31. sMemoStr = 'MemoStr';
  32. sOwnerName = 'OwnerName';
  33. sQuantity = 'Quantity';
  34. sQuantity2 = 'Quantity2';
  35. sUnitPrice = 'UnitPrice';
  36. sDesignQuantity = 'DesignQuantity';
  37. sDesignQuantity2 = 'DesignQuantity2';
  38. sDesignPrice = 'DesignPrice';
  39. sIsPreDefine = 'IsPreDefine';
  40. {dqCalcExpression}
  41. sDQID = 'DQID';
  42. {HisResPoint}
  43. sCreateTime = 'CreateTime';
  44. {Exprs}
  45. SMajorMinorRecdID = 'MajorID;MinorID;RecdID';
  46. SMajorRecdID = 'MajorID;RecdID';
  47. Exprs_Bills_ID = 1;
  48. Exprs_DrawQty_ID = 2;
  49. Exprs_Qty_ID = 1;
  50. Exprs_DQty_ID = 4;
  51. Exprs_DQty2_ID = 5;
  52. {DrawingQuantity}
  53. sDQuantity1 = 'DQuantity1';
  54. sDQuantity2 = 'DQuantity2';
  55. sMemoContext = 'MemoContext';
  56. sSerinalNo = 'SerinalNo';
  57. {ProjProperty}
  58. sProjType = 'PROJTYPE';
  59. { Bills ID }
  60. GYTotalPriceID = 5;
  61. GLBaseCost = 6;
  62. {************************** End *******************************}
  63. {Message Hint Words}
  64. sInputFileName = '输入文件名称';
  65. sNameNotNull = '名称不能为空,请重新输入!';
  66. sSameFileName = '已存在同名文件,请重新输入!';
  67. sSpecialChar = '文件名不能包含特殊字符(/ \ : * ? " < > |)!';
  68. sGatherError = '汇总出错,可能打勾位置不正确!';
  69. sMergeProjectHint = '选择操作:' + #13#10 + ' 1. 确定: 覆盖建设项目;' + #13#10 + ' 2. 取消: 先导出建设项目,再覆盖.';
  70. sSplitProjectHint = '选择操作:' + #13#10 + ' 1. 确定: 覆盖标段;' + #13#10 + ' 2. 取消: 先导出建设项目,再覆盖.';
  71. sQuestTip = '询问';
  72. sErrorTip = '错误';
  73. sExportTip = '导出';
  74. sImportTip = '导入';
  75. sImportExcelHint = '导入Excel会覆盖原来清单,是否继续?';
  76. sDeleteBillsHint = '确定要删除该清单项及其下面的所有子项吗?';
  77. sDeleteLib = '确定要删除该标准清单吗?';
  78. sRemoveBillsZeorQty = '确定要删除(工程量和单价 = 0)的所有清单吗?';
  79. sClearBillsQtyHint = '确定要清空当前清单及其子项的工程量, 以及它们底下的所有图纸工程量的数量吗?';
  80. sLoginFailed = '登录服务器失败,程序即将关闭。';
  81. sWelcomeText = '欢迎使用纵横软件!!!';
  82. {Status Words}
  83. sNewWord = '正在新建文件';
  84. sOpenWord = '正在打开文件';
  85. sSaveWord = '正在保存文件';
  86. sSaveAsWord = '正在另存文件';
  87. sImportExcel = '正在导入Excel';
  88. sGatherWord = '正在汇总清单';
  89. sCopyBills = '正在复制清单';
  90. sExportExcel = '正在导出Excel';
  91. sMergeProject = '正在合并清单';
  92. sSplitProject = '正在拆分清单';
  93. sExportStdLib = '正在导出分项清单';
  94. sInitWord = '就绪';
  95. {Self Define Messages}
  96. SM_Base = WM_USER + 100;
  97. SM_ProgressInc = SM_Base + 1;
  98. SM_StdBillsLib = SM_Base + 2;
  99. SM_CheckProject = SM_Base + 3;
  100. SM_LocateBills = SM_Base + 4;
  101. SM_AutoSaveProjects = SM_Base + 5;
  102. {Units}
  103. UnitsArray: array [0..34] of string = (
  104. 'm',
  105. 'km',
  106. 'm2',
  107. 'm3',
  108. 'kg',
  109. 't',
  110. 'm3·km',
  111. '总额',
  112. '月',
  113. '项',
  114. '处',
  115. '个',
  116. '根',
  117. '棵',
  118. '块',
  119. '每一试桩',
  120. '桥长米',
  121. '公路公里',
  122. '株',
  123. '组',
  124. '座',
  125. '元',
  126. '工日',
  127. '套',
  128. '台班',
  129. '艘班',
  130. 'm/处',
  131. 'm/道',
  132. 'm/座',
  133. 'm2/m',
  134. 'm3/m',
  135. 'm3/处',
  136. '根/米',
  137. '亩',
  138. 'm3/m2'
  139. );
  140. { project property }
  141. ArrProjectProperties: array [0..17] of string =
  142. (
  143. '项目类型',
  144. '建设项目',
  145. '合同段',
  146. '编制范围',
  147. '建设单位',
  148. '工程地点',
  149. '编制日期',
  150. '编制人',
  151. '编制人证号',
  152. '复核人',
  153. '复核人证号',
  154. '投标人',
  155. '数据文件号',
  156. '公路等级',
  157. '起点桩号',
  158. '终点桩号',
  159. '路线或桥梁长度(km)',
  160. '路线或桥梁宽度(m)'
  161. );
  162. {exprs}
  163. ExprsCharSet: set of char = ['0'..'9','(','[','{', ')',']','}', '+','-','*','/','^', '%'];
  164. // ExprsCharSet: set of char = ['0'..'9', 'a'..'z', 'A'..'Z', '(','[','{', ')',']','}', '+','-','*','/','^', '%'];
  165. {Copy Bills}
  166. c_BillsList = '清单列表';
  167. c_DrawQList = '图纸列表';
  168. c_BillsItem = '项目';
  169. c_DQItem = '图纸项';
  170. c_BillsExprs = '清单公式列表';
  171. c_BillsExprsItem = '清单公式';
  172. c_DrawingExprs = '图纸公式列表';
  173. c_DrawingExprsItem = '图纸公式';
  174. c_ID = '序号';
  175. c_ParentID = '父项序号';
  176. c_NextSiblingID = '兄弟序号';
  177. c_Code = '项目节编号';
  178. c_BCode = '清单编号';
  179. c_Name = '名称';
  180. c_Units = '单位';
  181. c_DesignQuantity1 = '设计数量1';
  182. c_DesignQuantity2 = '设计数量2';
  183. c_DesignPrice = '经济指标';
  184. c_Quantity = '清单数量';
  185. c_Quantity2 = '清单数量2';
  186. c_UnitPrice = '清单单价';
  187. c_TotalPrice = '金额';
  188. c_MemoString = '备注';
  189. c_IsGatherQty = '统计';
  190. c_SerinalNo = '顺序号';
  191. c_MajorID = '主ID';
  192. c_MinorID = '辅ID';
  193. c_RecdID = '记录ID';
  194. c_Exprs = '表达式';
  195. c_Exprs1 = '表达式1';
  196. c_Flag = '标识';
  197. c_ExprsValue = '值';
  198. c_BillsID = 'BillsID';
  199. {Check Paste Bills Position}
  200. cp_Next = 0;
  201. cp_Font = 1;
  202. cp_Child = 2;
  203. {restore point}
  204. MaxRPointCount = 5;
  205. sBackUpFolder = 'BackUpPoints';
  206. { max rows in trail's version when export bills to excel }
  207. MaxExcelRow = 100;
  208. {connection string}
  209. SAdoConnectStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;User ID=%s;Password=%s;Persist Security Info=True';
  210. {iniFile}
  211. SIniFileName = 'config.ini';
  212. SStandardLibs = 'StandardLibs';
  213. SProjectType = 'Budget';
  214. SGeneralOptions = 'GeneralOptions';
  215. SAllowMfyCode = 'AllowMfyCode';
  216. SAutoSaveProjects = 'AutoSaveProjects';
  217. SAutoSaveInterval = 'AutoSaveInterval';
  218. SSaveAllProjects = 'SaveAllProjects';
  219. SSaveRestorePoint = 'SaveRestorePoint';
  220. SAutoCollapse = 'AutoCollapse';
  221. SRealTimeCalc = 'RealTimeCalc';
  222. SGatherOptions = 'GatherOptions';
  223. SMatchCodeOnly = 'MatchCodeOnly';
  224. {File Ext}
  225. STempFileExt = '.tmp';
  226. SBudgetFileExt = '.smb';
  227. SBillsFileExt = '.smp';
  228. SEstimateFileExt = '.sme';
  229. type
  230. // 清单种类:图纸工程量、预算项目节、清单子目号、不区分
  231. TBillCategory = (bcTZGCL, bcYSXMJ, bcQDZMH, bcAll);
  232. // 错误种类:
  233. TErrorCategory = (ecCodeError, ecB_CodeError, ecNameError, ecUnitError,
  234. ecNoQuantity, ecQuantityError,
  235. ecNoDesignQuantity, ecNoDesignQuantity2, ecDesignQuantityPosError, ecRepeatLine,
  236. ecLostChildren, ecLostPreSibling, ecLostNextSibling,
  237. ecSuperscale, ecCodeStep, ecNoUnits);
  238. // “数量错误”公用,用于用户手工指定
  239. var
  240. ErrorHintAry: array[0..15] of string = ('新增预算项目节', '新增清单子目',
  241. '名称错误', '单位错误', '清单数量遗漏', '数量错误',
  242. '设计数量1遗漏', '设计数量2遗漏', '设计数量位置错误',
  243. '重行', '漏子项(漏%d行)', '漏前项(漏%d行)', '漏后项(漏%d行)',
  244. '深度超出', '编号递延', '单位遗漏');
  245. const HintSeparator = ';';
  246. implementation
  247. end.