凑个吉利数
来源:互联网 发布:淘宝美工主图多少钱 编辑:程序博客网 时间:2024/04/27 17:39
今天是本月的最后一天,可最近实在是没有时间研究新课题,但又想要将本月发表的文章凑个吉利数字,没办法,只好随便写点东西了!
当然也不能什么都不写,就复制下面的代码吧,是用来计算缺省打印机上缺省纸张的可打印区域的。
当然也不能什么都不写,就复制下面的代码吧,是用来计算缺省打印机上缺省纸张的可打印区域的。
- LOCAL oPaperInfo
- m.oPaperInfo = GetPaperInfo()
- ? '最小左/上边距:', m.oPaperInfo.Left, m.oPaperInfo.Top
- ? '纸张宽/高: ', m.oPaperInfo.Width, m.oPaperInfo.Height
- *!* --------------------------------------------------------------------------
- *!* 功能: 获取缺省打印机及缺省纸张的可打印区域信息
- *!* 出口: 一个包含页信息的对象(单位为 cm )
- *!* --------------------------------------------------------------------------
- FUNCTION GetPaperInfo
- #DEFINE LOGPIXELSX 88
- #DEFINE LOGPIXELSY 90
- #DEFINE PHYSICALWIDTH 110
- #DEFINE PHYSICALHEIGHT 111
- #DEFINE PHYSICALOFFSETX 112
- #DEFINE PHYSICALOFFSETY 113
- #DEFINE SCALINGFACTORX 114
- #DEFINE SCALINGFACTORY 115
- Declare Long GetDeviceCaps IN win32api ;
- Long hdc, Long nIndex
- Declare Long CreateDC IN win32api ;
- String lpszDriver, String lpszDevice, ;
- String lpszOutput, ;
- String lpInitData
- Declare Long DeleteDC IN win32api ;
- Long hdc
- LOCAL loInfo, lhDc, lnLeft, lnTop, lnWidth, lnHeight, lnRes_h, lnRes_v
- m.loInfo = NEWOBJECT( 'Empty' )
- ADDPROPERTY( m.loInfo, 'left', 0 )
- ADDPROPERTY( m.loInfo, 'top', 0 )
- ADDPROPERTY( m.loInfo, 'width', 0 )
- ADDPROPERTY( m.loInfo, 'height', 0 )
- m.lhDc = CreateDC( 'WINSPOOL', SET("Printer",3), NULL, NULL )
- m.lnLeft = GetDeviceCaps( m.lhDc, PHYSICALOFFSETX )
- m.lnTop = GetDeviceCaps( m.lhDc, PHYSICALOFFSETY )
- m.lnWidth = GetDeviceCaps( m.lhDc, PHYSICALWIDTH )
- m.lnHeight = GetDeviceCaps( m.lhDc, PHYSICALHEIGHT )
- m.lnRes_h = GetDeviceCaps( m.lhDc, LOGPIXELSX )
- m.lnRes_v = GetDeviceCaps( m.lhDc, LOGPIXELSY )
- DeleteDC( m.lhDc )
- m.loInfo.Left = ROUND( m.lnLeft / m.lnRes_h * 2.54, 3 )
- m.loInfo.Top = ROUND( m.lnTop / m.lnRes_h * 2.54, 3 )
- m.loInfo.Width = ROUND( m.lnWidth / m.lnRes_h * 2.54, 3 )
- m.loInfo.Height = ROUND( m.lnHeight / m.lnRes_v * 2.54, 3 )
- RETURN m.loInfo
- ENDFUNC
再加点,获取当前 Windows 缺省打印机可用纸张信息及最大/最小自定义纸张尺寸:
- #define TAB chr(9)
- #define DC_FIELDS 1
- #define DC_PAPERS 2
- #define DC_PAPERSIZE 3
- #define DC_MINEXTENT 4
- #define DC_MAXEXTENT 5
- #define DC_BINS 6
- #define DC_DUPLEX 7
- #define DC_SIZE 8
- #define DC_EXTRA 9
- #define DC_VERSION 10
- #define DC_DRIVER 11
- #define DC_BINNAMES 12
- #define DC_ENUMRESOLUTIONS 13
- #define DC_FILEDEPENDENCIES 14
- #define DC_TRUETYPE 15
- #define DC_PAPERNAMES 16
- #define DC_ORIENTATION 17
- #define DC_COPIES 18
- declare long DeviceCapabilities in winspool.drv ;
- string lpDeviceName, ;
- string lpPort, ;
- long iIndex, ;
- string @ lpOutput, ;
- long lpDevMode
- m.nPapers = DeviceCapabilities( set("printer",2), null, DC_PAPERS, null, 0 )
- m.cBuff0 = space( m.nPapers * 2 )
- m.cBuff1 = space( m.nPapers * 8 )
- m.cBuff2 = space( m.nPapers * 64 )
- DeviceCapabilities( set("Printer",2), null, DC_PAPERS, @ m.cbuff0, 0 )
- DeviceCapabilities( set("Printer",2), null, DC_PAPERSIZE, @ m.cbuff1, 0 )
- DeviceCapabilities( set("Printer",2), null, DC_PAPERNAMES, @ m.cbuff2, 0 )
- ? '纸编号' + TAB + '尺寸' + TAB + TAB + '名称'
- ? replicate( '-', 80 )
- for m.ii = 1 to m.nPapers
- ? transform( ctobin( substr( m.cbuff0, (m.ii-1)*2+1, 2 ), '2rs' )) + TAB ;
- + transform( ctobin( substr( m.cbuff1, (m.ii-1)*8+1, 4 ), 'rs' )) + ' x ' ;
- + transform( ctobin( substr( m.cbuff1, (m.ii-1)*8+5, 4 ), 'rs' )) + TAB ;
- + rtrim( rtrim( substr( m.cbuff2, (m.ii-1)*64+1, 64 )), chr(0))
- endfor
- ? replicate( '-', 80 )
- m.cMin = DeviceCapabilities( set("Printer",2), null, DC_MINEXTENT, 0, 0 )
- m.cMax = DeviceCapabilities( set("Printer",2), null, DC_MAXEXTENT, 0, 0 )
- ? '最小自定义纸张尺寸:', transform( m.cMin % 0x10000 ) ;
- + ' x ' + transform( int( m.cMin / 0x10000 ))
- ? '最大自定义纸张尺寸:', transform( m.cMax % 0x10000 ) ;
- + ' x ' + transform( int( m.cMax / 0x10000 ))
- 凑个吉利数
- 吉利
- NYOJ 532 不吉利的数
- 吉利数的问题(直接显示个数及内容)
- 吉利远景与丰田卡罗拉的首个回合
- 积分4444,太不吉利了,发个博客换下分
- 吉利数字
- 讨吉利
- 吉利号码
- 从吉利大学归来
- 吉利汽车李书福讲话
- 好数字,吉利~~~
- UESTC 1689 吉利数字
- 不吉利的数字
- 不吉利数字
- 不吉利的日期
- 吉利博瑞崛起
- 不吉利的日期
- [系统安全]目前修复系统漏洞最好的中文软件
- LINUX安装JDK1.6攻略收藏
- standard midi file format(从midi文件格式开始做)
- asp伪继承初探
- 为什么要在定义抽象类时使用abstract关键字
- 凑个吉利数
- 永失吾爱
- MIDI文件结构分析及生成方法
- hibernate的锁机制
- 如何解决无法停止‘通用卷’设备的故障
- 在工地上!
- C++比较经典的书籍
- 洗钱
- 决定你是富人还是穷人的12法则