初次参加工作!有关支票方面的问题请帮帮忙!
各位大侠!小的既是初次参加工作,又是初临此地!还望多多帮助!
本人刚刚得到一份工作,公司要我设计一个简单的支票打印软件,但本人才疏学浅,不知从何开始!有请各位大位帮帮忙!感激不尽!最好有这方面的源代码给俺参考参考!谢谢!具体要求如下:
银行凭证打印软件,不仅可以打印支票,还可以打印电汇凭证、信汇凭证、银行进账单、汇票申请书,日期自动显示,只需输入小写金额,自动转换成规范的大写金额,在打印位置有偏差时可以对打印位置作细微调整,并对打印资料具有管理功能!
无从下手!急需帮忙!谢谢!
问题点数:50、回复次数:22Top
1 楼koukoulo(狮狮)回复于 2004-04-02 11:33:07 得分 0
大侠们呢!?!不睬我呀!?呜~~~~~小妹初临贵地!竟没人理睬~~~~~~~
还有哪个论坛可以得到帮忙的,请指条明路吧!谢谢!
Top
2 楼huang_jihua(不懂...学习)回复于 2004-04-02 12:23:24 得分 0
在帮助里面输入:TPrinter 就可以看到一个例子,照着做。Top
3 楼swites(难民营中的人)回复于 2004-04-02 12:52:38 得分 0
upTop
4 楼pzoon(杀死日本人)回复于 2004-04-02 13:26:15 得分 0
找控件吧,自己画太麻烦了Top
5 楼koukoulo(狮狮)回复于 2004-04-03 23:38:17 得分 0
??????????????Top
6 楼chifengwatch(chifengwatch)回复于 2004-04-03 23:49:57 得分 0
呵呵,没弄过打印的东东。
帮你顶上去Top
7 楼haoren2000()回复于 2004-04-04 00:14:46 得分 0
sdfTop
8 楼koukoulo(狮狮)回复于 2004-04-04 18:27:20 得分 0
谢谢支持!Top
9 楼ch_builder(春辉)回复于 2004-04-04 18:47:02 得分 0
用QR很容易实现的,我们这里用的打印系统就是用QR编写的,并且很方便:)Top
10 楼friendbcb(平果)回复于 2004-04-04 19:58:02 得分 0
FastReport ReportMachineTop
11 楼koukoulo(狮狮)回复于 2004-04-06 01:01:01 得分 0
怎么用FastReport ReportMachine作呀?给点提示吧!谢谢!Top
12 楼koukoulo(狮狮)回复于 2004-04-07 01:07:29 得分 0
???~~~~~~???Top
13 楼jiangshi99(僵尸先生99)回复于 2004-04-07 07:56:32 得分 0
楼主是MM?
厉害啊!支持一下!Top
14 楼koukoulo(狮狮)回复于 2004-04-08 23:15:32 得分 0
GG!是支持的就给点实际的嘛!真是的!Top
15 楼koukoulo(狮狮)回复于 2004-04-11 08:53:32 得分 0
大哥~~~~~~~~~~~~~~~~~~~~~~给点贴示吧!!!!!!!Top
16 楼stonewater(小队长)回复于 2004-04-11 15:29:14 得分 0
FastReport有帮助比较好学Top
17 楼Sammo(三毛)回复于 2004-04-12 01:05:56 得分 30
留个邮箱,我发个类似的程序给你吧。Top
18 楼bigfog(宇)回复于 2004-04-14 22:57:18 得分 0
你可以直接用TPrinter打印,在定位时要把页边距减去Top
19 楼koukoulo(狮狮)回复于 2004-04-15 14:15:33 得分 0
给点例子看看好吗?比如说如何使用TPrinter进行打印!给点代码!谢谢!Top
20 楼koukoulo(狮狮)回复于 2004-04-16 13:50:05 得分 0
???Top
21 楼iyln(流浪猫)回复于 2004-04-16 14:08:28 得分 20
套打还是用TPrinter比较方便,把要打印的字段名称和位置存在数据表中,看看下面的代码,希望对你有帮助(部分文字已用"*"代替)。
//打印单据
void __fastcall TBillPrnForm::PrintBill(TObject *Sender)
{
PrintBillBtn->Enabled=false;
CancelBtn->Enabled=false;
//初始化字段名称和实际名称对照表
TStringList *FieldList=new TStringList;
FieldList->Values["****"]="***_**";
FieldList->Values["**"]="***_**";
FieldList->Values["**"]="******";
FieldList->Values["****"]="****_****";
FieldList->Values["****"]="******";
FieldList->Values["****"]="*****";
FieldList->Values["****"]="******";
FieldList->Values["****"]="*******";
FieldList->Values["**"]="****";
FieldList->Values["****"]="*******";
FieldList->Values["****"]="****_**";
FieldList->Values["**"]="*****";
FieldList->Values["****"]="******";
FieldList->Values["****"]="*****_**";
FieldList->Values["****"]="*************";
FieldList->Values["**"]="****";
FieldList->Values["****"]="****_****";
FieldList->Values["****"]="****_**";
FieldList->Values["****"]="*********";
FieldList->Values["**"]="***";
FieldList->Values["**"]="*****";
FieldList->Values["**"]="*********";
FieldList->Values["**"]="*****";
FieldList->Values["****"]="*************";
FieldList->Values["****"]="*********";
FieldList->Values["****"]="********";
FieldList->Values["**"]="****";
//打印机分辨率
int ResX,ResY;
//单据联最大高度
int MaxHeight;
//初始化数据查询控件
TZZMySqlQuery *BillFormatQuery=new TZZMySqlQuery(this);
BillFormatQuery->Database=BillDB;
BillFormatQuery->Transaction=BillTransact;
//查询单据联最大高度
BillFormatQuery->Close();
BillFormatQuery->Sql->Clear();
BillFormatQuery->Sql->Add("select max(y_axis) max_y_axis from bill_format where bill_name=:bill_type");
BillFormatQuery->ParamByName("bill_type")->AsString=BillTypeCBox->Text;
BillFormatQuery->Open();
MaxHeight=BillFormatQuery->FieldByName("max_y_axis")->AsInteger;
//查询指定的单据格式项
BillFormatQuery->Close();
BillFormatQuery->Sql->Clear();
BillFormatQuery->Sql->Add("select field_name,x_axis,y_axis,font_name,font_size from bill_format where bill_name=:bill_type");
BillFormatQuery->ParamByName("bill_type")->AsString=BillTypeCBox->Text;
BillFormatQuery->Open();
//查询指定单据的联数和联间隔
TIniFile *Ini=new TIniFile(INIFILENAME);
int PartNumber=Ini->ReadInteger(BillTypeCBox->Text,"PartNumber",1);
int PartSpace=Ini->ReadInteger(BillTypeCBox->Text,"PartSpace",10);
delete Ini;
//初始化打印控件
TPrinter *BillPrn=Printer();
BillPrn->Title="WMS Bill";
//检测打印机分辨率(pixel/mm)
ResX=GetDeviceCaps(BillPrn->Handle,LOGPIXELSX)/25.4+0.5;
ResY=GetDeviceCaps(BillPrn->Handle,LOGPIXELSY)/25.4+0.5;
MaxHeight=(MaxHeight+PartSpace)*ResY;
//打印单据
BillPrn->BeginDoc();
for(register int i=0;i<PartNumber;i++)
{
BillFormatQuery->First();
for(register int j=0;j<BillFormatQuery->RecordCount;j++)
{
BillPrn->Canvas->Font->Name=BillFormatQuery->FieldByName("font_name")->AsString;
BillPrn->Canvas->Font->Size=BillFormatQuery->FieldByName("font_size")->AsInteger;
BillPrn->Canvas->TextOut(BillFormatQuery->FieldByName("x_axis")->AsInteger*ResX,
BillFormatQuery->FieldByName("y_axis")->AsInteger*ResY+(i*MaxHeight),
BillQuery->FieldByName(FieldList->Values[BillFormatQuery->FieldByName("field_name")->AsString])->AsString; BillFormatQuery->Next();
}
}
BillPrn->EndDoc();
delete BillFormatQuery;
delete FieldList;
PrnResult=true;
Close();
}
Top





