索书号= 分类号 + 排架号 比如 TP311.12/Y21S
到图书馆找书时想找《数据结构》这本书,先查到它的索书号TP311.12/Y21S,
找到TP311.12这一类图书的大致位置,然后根据Y21S就可以知道这本书在书架
的摆放位置。实际上可以把索书号看作一个字符串
问题是:如何把数据库中查询到的索书号打印在贴纸上,要求每个索书号
都打印在整张贴纸的每个小方框内。谢谢!
______________________________________________________________________
| |
| _________________ ___________________ _________________ |
| | | | | | | |
| | TP311.12/Y21S | | TP311.12/Y223 | | TP311.12/Y254 | |
| |________________| |_________________| |________________| |
| |
| _________________ ___________________ _________________ |
| | | | | | | |
| | TP312.12/Y43T | | TP312.12/Y21S | | TP312.12/E41S | |
| |________________| |_________________| |________________| |
| _________________ ___________________ _________________ |
| | | | | | | |
| | TP313.12/Y21S | | ...... | | | |
| |________________| |_________________| |________________| |
| _________________ ___________________ _________________ |
| | | | | | | |
| | ..... | | | | | |
| |________________| |_________________| |________________| |
| |
|____________________________________________________________________|
到图书馆找书时想找《数据结构》这本书,先查到它的索书号TP311.12/Y21S,
找到TP311.12这一类图书的大致位置,然后根据Y21S就可以知道这本书在书架
的摆放位置。实际上可以把索书号看作一个字符串
问题是:如何把数据库中查询到的索书号打印在贴纸上,要求每个索书号
都打印在整张贴纸的每个小方框内。谢谢!
______________________________________________________________________
| |
| _________________ ___________________ _________________ |
| | | | | | | |
| | TP311.12/Y21S | | TP311.12/Y223 | | TP311.12/Y254 | |
| |________________| |_________________| |________________| |
| |
| _________________ ___________________ _________________ |
| | | | | | | |
| | TP312.12/Y43T | | TP312.12/Y21S | | TP312.12/E41S | |
| |________________| |_________________| |________________| |
| _________________ ___________________ _________________ |
| | | | | | | |
| | TP313.12/Y21S | | ...... | | | |
| |________________| |_________________| |________________| |
| _________________ ___________________ _________________ |
| | | | | | | |
| | ..... | | | | | |
| |________________| |_________________| |________________| |
| |
|____________________________________________________________________|
解决方案 »
- 怎样把数据库中的文件,在客户端不生成文件而是在内存中直接打开?
- 在form1中如何使右击弹出一个TTreeview对象
- help me!!!
- 再次重申:我5416正式加入CSDN,送上1大分,不成敬意,最后一个回贴的同志可以得到这一分,我向foxnt、windindance...等各位老同志保证!
- 用access做的数据库在delphi中能不能封装到程序中去呀???
- Delphi4如何控制word?
- 在线等待:如果我要用Possmessage传递一个字符串,如何做................
- EXECL表的拷贝与粘贴
- 想做翻译软件的人请进来--------------->讨论如何实现进行屏幕取词。
- 系统编程: 怎样在IE浏览器的快捷菜单上添加我的程序快捷方式。并能。。。
- ★★★★★为感谢兄弟姐妹在这里给我的一些帮助,今天散分多谢大家★★★★★
- 三层结构的问题!!!!等...............
分类号
排架号
卷册号
才对哟,另外,别用QReport,试试其他的,QReport实现这种打印巨麻烦,很难保证对整齐,一般会出现上边整齐了,下边不停往下坠,到书标纸的末端简直就惨不忍睹了。
我做的时候是这样弄的。procedure TPrintFrm.SpeedButton1Click(Sender: TObject);
var
Year,Month,Day:Word;
DateTime:String;
begin DecodeDate(now,Year,Month,Day);
DateTime:=Format('%d-%d-%d',[Year,Month,Day]);
Printer.BeginDoc;
Printer.Canvas.Font.Name:='宋体';
Printer.Canvas.Font.Size:=10;
// 列 行
Printer.Canvas.TextOut(480,130,DianFrm.Combobox2.text+'(电费交纳单)');
Printer.Canvas.TextOut(100,190,' ----------------------------------------------------------------------------------------------');
Printer.Canvas.polyline([Point(100,200),Point(100,530)]);//第一条线
Printer.Canvas.Polyline([point(210,200),point(210,530)]);//第二条线
Printer.Canvas.Polyline([point(380,200),point(380,460)]);//第三条线
Printer.Canvas.Polyline([point(580,200),point(580,460)]);//第四条线
Printer.Canvas.Polyline([point(780,200),point(780,460)]);//第五条线
Printer.Canvas.Polyline([point(980,200),point(980,460)]);//第六条线
Printer.Canvas.Polyline([point(1180,200),point(1180,530)]);//第七条线
Printer.Canvas.Polyline([point(1330,200),point(1330,530)]);//最后一条线
Printer.Canvas.TextOut(100,220,' 名称 ');
Printer.Canvas.TextOut(220,220,DianFrm.Edit1.Text);
Printer.Canvas.TextOut(400,220,'上期用电(度)');
Printer.Canvas.TextOut(600,220,'本期用电(度)');
Printer.Canvas.TextOut(800,220,'实际用电(度)');
Printer.Canvas.TextOut(1000,220,'单价(度/元)');
Printer.Canvas.TextOut(1200,220,'金额(元)');
Printer.Canvas.TextOut(100,250,' ----------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(100,290,' 门市');
Printer.Canvas.TextOut(220,290,DianFrm.Edit2.Text+DianFrm.Label1.caption+DianFrm.Edit3.text+DianFrm.Label2.caption+DianFrm.Edit4.text+DianFrm.Label3.Caption);
Printer.Canvas.TextOut(440,290,DianFrm.Edit5.Text);
Printer.Canvas.TextOut(640,290,DianFrm.Edit6.Text);
Printer.Canvas.TextOut(860,290,DianFrm.Edit7.Text);
Printer.Canvas.TextOut(1050,290,DianFrm.Edit8.Text);
Printer.Canvas.TextOut(1230,290,DianFrm.Edit9.Text);
Printer.Canvas.TextOut(100,320,' ----------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(100,360,' 住房');
Printer.Canvas.TextOut(220,360,DianFrm.Edit10.Text+DianFrm.Label4.Caption+DianFrm.Edit11.Text+DianFrm.Label5.Caption+DianFrm.Edit12.Text+DianFrm.Label6.Caption);
Printer.Canvas.TextOut(440,360,DianFrm.Edit13.Text);
Printer.Canvas.TextOut(640,360,DianFrm.Edit14.Text);
Printer.Canvas.TextOut(860,360,DianFrm.Edit15.Text);
Printer.Canvas.TextOut(1050,360,DianFrm.Edit16.Text);
Printer.Canvas.TextOut(1220,360,DianFrm.Edit17.Text);
Printer.Canvas.TextOut(100,390,' ----------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(100,430,' 住房');
Printer.Canvas.TextOut(220,430,DianFrm.Edit18.Text+DianFrm.Label7.Caption+DianFrm.Edit19.Text+DianFrm.Label8.Caption+DianFrm.Edit20.Text+DianFrm.Label10.Caption);
Printer.Canvas.TextOut(440,430,DianFrm.Edit21.Text);
Printer.Canvas.TextOut(640,430,DianFrm.Edit22.Text);
Printer.Canvas.TextOut(860,430,DianFrm.Edit23.Text);
Printer.Canvas.TextOut(1050,430,DianFrm.Edit24.Text);
Printer.Canvas.TextOut(1220,430,DianFrm.Edit25.Text);
Printer.Canvas.TextOut(100,460,' ----------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(100,500,'合计大写');
Printer.Canvas.TextOut(220,500,DianFrm.Edit26.Text);
Printer.Canvas.TextOut(1230,500,DianFrm.Edit27.Text);
Printer.Canvas.TextOut(100,530,' ----------------------------------------------------------------------------------------------');
Printer.Canvas.TextOut(100,580,'收费单位:'+DianFrm.ComboBox2.Text);
Printer.canvas.textout(580,580,'收费员:'+DianFrm.ComboBox1.Text);
Printer.Canvas.TextOut(980,580,'时间:'+DateTime);
Printer.EndDoc;
end;
看来不能做成报表一样的东西可以预览咯
---------------------------------------------------------------
可以不用画线了。直接打印吧.就是控制格式有点麻烦
不过这样一次只能打印一页
不过没关系,就这么办吧 :)