网站大量收购闲置独家精品文档,联系QQ:2885784924

[IT认证]软考复习资料.doc

  1. 1、本文档共135页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[IT认证]软考复习资料

数据窗口自适应打印纸张大小 函数名: f_dw_Zoom ??Written by? Vial.Z ??参数: ???? datawindow dw_print-- 要打印的数据窗口 ???? integer??? nMinZoom -- 极限缩小比例(缩小范围不能太大,否则不清晰) ??返回值: ???? -1? ?error ???? 0? ?找不到合适的值 ???? 0 ?找到的合理值 ??作用: ???? 纸张大小满足数据窗口的要求,返回100; ???? 当数据窗口宽度太大,无法在一页纸张上打印时,该程序寻找一个最佳缩小比例值, ???? 使得数据窗口的内容恰好能在当前设定的纸张下打印出来。 ???? 如窗口缩小到85%可以在一页上打印时,返回值为85 */ if not IsValid(dw_print) then ?return -1 end if dw_print.object.datawindow.print.preview = true?? /*预览模式必须打开*/ dw_print.SetRedraw(FALSE)??/*调整放大比例过程中,停止重绘控件,节省程序时间*/ string ls_H_Page?????/*水平打印占据的页数*/ string ls_zoom??????/*设定的缩小百分比整数值*/ Integer li_max = 100????/*从百分百大小开始测试*/ integer li_min ????/*极限缩小值,最多缩小到nn%*/ Integer li_use? ?????/*当前测试值*/ Integer li_OK? = 0????/*最优可用值*/ Integer li_count = 0????/*算法循环执行的次数*/ li_min = nMinZoom??????????? /*赋最小测试值*/ li_use = li_max?????/*从原始大小(100)开始测试。逐渐缩小放大比例*/ do while li_min = li_max? ?li_count ++ ??/*调整 zoom值,并测试当前宽度打印时横向所占的面数*/ ??ls_zoom = string(li_use) ??dw_print.modify(datawindow.zoom = + ls_zoom) ??ls_H_Page = dw_print.describe( evaluate(PageCountAcross(),+string(dw_print.object.datawindow.firstrowonpage)+)? ) ?? ??if Integer(ls_H_Page) = 1 then??/*一页足以打印出来*/ ???li_OK = li_use??? ?????/*记录这个可用的缩小比例*/ ???li_min = li_use + 1 ??else ???li_max = li_use - 1 ??end if ?????? ??choose case li_max - li_min ???case IS 0 ????exit ???case 0 ????li_use = li_min ???case 1 ????li_use = li_min ???case else ????li_use = Int((li_max + li_min)/2)? /*小于等于的最小整数*/ ??end choose????? loop /*还原窗口原大小*/ if li_OK 100 then ?dw_print.modify(datawindow.zoom = 100 ) end if dw_print.object.datawindow.print.preview = false??? dw_print.SetRedraw(TRUE)? ????????/*恢复重绘控件*/ return li_OK 首先说明原理: 系统是认一个一个程序范围的,一般来说,一个IE默认为一个程序范围.   框架因为有了跨域的内容,所以它首先默认的是框架程序本身的程序范围,这样使得框架内的程序范围得不到确认.   为了让这个IE默认为框架内的程序范围,所以我使用了多次跳转.   首先,跳出本框架,进入一个无框架的需要session值的网站页面(就叫它B服务器的页面),并在这个页面中生成一个session以便系统自动生成一个sessionID,然后又跳回到有框架的页面.因为系统已经为这个IE生成了一个sessionID,所以只要不关掉这个IE,系统一直以为这个IE是本程序范围的.这样,再次生成的session值就得以在这个ID中生存下来.   也就达到了骗过系统的目的.   再补充一点,

您可能关注的文档

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档