工大在线

标题: 有BCB强人没,帮我解决几个问题 [打印本页]

作者: chaos    时间: 2008-5-22 20:21
标题: 有BCB强人没,帮我解决几个问题
问题一:
[attach]13486[/attach]


这个是我毕业设计里的一个界面,其要实现的功能有:增加,修改,删除,取消,保存,归档,返回,第一页,上一页,下一页,最末页,跳转,添加附件,阅读附件,以及图中蓝色的数字1,2不知怎么表述,看图应该很容易明白!
现在我想请教的问题是[attach]13487[/attach] 怎么添加和阅读文件,其中添加文件用到的组件有:SaveDialog1和Button1,添加附件的目的是为了把操作者的文件集中存放在一个指定的公共的文件夹中;阅读附件用到的组件有:OpenDialog2和Button2,目的是打开公共文件夹中的文件!
解决办法:

问题二:
[attach]13488[/attach]

怎么显示这个蓝色的数字,数据库中的行数怎么显示在界面上,我不知道用那个组件来显示,是用DBText1组件吗?
先统计数据库A的行数,然后将返回的数值通过DBText1显示出来吗?
解决办法:

问题三:

右边那个蓝色的2是用,数据库返回的行数数值除以10所得的商值(100\3=33,余数1)是这样吗?我不是很确定
解决办法:



问题四:

再右边那个跳转我现在一点思路也没有,功能是跳转到第几页的数据库上,因为一页只能显示10条记录!怎么实现?
解决办法:

以上就是我的问题,希望您在看完后能把您的解决办法写到相对应的问题后,谢谢!
发送chaosxxj@163.com
作者: dixnuits    时间: 2008-5-22 21:30
从没用过 c++ builder

帮不了你

你要是MFC开发 我可以给你解决以上几个问题/
作者: 疯人院里一青年    时间: 2008-5-23 18:19
我觉得我们学校计算机学BCB很奇怪,明明人家公司都不开发后续产品了~~~~

我没法具体回答LZ问题,因为我得到的信息不够。而且我的BCB水平也不怎么样,只能提供一个解决方案。
时间仓促,我提供这些代码没有安全性检测与边界检测,以及异常处理,但以毕业设计的强度来说应该可以通过。

问题1:
不知道我理解的对不对,LZ是通过给文件名和编号来确定要对哪个文件进行操作的~~
//-------------------------------------------------
这段代码将Button1Click事件执行为生成F:\\a\\a.txt文件,并将ytytff写入这个文件。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *a = new TStringList;
SaveDialog1->FileName = "F:\\a\\a.txt";    //这里是文件的绝对路径
a->Add("ytytff");                                              //这里是文件内要写得东西
a->SaveToFile(SaveDialog1->FileName);
delete a;
Label1->Caption = 1;


}
按照LZ的程序设计,文件的存取填写名称和编号,LZ必须要建立一个影射,将输入的信息转换成文件的绝对路径,然后将这个路径赋值给SaveDialog1->FileName 变量类型为AnsiString,位置就在上面的第一个注释处。文件的内容必须要实时添加,将要保存的内容转换生成成一个AnsiString类型变量,然后将这个变量填入Add();函数中,这样声称的文件每次都回覆盖同名文件,而且如果文件不存在的话会自己创建。
//---------------------------------------------------------------------------
这段代码实现的事件是读F:\\a\\a.txt内容,并将其显示在Memo1里。
void __fastcall TForm1::Button2Click(TObject *Sender)
{

TStringList *a = new TStringList;
OpenDialog1->FileName = "F:\\a\\a.txt";
a->LoadFromFile(OpenDialog1->FileName);
Memo1->Lines->Add((*a)[0]);
delete a;

}
同样,LZ必须要建立一个文件名和编号与绝对路径的映射,将绝对路径赋值给OpenDialog1->FileName,打开的文件会被读入a,表达式(*a)[0]的返回值即为AnsiString型,至于如何显示LZ自己实现吧。

问题2 :
我觉得用Label显示就可以了,假设你的行数储存在变量i里 那么执行Label1->Caption = i ,这条语句应放在数据库被读取的事件中。

问题3:
显然这个商要+1么  要不最后几条就不算在内了,比如15条,一页10条,那当然是两页而不是一页。  

问题4:
至于跳转么,我觉得你表中显示的东西直接用SELECT   FROM  的返回值实现比较方便吧  一页显示什么就是搜索条件的改变么  第一页是1-10 第二页是11-20等等。把显示的语句写在跳转的Click事件中就可以了,这个事件先接收输入的数据,转换成查询条件,进行查询,然后返回值显示,这样应该就没问题了。


另:LZ的头像很好看~~~~~~~~~~~~~

[ 本帖最后由 疯人院里一青年 于 2008-5-23 18:24 编辑 ]
作者: chaos    时间: 2008-5-23 21:23
原帖由 疯人院里一青年 于 2008-5-23 18:19 发表
我觉得我们学校计算机学BCB很奇怪,明明人家公司都不开发后续产品了~~~~

我没法具体回答LZ问题,因为我得到的信息不够。而且我的BCB水平也不怎么样,只能提供一个解决方案。
时间仓促,我提供这些代码没有安全性 ...


感谢你的回复,谢谢
作者: sding    时间: 2008-9-4 18:58
没兴趣,做管理系统的太无聊了
作者: 工大幽灵    时间: 2008-9-4 19:02
牛人![s:30]




欢迎光临 工大在线 (http://ruolanmy.hk1.ifreeurl.com/) Powered by Discuz! X2.5