论文库
  • 首页
  • 论文发表
  • 论文宝库
  • 期刊大全
  • 新闻中心
  • 著作出书
  • 发表流程
  • 关于我们
  • 诚心通道
  • 联系我们
  • 当前位置:主页 ->论文库 ->计算机论文 ->计算机应用
  • 适应北方片水文资料整编程序的水量计算体会

    2010年12月24日 10:19 作者:景淑娟 刘胜男 全占东
    摘要介绍各月水量的计算方法,探讨北方片水文资料整编程序,包括注册表的操作、数据库服务器的配置、数据库的查询、成果的Excel输出,以为深入了解水文资料整编技术提供参考。
    X)g,H*e8PO ^U Pzq0  关键词北方片水文资料整编程序;水量计算;体会
    g"I+X.L {:B0  中国论文网j'I u-X8yT*t/x*Y
      在水文调查资料整编过程中,还原计算需要各月水量值,2007年以前辽宁水文资料整编使用辽宁水文资料整编程序,该程序具有计算各月水量的功能[1]。从整编2008年水文资料开始,辽宁使用了北方片全国统编水文资料整编程序,该程序不提供计算各月水量的功能。在进行水文调查资料整编时,需要用水文资料整编中的成果表《逐日平均流量表》逐日相加(累计值单位:m3/s),再乘以日秒数8.64万s,得到各月水量值(单位:万m3),相加可选用Excel 列求和功能或使用计算器累加,计算方法十分烦琐。为解决水文调查资料整编水量还原对各月水量的需要,现介绍一种利用程序计算各月水量的方法,该方法适合全国统编的北方片整编程序计算环境,是在北方片水文资料整编的基础上,通过程序在成果数据库中读取逐日平均流量值,计算各月流量总数,输出各月水量表,输出格式与以前使用程序计算的结果相同。怎么发表论文 中国论文网A-M1e't CK#}
      1基本思路中国论文网E4x,vQL$x"Z;f H0G
      北方片水文资料整编程序,计算逐日流量结果保存在数据库中及Excel成果表中。程序可以在数据库中读取,也可以在Excel成果表中读取。在Excel成果表中读取数据要知道成果表存放在哪个目录中,该目录位置信息可以通过北方片程序读出,也可以在数据库表COM_PATHSET中得到[2-3]。通过北方片程序读出要手动操作,十分烦琐;另外,程序操作Excel速度比较慢, 要尽量避免操作Excel。在COM_PATHSET表中读取要连接数据库,对于不同的使用者该目录有可能不同。
    :^t2Q)W)l-G0  在数据库中直接读取流量日表数据,首先,要知道数据库的配置参数,用来连接数据库,北方片水文资料整编程序数据库配置参数保存在注册表中,根键 “hkey_local_machine”,子键“software\田中岳\北方片整汇编软件”,“linkset”项键值保存数据库连接字。其次,要了解数据库中流量日表在数据库中的位置,逐日流量数据保存在数据库表sou_zcgb_qal中;该表的结构中stcd字段是站号,yr字段是年份,yy 是月份,d01,d02,d03,……,d31分别表示1日、2日、3日,……、31日平均流量。职称发表论文
    d,Y{4v6A/FS2p'ow0  2实现方法
    3d r#Y uvx0  获取数据库配置参数,使用Delphi7.0语言读取注册表中数据库配置参数,配置数据库的程序段如下:中国论文网1Rm ?u]v\
      Procedure TForm1.FormCreate(Sender: TObject);
    4a@Y\"] zx|0  var中国论文网f(o9I9WB2p
      registry1:tregistry;// 注册注册表对象
    s_qM+P:v]0  s:string;中国论文网2^0q_(U$~
      Begin中国论文网NTB{+Eq
      try
    0u:ed`5FL0  registry1:=tregistry.Create;// 创建注册表对象
    tI%h"A D~z0  with registry1 do中国论文网2s0J g^1[l
      begin中国论文网:~&w*g+MM"tP+I
      rootkey:=hkey_local_machine;// 确定根键中国论文网k t(qg2^V
      // 注册子键software\田中岳\北方片整汇编软件中国论文网rU]9qB
      if openkey('software\田中岳\北方片整汇编软件',false) then
    ]c#T"mZ:A0  s:=readstring('linkset');// 读 linkset 键值中国论文网#sgb1a;MDC1DM
      end;
    Cx$bV$t X0  ADOConnection1.ConnectionString:=s;//数据库连接字设置中国论文网:M6Ok@9k
      except中国论文网)m\fzc/X2x
      application.MessageBox('读取注册表数据失败','提示信息',64);
    9IpH f8HAZ*\8`0  end;中国论文网 zUWh~%]h9U
      registry1.Destroy;// 释放注册表对象
    3\Yh*C"p$OcNU \0  end;中国论文网 U g&\Q5H[0gP/S'j$Z
      逐日流量数据查询,要查询某年某站的逐日流量,在配置好数据库的情况下,查询逐日流量的程序关键语句如下:中国论文网4Dv"h P!N
      with adoquery1 do 中国论文网!f7ff4|']
    begin中国论文网'[%Al dIrA
      close;sql.Clear;
    Y7M*\9u4O-K(z)r8\R0  sql.Add('select stcd 站号,yr 年份,yy 月,d01,d02,d03,d04,d05'+中国论文网8K[lf:J8`k Uh
      ',d06,d07,d08,d09,d10,d11,d12,d13,d14,d15,d16,d17,d18,'+中国论文网*Q,[e^\(lB]
      'd19,d20,d21,d22,d23,d24,d25,d26,d27,d28,d29,d30,d31,+
    &`&{M vb7G%e}0  ′ from sou_zcgb_qal');中国论文网 TE zG!k
      sql.Add('where (stcd=:stcd1) and (yr=:yr1)');
    &c'N8u h y[2m6nh#i3G0  sql.Add('order by yy');
    O\+h"_7d,igAz0  parameters.ParamByName('stcd1').Value:=edit1.Text;
    z Pl h \3ve0  parameters.ParamByName('yr1').Value:=edit2.Text;
    @/r y,x"MsF&MF0  open;中国论文网j%s-Q3u u-_1C
      end;中国论文网J"XUG9bp)@
      根据查询结果计算逐日流量月总数,再乘日秒数计算月水量。
    c.j$e,Bo^@0  3计算结果输出中国论文网s:hk q?!?
      经过计算的结果输出Excel表中,Excel表采用模板形式。在程序中与Excel连接采用VCL的方法。首先在程序中加入 TexcelApplication、TexcelWordbook和TexcelWorksheet对象,分别命名为EA、EW、ES。由于使用以上3 个控件,所以需要加入ExcelXP、OleServer单元。连接模板文件采用如下语句:中国论文网6j8{/r d.Y@.U~'k
      TryEA.Connect;
    ,h'U7L \sUL[$Z0  EA.Workbooks.Open(模板文件名,null,null,null,null,中国论文网PF4m'|YG`Z.P
       null,null,null,null,null,null,null,null,null,null,1);
    xmm_p0a2]3Xu!R0   EW.ConnectTo(EA.Workbooks[1] as _workbook);中国论文网3@b'I\!x\
       ES.ConnectTo(EW.Worksheets[1] as _worksheet);
    5CEJ Ib+FbG0  except中国论文网T C*D%x_P(Y7S
      begin
    cL,K*u.{B(n\n3U0  EA.Disconnect; //出现问题时关闭
    qam(Q0n0  EA.Quit;showmessage(′请选用 Excel 电子表格′);
    ~0Dac CZ0  end;
    8XB.\ u C2`+JS0  end;
    /n \1N,y2WZ9qV0  程序中模板与辽宁省2007年以前使用的水量计算成果模板相同,计算结果填表,单元格的调用使用如下语句:
    .^{b}e6H-L0  EA.Cells.Item[I,j]:=结果
    9imQ%J Q#@ E0  成果填表完成后,需要对成果文件保存,成果文件保存采用如下语句:
    +Pg"@%wc0L!t0  ES.SaveAs(保存的文件名)
    q*L-}u t3iS,UbI0  4体会
    E0~quf7A0  经过2009年的使用,该方法数据库服务器的配置采用读注册表的方法,程序不用人工单独配置数据库,使得程序操作简单方便。逐日流量数据采用数据库结果,使得操作不用了解成果目录的位置,减少了人为干预,自动化程度得到提高。成果输出采用原来水文资料整编的模板,便于与以前水文调查整编程序的衔接 [4]。由于使用时间短,整编程序还不够完善,有待于今后进一步改进。
    .d&_1sQqeBYW0  
    Wr+af$gp| { L#J0  5参考文献中国论文网DR"Za9Lh_V
      [1] 李璇,王福利,肖鹏云.运用Excel进行水文资料整编成果表明方法[J].黑龙江水利科技,2009(5):82-83.
    wH@"P$O-i0  [2] 贺顺德,刘立,王文成.水土保持工程影响地区水文资料还原方法探讨[J].人民黄河,2008,30(12):43-44.中国论文网'SK1q@-lZ
      [3] 孙园宾.浅谈水文数据库开发利用存在的主要问题及对策[J].江苏水利,2008(12):26-27.
    g1u!fB g$u@0  [4] 王意惟,李登民,隋铁成.水文原始数据库的开发应用与分析评价[J].东北水利水电,2008(12):40-41. 
  • 上一篇             下一篇
发给朋友 分享到朋友圈
  • 回顶部
中国论文网|微信客服:15295038855
本站提供论文发表发表论文核心论文发表
免费论文发表资源,文章只代表作者观点,并不意味着本站认同,部分作品系转载,版权归原作者或相应的机构;若某篇作品侵犯您的权利,请来信告知:lunwenchina@126.com