Delphi7的四个问题

时间:2021-07-08 17:33:41
    本人在煤矿工作,和同事每日都会入井检查各个队组生产现场存在的安全隐患,现在想用Delphi7编一个程序,目的是:1、每日输入检查到的隐患后,到月底能够分别统计出:本月各个队组的隐患总数、本月所有的隐患总数(显示在TLabel组件中)。2、每月对检查到的一些违章行为,会做出处罚通报,这些处罚通报的格式是固定的(现在一直是用Word来做),并且每月统计出各队分别有多少份处罚通报以及各队处罚总金额、本月所有通报的处罚总金额。3、将这些数据分别都打印出来。
    
    我使用的组件:TADOTable、TDataSource、TForm中添加Standard标签页下的组件(非DataControls标签页下的组件):分别有TComboBox、TMemo、TDateTimePick

    数据库名:HDDB.mdb(Access数据库);表名:“Record”。字段分别有:编号、检查日期、被检单位、负责人、隐患内容、整改措施、检查人、检查日期、整改期限、复查人、复查日期、整改情况。(以上字段:编号、整改期限为Integer类型;检查日期、复查日期为TDateTime类型,其余全部为String类型)。

    现在分别遇到如下困难:

    1、我是用TMemo组件来做为“隐患内容”和“整改措施”字段的输入工具。可F9后发现:假设今日综采一队有10条隐患,可在TMemo中,只能将这10条隐患做为一条来输入,如果在TMemo中按下回车,按F9会出现“多行设置错误”这样的错误信息。而我的目的是将每一条隐患在数据库表中做为一条记录来保存(解释:某些隐患字数少,在TMemo中可能只有1行、某些隐患字数会较多,在TMemo中可能就会有2行或多行,但不论这一条隐患在TMemo中是几行,都将这一条隐患在数据库表中保存为一条记录),怎么才能实现?(整改措施字段内的数据与隐患内容相对应,一条隐患就必有一条整改措施)

    2、到月底或下月初,怎么统计本月各个队组的隐患总数?以及本月所有隐患总数(不论队组)?

    3、用什么组件或什么方法能够控制Word,使其保存、打印为一份固定格式的Word文件?(也就是说,保存、打印的文件中,格式是固定的,只有里面的内容是通过我编的这个程序改变的)

    4、我在用TQuickRep和TQRBand组件做的“报表窗口”,可在“打印预览”里,页面是纵向的,只能显示出一部分数据,怎么改成横向的?另外怎么实现“页面设置”功能,能够实现调整页面边框、Excel中的“自定义缩放”功能?

    本人平时工作繁忙,编程属个人爱好,而这个程序是现在急需的,所以平时没多少时间能够按步就班的看书慢慢学习,希望各位大师能够帮我解决一下。谢谢!
    
    本人邮箱:rxf2006xz@163.com

15 个解决方案

#1


你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的

#2


引用 1 楼  的回复:
你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的


引用seleron的一句话:你,总是,抢在第一个,来答非所问。


关于memo的问题  你可以通过stringlist来拆分memo.text里的内容  然后进行数据库插入

#3


引用 2 楼  的回复:
引用 1 楼 的回复:

你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的


引用seleron的一句话:你,总是,抢在第一个,来答非所问。


好像是...

#4


在录入 ”隐患内容”和“整改措施” 字段内容时,
建议每一次在MENO中录完一条就保存一下,然后再录下一条,
不费脑细胞去拆分MEMO的内容了,

#5


delphi 操作office用Servers组件

#6


统计数据利用基本SQL语句去操作就行了,去看SQL

页面设置问题,可以在客户端先预览页面,然后客户自己就可以设置打印机纸张(意思就是客户不直接打印,而是先执行预览操作)

#7


1.像这种情况,我一般来说不会只用一个数据表,因为这样做不够灵活,数据结构也不合理.像隐患内容什么的我会用另一个表来记录,然后关联查询.我也不明白为什么楼主要用TMemo而不用TDBMemo.
2.如果按我的方式来组织数据,这个根本不是问题.
3.D7有操作WORD的控件,具体一两句话说不清.
4.TQuickRep很久没用过了,但你说的那个问题完全可以解决,不过我记不清,你自己试一下,或者上网查一下,不难的.
5.楼主太小气了,才这点分,我连举个例子的兴趣都没

#8


不为分, 友情帮楼主顶, 也是刚学delphi, 很多都搜不到, 或者不知怎么搜

#9


这个可以PHP做出来啊

#10


引用 2 楼  的回复:
引用 1 楼 的回复:

你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的
引用seleron的一句话:你,总是,抢在第一个,来答非所问。
关于memo的问题 你可以通过stringlist来拆分memo.text里的内容 然后进行数据库插入

引用 3 楼  的回复:
引用 2 楼 的回复:
引用 1 楼 的回复:
你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的
引用seleron的一句话:你,总是,抢在第一个,来答非所问。
好像是...

你们两位就会说别人的不对,还连续引用,你们真行
不如你们将答案直接给楼主算了,你们也好分分“分”吧

#11


来这里的人不一定都是为了所谓的“分”。它不能吃也不能喝,更不能当钱花。是为了帮助大家,同时也提高自己。

#12


为什么不将隐患内容、整改措施单独设置为一个表呢?这样还有利于数据的优化执行。程序上还更容易操作。

#13


只回答问题1
你可以这样,memo的Lines属性是TString类型的,你可循环来取,然后循环插入

