我原来编个系统是FOXPRO的,表单较多,每个表单是一个表的数据,字段很多,有三百个左右,因为是检验数据,所以这么多,基本上有10个表这样吧,就是要做10个表单这么多字段的表单,在DELPHI中似乎不太好弄,而且这其中检验某一项数据,需要用到1、2十个字段进行计算的,原来是写在TEXT的LOSTFOCUS里去计算,现在DELPHI里可能也只能写成这种样子。。
现在我自己的想法是用DBEDIT系统存数据,有计算的也是放在DBEDIT的上写,去激活,然后填数据保存。。主要是按钮太多,一个表单要放好几个百想问的是大家有没什么好的建议,能够简化些,比较快的方法?给些建议吧,谢谢

解决方案 »

  1.   

    在中国FOXPRO程序员是一代人了,首先向前辈致敬!
    我的建议是:数据库移植到SQLSERVER,用户使用界面用DELPHI开发。这样组合是比较容易上手的。复杂的计算可以放在后台数据库中计算也可以在DELPHI实现。满足需求是第一的。
      

  2.   

    我算不上是前辈啦,在DELPHI中就是在控件里写上计算公式是吗?
    后台数据库计算是如何操作呀?写存储过程吗?
      

  3.   

    表的关联性不大 的话 就当2维数组处理了 
    用 TDbf 控件。
      

  4.   

    直接用sql语句进行操作就行了,为什么非要用按钮?
      

  5.   

    典型的VFP向DELPHI迁移的心态,这些问题在98/99年的第一代Delphi程序员身上已经演练过了。1、将数据库迁移成SQL Server
    2、放弃VFP的很多开发习惯你的东西在VFP中有一个Valid事件控制,这个太NB了,可以控制很多东西,Delphi中没有,间接的使用TField的OnSetText事件控制,但是太罗嗦了。
    其实通过SQL进行计算,时间在DataSet的BeforePost事件中控件即可
    最最关键的是:放弃VFP的开发习惯!
    VFP是数据库可代码纠在一起的开发,Delphi是CS模式,数据库部分和代码部分是彻底分开的。
      

  6.   

    不知道说SQL进行计算是如何操作呢?是将计算公式写在DATASET的BEFOREPOST里吗?
      

  7.   

    是呀,VFP虽然不太好,但一些事件控制是很有效果的。。不会像DELPHI,都要写代码:)
      

  8.   

    老大,既然你要从VFP迁移到Delphi,那太多的东西要修改了,太多的习惯要放弃了VFP是开发和数据库纠合在一起的,Delphi是分开的,很多东西完全不一回事。1、尤其是你习惯了VFP的表格再去用DELPHI的TDBGrid感觉TDBGrid简直就是垃圾
    2、在Delphi中你必须要习惯那些函数是数据库的,那些是Delphi的
    3、VFP可以对数据表进行连续组合连续取数据,Delphi不行。譬如通过VFP寥寥数行可以做出ERP中的BOM网络图,Delphi中简直就是一个庞大的工程,而且相当的慢其实你的问题本来很简单
    1、如果你要求及时显示计算结果,建立计算字段即可
    2、如果不要求当前界面显示,可以在TADOQuery的BeforePost事件中写代码,模式就是
       ADOQuery.FieldByName('计算结果').AsFloat:=ADOQuery.FieldByName('计算字段1').AsFloat+ADOQuery.FieldByName('计算字段2').AsFloat*ADOQuery.FieldByName('计算字段3').AsFloat
    3、如果是后期要求,直接通过数据库的存储过程去实现即可难道你没有用过VFP+SQLServer开发?
      

  9.   

    有用过VFP+SQL,是用视图,楼上说的我也明白。我的计算要求及时显示出来的!字段多,但打印的字段只是每项计算的结果值:)
      

  10.   

    这就很简单了1、EXE录入界面使用计算字段,即时得到计算结果
    2、打印报表也用计算字段,一样的东西。
       当然有不同,DELPHI的报表相对VFP的报表实在太糟糕了!
       尤其是QuickReport,稍微复杂的报表就写很多代码,但是你可以使用其它的报表,譬如FastReport、RAVE等
      

  11.   

    我都用FASTREPORT,简单是挺简单的,就是字段多,全部加进去工作量较大,还有计算也是直接写在控件的LOSTFOCUS中是吗?你们觉得呀。。?
      

  12.   

    老大,可以用命令行加入啊,一个循环就搞定了,和VFP是一样的Delphi的计算字段不用写代码,直接设置就可以,这个和VFP不同Delphi没有LostFocus事件,有类似的OnExit事件
      

  13.   

    还是那句话:放弃VFP的开发习惯!Delphi可以动态创建控件、类,VFP是不行的,就这么简单。这样比较的话太多东西要切换思路了,偶99年开始转换的时候可累的够呛,第一个应用软件界面相当奇怪。
    相对从C->C++->PB->VFP/Foxpro->BCB->Delphi->C#,VFP转BCB/Delphi是最累的了,其它的转换一般只需要数周甚至数天即可,这个可能要3个月。除非你以前有VB或VC的开发经验。