#14


    首先对上面提供回答的各位朋友表示感谢,真的谢谢大家。

    正如发贴时说的,本人属Delphi没入门水平,编程属个人爱好,同时这也是我第一个程序,所以在程序编写及数据库的建立上,完全处于摸着石头过河。

    7楼的大大说,本人给的分少,我太过小气。我想请大家能够理解。别人可能属于能力有限,但本人却属于能力没有。即便有心上论坛来帮帮别人,赚点积分,但第一没时间和精力(下井工人很累的,每天走个6、7千米是平平常常),第二也没那水平。所以本人的分数属于花一点少一点,这人穷志短,希望各位大大能够理解穷人、没水平的人的苦衷。

各位大大真的很热心,这个贴子我在3个论坛网站上贴出来,为的是能多多求教,可几天过去后,只有这个论坛的各位大大能够花些时间来回复我一下,其他的论坛只有1、2个人来回答。当然,可能是我的问题太过幼稚和没水平,有些大大懒得理会吧,呵呵。

最后还是想请各位大大能够不吝赐教,再帮帮我,详细一点帮帮我。如果一、两句话不能说清,那请各位大大给些相关学习资料或贴子,谢谢各位大大了。至于分的问题,本人可以追加一些,或者哪位大大能够帮我把这几个问题完全解决,我目前所有的分全给这位大大也可以,给完后,本人只好再申请一个账号了,呵呵。还请各位大大再帮帮忙,再详细帮帮忙,谢谢!!!

#15


该回复于2012-05-03 16:41:48被版主删除

#1


你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的

#2


引用 1 楼  的回复:
你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的


引用seleron的一句话:你,总是,抢在第一个,来答非所问。


关于memo的问题  你可以通过stringlist来拆分memo.text里的内容  然后进行数据库插入

#3


引用 2 楼  的回复:
引用 1 楼 的回复:

你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的


引用seleron的一句话:你,总是,抢在第一个,来答非所问。


好像是...

#4


在录入 ”隐患内容”和“整改措施” 字段内容时,
建议每一次在MENO中录完一条就保存一下,然后再录下一条,
不费脑细胞去拆分MEMO的内容了,

#5


delphi 操作office用Servers组件

#6


统计数据利用基本SQL语句去操作就行了,去看SQL

页面设置问题,可以在客户端先预览页面,然后客户自己就可以设置打印机纸张(意思就是客户不直接打印,而是先执行预览操作)

#7


1.像这种情况,我一般来说不会只用一个数据表,因为这样做不够灵活,数据结构也不合理.像隐患内容什么的我会用另一个表来记录,然后关联查询.我也不明白为什么楼主要用TMemo而不用TDBMemo.
2.如果按我的方式来组织数据,这个根本不是问题.
3.D7有操作WORD的控件,具体一两句话说不清.
4.TQuickRep很久没用过了,但你说的那个问题完全可以解决,不过我记不清,你自己试一下,或者上网查一下,不难的.
5.楼主太小气了,才这点分,我连举个例子的兴趣都没

#8


不为分, 友情帮楼主顶, 也是刚学delphi, 很多都搜不到, 或者不知怎么搜

#9


这个可以PHP做出来啊

#10


引用 2 楼  的回复:
引用 1 楼 的回复:

你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的
引用seleron的一句话:你,总是,抢在第一个,来答非所问。
关于memo的问题 你可以通过stringlist来拆分memo.text里的内容 然后进行数据库插入

引用 3 楼  的回复:
引用 2 楼 的回复:
引用 1 楼 的回复:
你呀,在网上找一个简单的数据库操作的实例看看吧,
这个控件Memo一般情况是用来做备注的
网上有简单的实例的
引用seleron的一句话:你,总是,抢在第一个,来答非所问。
好像是...

你们两位就会说别人的不对,还连续引用,你们真行
不如你们将答案直接给楼主算了,你们也好分分“分”吧

#11


来这里的人不一定都是为了所谓的“分”。它不能吃也不能喝,更不能当钱花。是为了帮助大家,同时也提高自己。

#12


为什么不将隐患内容、整改措施单独设置为一个表呢?这样还有利于数据的优化执行。程序上还更容易操作。

#13


只回答问题1
你可以这样,memo的Lines属性是TString类型的,你可循环来取,然后循环插入

#14


    首先对上面提供回答的各位朋友表示感谢,真的谢谢大家。

    正如发贴时说的,本人属Delphi没入门水平,编程属个人爱好,同时这也是我第一个程序,所以在程序编写及数据库的建立上,完全处于摸着石头过河。

    7楼的大大说,本人给的分少,我太过小气。我想请大家能够理解。别人可能属于能力有限,但本人却属于能力没有。即便有心上论坛来帮帮别人,赚点积分,但第一没时间和精力(下井工人很累的,每天走个6、7千米是平平常常),第二也没那水平。所以本人的分数属于花一点少一点,这人穷志短,希望各位大大能够理解穷人、没水平的人的苦衷。

各位大大真的很热心,这个贴子我在3个论坛网站上贴出来,为的是能多多求教,可几天过去后,只有这个论坛的各位大大能够花些时间来回复我一下,其他的论坛只有1、2个人来回答。当然,可能是我的问题太过幼稚和没水平,有些大大懒得理会吧,呵呵。

最后还是想请各位大大能够不吝赐教,再帮帮我,详细一点帮帮我。如果一、两句话不能说清,那请各位大大给些相关学习资料或贴子,谢谢各位大大了。至于分的问题,本人可以追加一些,或者哪位大大能够帮我把这几个问题完全解决,我目前所有的分全给这位大大也可以,给完后,本人只好再申请一个账号了,呵呵。还请各位大大再帮帮忙,再详细帮帮忙,谢谢!!!

#15


该回复于2012-05-03 16:41:48被版主删除