• [FLASH]http://www.flashsky.com/20020915_cao/2454/hahan.swf[/FLASH]
  • [FLASH]http://www.flashsky.com/20020915_cao/1582/xiao.swf[/FLASH]
  • [FLASH]http://www.flashsky.com/20020915_cao/5864/tbh.swf[/FLASH]
  • 介绍类:1. Flash MX 2004全接触2. 为Flash MX 2004带路----------------------------------------------------------------------------------------------------软件使用类:1. Flash MX 2004的项目管理2. 昨天试了一下Xmlconnector,DataSet与Xml (11.12加入)----------------------------------------------------------------------------------------------------插件工具类:1. 在IE里看Flash mx 2k4的帮助2. 谁说Flash不能做3D?3. Flash MX 2004扩展插件下载4. Jinni 的Flash工具系列(增加中...)(10.13更新)5. Flash MX 2004 中英文双语补丁 1.1(10.9日加入)6. Flash MX 2004 Updater(至7.0.1)(11.12加入)----------------------------------------------------------------------------------------------------图像视频效果类:1. Flash MX 2004制造像素字体2. Flash MX 2004的图文混排3. Flash MX 2004中的文本遮罩----------------------------------------------------------------------------------------------------脚本编程类:1. ActionScript 新手调试2. 关于AS2.0 编程的一页规则3. ActionScript 2.0 新特性实例教程 4. 为AS2.0 添砖加瓦 -- 编写类扩展5. Flash 2004 MX Components6. AS2.0的私有,公有成员,类继承和as嵌套7. Flash MX 2004支持的HTML标签8. Flash 2004 MX支持的css9.
  • 免费QQ - [碧雪日记]

    2004-04-20

    [普号结果]
    QQ号码总数=50
    QQ号码1=378089753 密码:22785126 申请时间:2004-04-11 12:34:01
    QQ号码2=378089824 密码:28154073 申请时间:2004-04-11 12:34:10
    QQ号码3=378090052 密码:38284715 申请时间:2004-04-11 12:34:52
    QQ号码4=378090381 密码:88203684 申请时间:2004-04-11 12:35:32
    QQ号码5=378090780 密码:11503165 申请时间:2004-04-11 12:36:24
    QQ号码6=378090863 密码:25072374 申请时间:2004-04-11 12:36:29
    QQ号码7=378092044 密码:46580258 申请时间:2004-04-11 12:38:36
    QQ号码8=378092118 密码:54480775 申请时间:2004-04-11 12:38:42
    QQ号码9=378093765 密码:57635804 申请时间:2004-04-11 12:41:21
    QQ号码10=378093851 密码:76056677 申请时间:2004-04-11 12:41:27
    QQ号码11=378095913 密码:51070613 申请时间:2004-04-11 12:44:59
    QQ号码12=305114119 密码:25242241 申请时间:2004-04-11 12:45:22
    QQ号码13=378096546 密码:32373067 申请时间:2004-04-11 12:46:21
    QQ号码14=378096651 密码:46812555 申请时间:2004-04-11 12:46:29
    QQ号码15=378097939 密码:76378015 申请时间:2004-04-11 12:48:4637809793976378015
    QQ号码16=378098192 密码:60100808 申请时间:2004-04-11 12:49:04
    QQ号码17=378098551 密码:14358377 申请时间:2004-04-11 12:49:58
    QQ号码18=378098832 密码:35175805 申请时间:2004-04-11 12:50:18
    QQ号码19=378231279 密码:54208212 申请时间:2004-04-11 16:51:01
    QQ号码20=378231477 密码:84677501 申请时间:2004-04-11 16:51:17
    QQ号码21=350028066 密码:77761452 申请时间:2004-04-11 16:51:34
    QQ号码22=312994562 密码:32834506 申请时间:2004-04-11 16:51:52
    QQ号码23=378232313 密码:11337856 申请时间:2004-04-11 16:53:07
    QQ号码24=344572972 密码:05203446 申请时间:2004-04-11 16:53:21
    QQ号码25=378233442 密码:33076232 申请时间:2004-04-11 16:55:15
    QQ号码26=378233525 密码:80755025 申请时间:2004-04-11 16:55:21
    QQ号码27=378234013 密码:66330245 申请时间:2004-04-11 16:56:26
    QQ号码28=378234265 密码:88151314 申请时间:2004-04-11 16:56:45
    QQ号码29=378235326 密码:88457628 申请时间:2004-04-11 16:58:54
    QQ号码30=378235413 密码:56125700 申请时间:2004-04-11 16:59:00
    QQ号码32=378235932 密码:71805164 申请时间:2004-04-11 17:00:04
    QQ号码33=329445037 密码:07123506 申请时间:2004-04-11 17:02:43
    QQ号码34=378237265 密码:47621575 申请时间:2004-04-11 17:02:49
    QQ号码35=378237595 密码:31342445 申请时间:2004-04-11 17:03:14
    QQ号码36=378237838 密码:07846180 申请时间:2004-04-11 17:03:32
    QQ号码38=253789205 密码:23168828 申请时间:2004-04-11 17:04:54
    QQ号码39=378239261 密码:61753410 申请时间:2004-04-11 17:06:45
    QQ号码40=378239328 密码:44502557 申请时间:2004-04-11 17:06:52
    QQ号码41=378241068 密码:55646436 申请时间:2004-04-11 17:10:10
    QQ号码42=350029158 密码:77442311 申请时间:2004-04-11 17:10:19
    QQ号码43=378241849 密码:55672822 申请时间:2004-04-11 17:11:36
    QQ号码44=344573995 密码:30243162 申请时间:2004-04-11 17:11:42
    QQ号码45=358983017 密码:87737647 申请时间:2004-04-11 17:14:57
    QQ号码46=378243571 密码:05877056 申请时间:2004-04-11 17:15:21
    QQ号码47=378244301 密码:27777670 申请时间:2004-04-11 17:16:41
    QQ号码48=378244370 密码:06686061 申请时间:2004-04-11 17:16:47
    QQ号码49=378245103 密码:63072731 申请时间:2004-04-11 17:18:08




    作者:cibe 时间:2004-4-11 17:34:20

    --------------------------------------------------------------------------------
    qq

    [普号结果]
    QQ号码总数=91
    QQ号码1=376743117 密码:21106405 申请时间:2004-04-10 18:30:21
    QQ号码2=376743195 密码:27107161 申请时间:2004-04-10 18:30:27
    QQ号码3=358905789 密码:00544766 申请时间:2004-04-10 18:31:19
    QQ号码4=376743909 密码:54014303 申请时间:2004-04-10 18:31:43
    QQ号码5=376744522 密码:58384822 申请时间:2004-04-10 18:32:54
    QQ号码6=376744617 密码:68062728 申请时间:2004-04-10 18:33:01
    QQ号码7=376746135 密码:62425718 申请时间:2004-04-10 18:35:35
    QQ号码8=315503120 密码:25080705 申请时间:2004-04-10 18:36:47
    QQ号码9=376746700 密码:84512462 申请时间:2004-04-10 18:36:56
    QQ号码10=349952766 密码:10556112 申请时间:2004-04-10 18:37:51
    QQ号码11=312919775 密码:53853058 申请时间:2004-04-10 18:38:07
    QQ号码12=376748321 密码:02571186 申请时间:2004-04-10 18:39:39
    QQ号码13=376748414 密码:55128445 申请时间:2004-04-10 18:39:46
    QQ
  • 还原精灵是南京远志公司推出的新型纯软件版硬盘还原工具。它可以保护您的硬盘免受病毒侵害,重新恢复删除或覆盖的文件,彻底清除安装失败的程序,并避免由于系统死机带来的数据丢失等问题。只需简单的几步安装,即可安全地保护您的硬盘数据。还原精灵的安装不会影响硬盘分区和操作系统。轻松安装、动态保护、实时瞬间恢复。

    还原精灵采用新的内核技术,安装时由软件动态分配保留空间,无须预先设置其位置和大小,从而能够最大限度的利用硬盘空间。

    产品特点:
    1.纯软件设计,安装简单、方便、快捷。
    2.可以在 Windows 环境下安装并运行,介面友好,使用方便。
    3.不占用扩展槽,不会与硬件发生冲突。
    4.智能型安装,提供两种快速安装保护方式。
    5.可同时保护多个逻辑盘(最多 30 个)。
    6.采用最新技术,动态使用硬盘空间。
    7.自动安装还原精灵驱动程序,几乎不影响系统的运行速度。
    8.VxD驱动程序与还原精灵无缝连接,有无VxD驱动程序系统均能保护。
    9.支持五种硬盘数据还原方式:不还原、自动还原、手动还原、定时还原和数据转储。
    10.移除方式灵活。在 Windows 下移除还原精灵,会询问是否需要还原或转储数据。
    11.提供还原 CMOS 功能。当 CMOS 更改后,可以选择转储、还原或分析。
    12.提供 32 位内核下的还原精灵驱动程序。可分别支持 IDE 或 SCSI 硬盘。
    13.可监控剩余空间和转储数据量,达到一定程度时,会发出相应的警告。
    14.当保留空间快用完时,会提示是否需要还原或转储;当转储数据量达到一定比例时,会提示您整理碎片。
    15.提供 MS-DOS 或 Windows 方式进行系统设置,操作方便。
    16.还原时间设置可以精确到分钟。
    17.可保护多个操作系统。
    18.支持桌上型计算机与笔记本计算机。
    19.支持 NTFS、FAT32、BIGDOS 或 FAT16 文件系统格式。支持大于 8GB 的 IDE、EIDE 或 SCSI 硬盘。
    20.支持分区工具制作的多重开机环境, 如分区工具 System Commander 和 PQMagic。

    Name:www.skkk.net
    Code:YUAN-VRT6-SAPT-MQES-XFAY

    http://www.yzqn.net/soft/1496.htm

  • 给大家无私提供一些精品软件!

    --------------------------------------------------------------------------------

    软件名称: Windows XP SP1a 联想最新光盘原版
    软件语言: 简体中文
    软件类别: 精品天地/零售版/大型软件
    运行环境: Win9x/NT/2000/XP/
    软件大小: 523.29 MB
    软件更新: 2004-1-18 1:10:52 [ 柠檬 ]
    页面刷新: 2004-2-8 19:19:51
    软件评级: ★★★★

    软件介绍:
    新标XPPRO的确是原汁原味的原版!这一点大家不用怀疑!但是安装联想OEM版XP需要修改主板标识,大家可以使用地址2的DMICFG进行修改BIOS。修改是否成功?***梢杂玫刂?的工具检测,点击该软件看看是否弹出“最终用户许可协议”。能弹出“最终用户许可协议”则说明BIOS修改成功安装LENOVO WinXP安装后自动激活,否则安装后没有被激活。
    要下赶快!。耐性+耐性=成功!
    注意!只有联想或是修改了BIOS的机器才能安装使用,安装时不用序列号!

    (序列号?:FCDGH-QW3DJ-VBC6C-9BYTX-4GKQJ)

    -----关于如何修改BIOS-----
    (DMICFG见地址2)
    一、先用优化大师看一下主板的SMBIOS/DMI的版本,我的是AMI的2.3版(技加7VTXE+)
    二、用工具DMICFG修改BIOS的版本号,*作如下:
    1,在纯DOS状态,启动DMICFG软件。
    2,用光标移动至BIOS位置,敲回车键,进入编辑DMI的状态。用光标移动到第二项处,将BIOS的版本号修改为“LEGEND Dragon”
    3,敲F10键保存修改的信息

    这个是最简单的修改方法,如果你的主板不支持DMICFG,就只有用其它的方法了。好像是DMI的版本越高,对DMICFG的支持越好,我试过用AMIBCP7.5修改BIOS刷新后却没有成功,不知是什么原因?


    下载地址:http://www.icp1.com/3lsoft/download/soft...sp?id=2322&no=1


    ----------------------------------------------------------------------------------------------------------
    软件名称: Corel DRAW 11 简体中文版
    软件语言: 简体中文
    软件类别: 精品天地/零售版/大型软件
    运行环境: Win9x/NT/2000/XP/
    软件大小: 351 MB
    软件更新: 2004-2-8 22:20:27
    页面刷新: 2004-2-8 22:51:08
    软件评级: ★★★★★

    软件介绍: 矢量图形制作软件,非本地下载。

    下载地址:
    http://www.icp1.com/3lsoft/download/soft...sp?id=2880&no=1

    ---------------------------------------------------------------------------------------------------------

    软件名称: Windows XP Pro SP1.5 大客户授权上海政府版
    软件语言: 简体中文
    软件类别: 精品天地/零售版/大型软件
    运行环境: Win9x/NT/2000/XP/
    软件大小: 564 MB
    软件更新: 2004-1-8 23:26:08 [ 柠檬 ]
    页面刷新: 2004-2-8 19:20:20
    下载次数: 50480
    软件评级: ★★★★★

    软件介绍: 多人链接,请耐心多试!解压密www.sz1001.net

    心动特点:
    1 完美集成SP2组件,实现SP2的大部分优势,名副其实的SP1.5版本
    2 在BETA1.0 基础上又新增了 SP2的新组件 并且重新优化了 驱动
    3 控制在658M
    4 去掉了杀毒软件,节省了30M
    5 集成冲击波病毒的补丁
    6 使用技术相对比较成熟的DX8.1
    7 集成Microsoft GB18030 支持工具包
    8 多套经典XP桌面内置
    9 集成MIRCOSOFT VM-JAVA,更多新功能,更高兼容性
    10 集成MSN MESSAGE 6
    11 集成WINRAR3.2的完美中文版。让XP一网打尽压缩文件
    12 :真正光盘启动,更人性化设置,轻松安装XP
    13 采用WINXP SP1 上海VLK大客户版本改制,无须激活,再线升级
    14 集成新桌面和屏保
    15 控制面板中的系统选项使用WINXP OEM的LOGE图标


    下载地址:http://www.icp1.com/3lsoft/download/soft/2137.htm
    地址1:http://www.icp1.com/3lsoft/download/down.asp?id=2137&no=1
    地址2:http://www.icp1.com/3lsoft/download/down.asp?id=2137&no=3

    ----------------------------------------------------------------------------------------------------------

    Windows Server 2003 真正企业免激活版(简体中文/526 MB)
    真正企业免激活版,序列号: JB88F-WT2Q3-DPXTT-Y8GHG-7YYQY
    解压密www.sz1001.net

    下载地址:
    http://www.icp1.com/3lsoft/download/soft/2133.htm
    ---------------------------------------------------------------------------------------------------------

    软件名称: Adobe Photoshop CS-TDA 英文版
    软件语言: 英文
    软件类别: 精品天地/破解版/大型软件
    运行环境: Win9x/NT/2000/XP/
    软件大小: 291 MB
    软件更新: 2004-2-6 0:28:30 [ 柠檬 ]
    页面刷新: 2004-2-8 22:51:23
    下载次数: 640
    软件评级: ★★★★★
    联 系 人: 未知
    开 发 商: 未知
    软件介绍:

    里面已经含有电话激活的算号器,CS-TDA版,建议用DAEMON Tools安装。

    下载地址:
    http://www.icp1.com/3lsoft/download/soft...sp?id=2826&no=1
    ---------------------------------------------------------------------------------------------------
  • 古典全集 - [小说世界]

    2004-04-08

    古典全集:
    【笑赞】http://www.shulu.net/gd/001.htm
    【甲申三百年祭】 http://www.shulu.net/gd/002.htm
    【禅真逸史】http://www.shulu.net/gd/czys/czys.htm
    【中国古代性文化】http://www.kan68.com/index3.htm?user=zpxap_2000
    【引凤萧】http://www.shulu.net/gd/yfx/yfx.htm
    【苏洵集】http://www.shulu.net/gd/sxj/sxj.htm
    【快士传】http://www.shulu.net/gd/ksz/ksz.htm
    【徐霞客游记】http://www.shulu.net/gd/xxk/xxk.htm
    【狐狸缘全传】http://www.shulu.net/gd/fox/fox.htm
    【木兰奇女传】http://www.shulu.net/gd/mlqn/mlqn.htm
    【老子集注】http://www.shulu.net/gd/lzjz.htm
    【三国志】http://www.shulu.net/gd/sgz/sgz.htm
    【新编绘图今古奇观】http://www.shulu.net/gd/xinbian/xinbian.htm
    【太平广记】http://www.shulu.net/gd/tpgj/tpgj.htm
    【金瓶梅传奇】http://www.shulu.net/gd/jpmcq/jpmcq.htm
    【杨家将】http://www.shulu.net/gd/yjj/yjj.htm
    【老残游记】http://www.shulu.net/gd/laocan.zip
    【杨乃武与小白菜】http://www.shulu.net/gd/ynw/ynw.htm
    【五代史演义】http://www.shulu.net/gd/wudai/wudai.htm
    【宋史演义】http://www.shulu.net/gd/songshi/songshi.htm
    【中国官场学】http://www.shulu.net/gd/gcx/gcx.htm
    【红楼梦】http://www.shulu.net/gd/hlm.zip
    【西游记】http://www.shulu.net/gd/xyj.zip
    【东游记】http://www.shulu.net/gd/dyj/dyj.htm
    【三国演义】http://www.shulu.net/gd/3guo.zip
    【水浒传】http://www.shulu.net/gd/shuihu.zip
    【浮生六记】http://www.shulu.net/gd/6.zip
    【金瓶梅】http://www.shulu.net/gd/jpm.zip
    【封神演义】http://www.shulu.net/gd/fs.zip
    【聊斋志异】http://www.shulu.net/gd/lzzy.zip
    【儒林外史】http://www.shulu.net/gd/rlws/rlws.htm
    【二刻拍案惊奇】http://www.shulu.net/gd/2ke.htm
    【欢喜冤家】http://www.shulu.net/gd/hxyj.htm
    【霍小玉传】http://www.shulu.net/gd/hxy.htm
    【镜花缘】http://www.shulu.net/gd/jhy/jhy.htm ;
    【陶庵梦忆】http://www.shulu.net/gd/taoan/taoan.htm
    【婉约词】http://www.shulu.net/gd/wyc/wyc.htm
    【大戴礼记】http://www.shulu.net/gd/ddlj.htm
    【元史】http://www.shulu.net/gd/yuanshi/yuanshi.htm
    【金史】http://www.shulu.net/gd/jinshi/jinshi.htm
    【归莲梦】http://www.shulu.net/gd/glm/glm.htm
    【汉书】http://www.shulu.net/gd/hs/hs.htm
    【百战奇略】http://www.shulu.net/gd/bzql/bzql.htm
    【三遂平妖传】http://www.shulu.net/gd/3s/3s.htm
    【游仙窟】http://www.shulu.net/gd/yxk.htm
    【世说新语】http://www.shulu.net/gd/say.zip ;
    【搜神後记】http://www.shulu.net/gd/ss.htm
    【孙子兵法】http://www.shulu.net/gd/szbf.htm
    【庄子】http://www.shulu.net/gd/zz.htm
    【围炉夜话】http://www.shulu.net/gd/wl.htm
    【孝经】http://www.shulu.net/gd/xj.htm
    【易经】http://www.shulu.net/gd/yj.txt
    【增广贤文】http://www.shulu.net/gd/zgxw.htm
    【中庸】http://www.shulu.net/gd/zy.htm
    【周易参同契】http://www.shulu.net/gd/zyc.htm
    【荀子】http://www.shulu.net/gd/xunzi/xunzi.htm ;
    【论语】http://www.shulu.net/gd/ly.htm
    【菜根谭】http://www.shulu.net/gd/cgt.htm
    【大学章句】http://www.shulu.net/gd/dx.htm
    【公孙龙子】http://www.shulu.net/gd/gslz.htm
    【鬼谷子】http://www.shulu.net/gd/ggz.htm
    【老子】http://www.shulu.net/gd/lz.htm ;
    【了凡四训】http://www.shulu.net/gd/lf.htm
    【孟子】http://www.shulu.net/gd/mz.htm
    【棋经十三篇】http://www.shulu.net/gd/qj.htm
    【情史】http://www.shulu.net/gd/qingshi.htm
    【陆贾新语】http://www.shulu.net/gd/ljxy.htm
    【申鉴】http://www.shulu.net/gd/sj.htm
    【传习录】http://202.99.178.148/bookroad/gd/cxl/cxl.htm
    【法言义疏】http://www.shulu.net/gd/fayan/fayan.htm
    【论笺校正】http://www.shulu.net/gd/lun/lun.htm
    【西京杂记】http://www.shulu.net/gd/xjzj.htm
    【九尾龟】http://www.guoxue.com/minqingstory/9weig/9WEIG.htm ;
    【醒名花】http://www.guoxue.com/minqingstory/wmy/wmy.htm
    【后宋慈云走国全传】http://www.shulu.net/gd/hscy/hscy.htm
    【海游记】http://www.shulu.net/gd/hyj/hyj.htm
    【周敦颐集】http://www.shulu.net/gd/zdyj.htm
    【唐前诗词】http://www.shulu.net/gd/poem/tangqian.zip
    【李白诗全集】http://www.shulu.net/gd/poem/libai.zip
    【杜甫诗全集】http://www.shulu.net/gd/poem/dupu.zip
    【白居易诗全集】http://www.shulu.net/gd/poem/baijuyi.zip
    【李贺全集】http://www.shulu.net/gd/poem/lihe.zip
    【唐宋名家词选】http://www.shulu.net/gd/po
  • 《FTP校园神捕2004》
    《FTP校园神捕2004》是全免费软件,专门针对大学校园网或局域网定做。力求快速搜索各种FTP资源 .
    FTP神捕2004--七大革命
    速度革命:新的搜索机制30线程1秒搜1个C段。搜清华校园网(166.111.1.1-166.111.255.255),PII450,128M,两层目录,30个线程,搜索到62台主机,3650个文件,耗时5分15秒。
    显示革命:显示文件下载速度。需不需密码,下载速率多少,一目了然,挑最快的主机下!
    结果革命:导入导出功能。结果可随时以文件存下来,下次直接导入。
    界面革命:两种文件显示机制相互切换。按主机显示,或按文件类型显示。歌典电影任你下载。
    操作革命:任务管理模式,收藏夹功能。 自动记录上次搜索任务,方便再次搜索。
    下载革命:直接拖动下载。与第三方下载软件(如:flashget)完美结合。
    一键搜索:内置十所名校网段,一键直接搜索。本地局域网亦然
    http://gzcnc.onlinedown.net/down/schoolftp.exe
    http://www.sdsteam.com/schoolftp.exe

    FTP资源


    166.111.0.0-166.111.255.255 (清华)
    162.105.0.0-162.105.255.255 (北京大学)
    202.038.002.000-202.038.003.255 (南京大学)
    202.119.032.000-202.119.063.255 (南京大学)
    210.029.240.000-210.029.255.255 (南京大学)
    202.038.064.000-202.038.095.255 (中国科技大学)
    210.045.064.000-210.045.079.255 (中国科技大学)
    202.038.135.000-202.038.135.255 (上海交通大学)
    202.120.000.000-202.120.063.255 (上海交通大学)
    202.038.192.000-202.038.255.255 (华南理工大学)
    211.066.001.000-211.066.003.045 (华南理工大学北区学五)
    202.112.080.000-202.112.095.255 (北京师范大学)
    202.112.096.000-202.112.111.255 (北京邮电学院)
    202.112.112.000-202.112.127.255 (中国人民大学)
    202.112.128.000-202.112.143.255 (北京航空航天大学)
    202.112.144.000-202.112.159.255 (北方交通大学)
    202.112.160.000-202.112.175.255 (北京农业大学)
    202.112.176.000-202.112.191.255 (北京医药大学)
    202.112.192.000-202.112.207.255 (北京外国语大学)
    202.113.000.000-202.113.015.255 (天津大学)
    202.113.176.000-202.113.191.255 (天津大学)
    202.113.016.000-202.113.031.255 (南开大学)
    202.113.224.000-202.113.239.255 (南开大学)
    202.114.000.000-202.114.031.255 (华中科技大学)
    202.114.032.000-202.114.047.255 (华中师范大学)
    202.114.064.000-202.114.079.255 (武汉大学)
    202.114.096.000-202.114.111.255 (武汉水利水电大学)
    202.114.112.000-202.114.127.255 (武汉测绘科技大学)
    202.114.128.000-202.114.143.255 (同济医药大学)
    202.114.144.000-202.114.159.255 (湖北大学)
    202.114.160.000-202.114.175.255 (武汉交通科技大学)
    202.114.192.000-202.114.207.255 (中国地质大学(武汉))
    202.114.224.000-202.114.239.255 (中南财经大学)
    202.115.032.000-202.115.047.255 (四川大学)
    202.115.048.000-202.115.063.255 (成都科技大学)
    202.202.064.000-202.202.079.255 (成都科技大学)
    202.115.064.000-202.115.079.255 (西南交通大学)
    202.115.096.000-202.115.111.255 (华西医科大学)
    202.202.016.000-202.202.031.255 (华西医科大学)
    202.115.112.000-202.115.127.255 (西南财经大学)
    202.115.128.000-202.115.143.255 (成都理工学院)
    202.202.080.000-202.202.095.255 (成都理工学院)
    202.115.144.000-202.115.159.255 (四川工业学院)
    202.115.192.000-202.115.207.255 (四川师范大学)
    202.116.000.000-202.116.031.255 (暨南大学)
    202.116.064.000-202.116.095.255 (中山大学)
    202.117.000.000-202.117.063.255 (西安交通大学)
    202.117.080.000-202.117.095.255 (西北工业大学)
    202.117.112.000-202.117.127.255 (西安电子科技大学)
    202.118.000.000-202.118.031.255 (东北大学)
    202.118.064.000-202.118.079.255 (大连理工大学)
    202.118.080.000-202.118.095.255 (大连海事大学)
    202.118.176.000-202.118.191.255 (哈尔滨工程大学)
    202.118.192.000-202.118.207.255 (哈尔滨理工大学)
    202.118.224.000-202.118.239.255 (哈尔滨工业大学)
    202.119.000.000-202.119.031.255 (东南大学)
    202.119.064.000-202.119.079.255 (南京航空航天大学)
    202.119.080.000-202.119.095.255 (南京理工大学)
    202.119.112.000-202.119.127.255 (河海大学)
    202.120.080.000-202.120.095.255 (华东师范大学)
    202.120.096.000-202.120.111.255 (华东理工大学)
    202.120.160.000-202.120.175.255 (上海铁道大学)
    202.120.176.000-202.120.191.255 (同济大学)
    202.120.224.000-202.120.255.255 (复旦大学)
    202.194.000.000-202.194.031.255 (山东大学)
    202.195.128.000-202.195.143.255 (苏州大学)
    202.197.000.000-202.197.015.255 (国防大学)
    202.197.032.000-202.197.047.255 (长沙铁道学院)
    202.197.096.000-202.197.111.255 (湖南大学)
    202.197.224.
  • 原来有些事情是永远忘不掉的。

    以为已经随风消逝,

    却总有办法在不经意间重返心间。

    快乐悲伤历历在目之时,便能体察到自

    己久违了的真切和清晰……。

    向往安全,或许是因为我们脆弱吧……。

    只是事与愿违:

    藏得再好……不过总是虚无。

    这个世上……总有镜子能令自己赤坦。

    问几人能够永远拥有……。

    自欺欺人的浪漫。
  • 系统工具专区
    =====================================
    优化设置
    =====================================

    WinXP总管 V4.7.8 破解版

    下载:http://www.tiansha.net/down/soft/1337.htm


    超级兔子魔法设置 v5.0 特别版

    下载:http://www.crsky.com/soft/882.htm

    Windows优化大师 2003.812 光盘版

    下载:http://www.crsky.com/soft/1104.htm


    系统辅助
    =====================================

    驱动精灵(Mydrivers) v1.52 完整版
    下载:http://www.crsky.com/soft/955.htm

    NTFSDOS Pro v4.03 汉化版
    下载:http://www.crsky.com/soft/1084.htm

    数据备份
    =====================================

    Ghost中文伴侣 v3.0 Build 2003.07.04
    下载:http://www.crsky.com/soft/1965.htm

    Ghost中文伴侣 v3.0 Build 2003.07.04
    下载:http://www.crsky.com/soft/1965.htm

    还原精灵2002破解版+还原精灵网络版 v2.1破解版 (网友点播)
    下载:http://www.tiansha.net/down/soft/665.htm

    系统测试
    =====================================
    3DMark 2003 Build v3.2.0
    下载:http://www.crsky.com/soft/826.htm

    SiSoftware Sandra Pro v3.9.45
    下载:http://www.crsky.com/soft/919.htm

    超级MS-DOS 7.10启动盘 Build 2003.09.19
    下载:http://www.tiansha.net/down/soft/812.htm

    AIDA32 V3.80-非常强大的测试软硬件系统信息的工具
    下载:http://www.tiansha.net/down/soft/846.htm

    MemTest 2.0版
    下载:http://download.softicp.com/index.php?o=display;id=174

    磁盘工具
    =====================================
    PartitionMagic v8.02 完全版
    下载:http://www.crsky.com/soft/94.htm

    PerfectDisk 2000 v6.0.26
    下载:http://www.crsky.com/soft/784.htm

    BadCopy Pro V3.71 0727 破解版
    下载:http://www.tiansha.net/down/soft/888.htm

    EasyRecovery Professional 6.00.09
    说明:非常强大的硬盘数据恢复工具。能够帮你恢复丢失的数据以及重建文件系统。EasyRecovery 不会向你的原始驱动器写入任何东东,它主要是在内存中重建文件分区表使数据能够安全地传输到其他驱动器中。你可以从被病毒破坏或是已经格式化的硬盘中恢复数据。该软件可以恢复大于 8.4GB 的硬盘。支持长文件名。被破坏的硬盘中像丢失的引导记录、BIOS 参数数据块;分区表;FAT 表;引导区都可以由它来进行恢复。这个版本使用新的数据恢复引擎,并且能够对 ZIP 文件以及微软的 Office 系列文档进行修复!
    下载:http://ydxz.hzgwbn.com/view.asp?id=1887

    FinalData OEM v2.0 简体中文版
    说明:数据恢复软件,一般删除,格式化,被病毒破坏了数据,一般都可以通过本软件恢复数据,减少不必要的损失。
    下载:http://ydxz.hzgwbn.com/view.asp?id=1885

    光盘工具
    =====================================
    Nero Burning ROM v6.0.0.19
    下载:http://www.crsky.com/soft/168.htm

    Daemon Tools v3.41
    下载:http://www.crsky.com/soft/1158.htm

    Alcohol 120% v1.4.7 完全版
    下载:http://www.crsky.com/soft/878.htm

    CloneCD v4.2.0.2 多国语言版
    下载:http://www.crsky.com/soft/925.htm

    卸载清除
    =====================================
    卸载精灵 v3.2 注册版
    下载:http://www.crsky.com/soft/560.htm

    DirectX删除专家 XP v2.02
    下载:http://www.crsky.com/soft/1000.htm

    SuperCleaner v2.57 汉化版
    下载:http://www.crsky.com/soft/966.htm

    美萍IE清理专家 V2.2 一款专业的IE清理软件
    下载:http://www.tiansha.net/down/soft/1282.htm

    系统补丁
    =====================================
    Serials 2000 升级包(2003.09.01)
    下载:http://www.crsky.com/soft/894.htm

    DirectX v9.0b Redist 国际版
    下载:http://www.crsky.com/soft/139.htm

    Windows XP Service Pack 1a 中文版
    下载:http://www.crsky.com/soft/448.htm

    Windows 2000 SP4 简体中文版
    下载:http://www.crsky.com/soft/614.htm

    冲击波(Worm.Msblast)安全更新程序
    下载:http://www.crsky.com/soft/2411.htm

    ========================================================
    应用软件专区


    ----------------------------------压缩解压----------------------------
    WinRAR v3.20 final 中文版
    下载:http://www.crsky.com/soft/1709.htm

    WinRAR v3.20 final 英文版
    下载:http://www.crsky.com/soft/152.htm

    WinZip v9.0 Build 5611 Beta 2
    下载:http://
  • 40个正版软件下载网站

    1. http://www.downshow.com [当秀下载] http://www.acnow.net/ 9wZnB
    主要包含内容:当秀下载宝库 影视下载 MM专区 奇趣搞怪 游戏下载 网络世界 工具软件 音乐无限 精品源码 http://www.acnow.net/ 9wZnB
    其网站以电影下载为主,软件及源码下载为辅。 http://www.acnow.net/ 9wZnB
    2. http://www.fixdown.com [全方位下载] http://www.acnow.net/ 9wZnB
    分为江苏,四川,陕西,福建,图片,破解,电影,星座,搜索等八个分站,主页面提供软件搜索功能,较为方便,提供各类注册机和一些技术类文章,软件较全。 http://www.acnow.net/ 9wZnB
    3. http://www.ttdown.com [天天精品] http://www.acnow.net/ 9wZnB
    太多广告!首页LOGO链接太多!极度影响视觉!但其软件更新速度较快。 http://www.acnow.net/ 9wZnB
    4. http://www.cnyou.com [华游软件网] http://www.acnow.net/ 9wZnB
    直接进入华游论坛,其论坛在线人数较多,未注册时超过三百人将无法访问。里面有些好东东,大家自己去挖掘吧! http://www.acnow.net/ 9wZnB
    5. http://www.soft168.com [软件先锋] http://www.acnow.net/ 9wZnB
    一般话的软件下载站,其服务器资源有限,最大下载人数为200人而且一个IP只准1个进程下载,连续5分钟内连续5次连接系统将自动封IP300秒。 http://www.acnow.net/ 9wZnB
    6. http://www.soft163.com [163软件站] http://www.acnow.net/ 9wZnB
    类似于http://www.cnyou.com [华游软件网] http://www.acnow.net/ 9wZnB
    7. http://www.99soft.com [99软件站] http://www.acnow.net/ 9wZnB
    偶进不去 http://www.acnow.net/ 9wZnB
    8. http://www.jetdown.com [杰特下载] http://www.acnow.net/ 9wZnB
    包含:软件下载 在线音乐 写真图片 热点新闻 笑话大全 闪客天地 热门网址 性爱教育 每日运程 免费域名 交流论坛等。有一些免费的电子书籍可供下载,值得一看。 http://www.acnow.net/ 9wZnB
    9. http://www.1777.net http://www.3959.com [下载无穷] http://www.acnow.net/ 9wZnB
    包含:软件分类 国产软件 国外软件 汉化补丁 精彩动画 娱乐下载 最近更新 黑客下载 新闻中心 精品论坛 ,软件不错。推荐 http://www.acnow.net/ 9wZnB
    10. http://www.chinesejia.com [中文之家] http://www.acnow.net/ 9wZnB
    LOGO链接太多!分简体和繁体两个站及一个论坛。下载为主,内容较杂。 http://www.acnow.net/ 9wZnB
    11. http://shunsheng.yeah.net [孤星云鹤] http://www.acnow.net/ 9wZnB
    不错的站,主页面较为清新,软件也不错,更新速度一般。 http://www.acnow.net/ 9wZnB
    12. http://www.mylizi.com [天蝎网络] http://www.acnow.net/ 9wZnB
    偶也进不去 http://www.acnow.net/ 9wZnB
    13. http://www.soft888.com [正版软件] http://www.acnow.net/ 9wZnB
    软件更新速度快,也较全,是个下软件的好地方。 http://www.acnow.net/ 9wZnB
    14. http://www.vdown.net [精品推介站] http://www.acnow.net/ 9wZnB
    进不去 http://www.acnow.net/ 9wZnB
    15. http://www.ttxz.com [天天网络] http://www.acnow.net/ 9wZnB
    更新速度一般,数目也不多。 http://www.acnow.net/ 9wZnB
    16. http://www.winzheng.com [嬴政天下] http://www.acnow.net/ 9wZnB
    分赢政论坛,下载主站和咨询中心。每日更新数量很多。推荐 http://www.acnow.net/ 9wZnB
    17. http://www.cn911.com http://www.ok911.com [911下载城] http://www.acnow.net/ 9wZnB
    进不去 http://www.acnow.net/ 9wZnB
    18. http://www.crsky.net [霏凡软件] http://www.acnow.net/ 9wZnB
    我比较喜欢的站点之一,软件简介和说明很详细。每天更新。 http://www.acnow.net/ 9wZnB
    19. http://www.ynkm.com [软件点播中文网] http://www.acnow.net/ 9wZnB
    正在改版。有兴趣可以去起论坛看看 http://bbs.ynkm.com http://www.acnow.net/ 9wZnB
    20. http://www.5324.net [软件天空] http://www.acnow.net/ 9wZnB
    进不去 http://www.acnow.net/ 9wZnB
    21. http://soft.88oo.com [吧喔软件站] http://www.acnow.net/ 9wZnB
    包括软件站 软件论坛 虚拟主机 电子商城 http://www.acnow.net/ 9wZnB
    主站包括下载分类 最新更新 汉化补丁 下载排行 特别下载 在线电影 精彩动画 资讯中心 留言版 会员注册 域名空间 http://www.acnow.net/ 9wZnB
    有大量注册,破解软件,汉化程序及补丁 http://www.acnow.net/ 9wZnB
    (偶喜欢论坛中的那个钟) http://www.acnow.net/ 9wZnB
    22. http://www.iskydown.com [东莞视窗下载中心] http://www.acnow.net/ 9wZnB
    包括 网络软件 系统工具 多媒体类 图形图像 应用软件 行业软件 教育教学 安全相关 其它软件 字体下载 游戏娱乐 http://www.acnow.net/ 9wZnB
    程序源码 B T 资源 在线影院 广告服务 网址大全 情色新闻 繁体站 软件分类 下载排行 最新更新 推荐排行 无忧论坛 http://www.acnow.net/ 9wZnB
    注:在这里可以申请免费的普通QQ号码,申请到的号码可以享受QQ基本服务,不收取申
  • 由于 Microsoft Windows 的图形特性,图形和其它操作的显示速度在很大程度上决定了应用程序的感觉速度。窗体出现及画图的速度越快,应用程序就会显得越快。以下的几种技术可用来提高应用程序的显示速度:

    将容器的 ClipControls 属性设置为 False。


    恰当地使用 AutoRedraw。


    使用 Image 控件替代 PictureBox 控件。


    设置属性时隐藏控件以避免多次重画。


    使用 Line 替代 PSet。
    将容器的 ClipControls 属性设置为 False
    除非正在使用图形方法(Line,Pset,Circle 和 Print),否则将窗体、框架及 PictureBox 控件的 ClipControls 设置为 False(如果代码包含了在其它控件之后绘图的图形方法,则这可能导致不可预测的结果)。当 ClipControls 设置为 False 时,在重画控件本身之前,Visual Basic 不会用背景覆盖控件。这在窗体包含大量控件时,会大大提高显示速度。

    详细信息 请参阅“使用文本和图形”中的“使用 AutoRedraw 和 ClipControls 使图形分层”。

    恰当地使用 AutoRedraw
    当窗体或控件的 AutoRedraw 设置为 True 时,Visual Basic 会利用位图重画该窗体或控件。这种方法虽然提高了简单情况的重画速度(例如,在删除覆盖在窗体或控件上的窗口后,窗体或控件重新显示),但会降低图形方法的速度。此时,Visual Basic 就会在 AutoRedraw 位图上进行图形方法操作,再把整个位图复制到屏幕上。这个过程也占用了相当数量的内存。

    如果应用程序产生的图形复杂但是不常改变,AutoRedraw 设置为 True 较为合适。如果图形需要经常改变,则 AutoRedraw 设置为 False 的效果更好,并且在 Paint 事件中进行窗体或控件的图形方法操作。

    详细信息 请参阅“使用文本和图形”中的“使用 AutoRedraw 和 ClipControls 使图形分层”。

    用 Image 控件替代 PictureBox 控件
    优化能够提高应用程序的速度,并减小其大小,所以要尽量应用优化技术。如果仅简单显示图片,并只对单击事件和鼠标操作作出响应,应使用 Image 控件替代 PictureBox。除非需要图片框提供的特殊功能时,如图形方法、包含其它控件的能力或动态数据交换 (DDE),否则不要使用图片框。

    设置属性时隐藏控件以避免多次重画
    重画的代价是昂贵的。重画的操作越少,应用程序就显得越快。减少重画次数的一种方法,就是操作控件时使其不可见。例如,假设在窗体的 Resize 事件中调整数个列表框的大小:

    Sub Form_Resize ()
    Dim i As Integer, sHeight As Integer
    sHeight = ScaleHeight / 4
    For i = 0 To 3
    lstDisplay(i).Move 0, i * sHeight, _
    ScaleWidth, sHeight
    Next
    End Sub

    该示例产生四次独立的重画,每个列表框一次。把所有的列表框放在图片框中,并在移动或调整列表框大小之前隐藏图片框,就会减少重画的次数。当再次使图片框可见时,所有的列表框一次画出:

    Sub Form_Resize ()
    Dim i As Integer, sHeight As Integer
    picContainer.Visible = False
    picContainer.Move 0, 0, ScaleWidth, ScaleHeight
    sHeight = ScaleHeight / 4
    For i = 0 To 3
    lstDisplay(i).Move 0, i * sHeight, _
    ScaleWidth, sHeight
    Next
    picContainer.Visible = True
    End Sub

    值得注意的是,该示例中使用了 Move 方法替代设置 Top 和 Left 属性。Move 方法只需一次操作就设置了这两个属性,所以节省了多余的重画。

    使用 Line 替代 PSet
    使用 Line 比使用一系列的 PSet 方法快。避免使用 Pset 方法,把一些点组成一条线由 Line 方法一次画出。一般来说,简单、不常改变的图形元素采用形状和直线控件来处理比较合适;而复杂的或经常改变的图形则最好采用图形方法处理。





  • 优化显示速度


    由于 Microsoft Windows 的图形特性,图形和其它操作的显示速度在很大程度上决定了应用程序的感觉速度。窗体出现及画图的速度越快,应用程序就会显得越快。以下的几种技术可用来提高应用程序的显示速度:

    将容器的 ClipControls 属性设置为 False。


    恰当地使用 AutoRedraw。


    使用 Image 控件替代 PictureBox 控件。


    设置属性时隐藏控件以避免多次重画。


    使用 Line 替代 PSet。
    将容器的 ClipControls 属性设置为 False
    除非正在使用图形方法(Line,Pset,Circle 和 Print),否则将窗体、框架及 PictureBox 控件的 ClipControls 设置为 False(如果代码包含了在其它控件之后绘图的图形方法,则这可能导致不可预测的结果)。当 ClipControls 设置为 False 时,在重画控件本身之前,Visual Basic 不会用背景覆盖控件。这在窗体包含大量控件时,会大大提高显示速度。

    详细信息 请参阅“使用文本和图形”中的“使用 AutoRedraw 和 ClipControls 使图形分层”。

    恰当地使用 AutoRedraw
    当窗体或控件的 AutoRedraw 设置为 True 时,Visual Basic 会利用位图重画该窗体或控件。这种方法虽然提高了简单情况的重画速度(例如,在删除覆盖在窗体或控件上的窗口后,窗体或控件重新显示),但会降低图形方法的速度。此时,Visual Basic 就会在 AutoRedraw 位图上进行图形方法操作,再把整个位图复制到屏幕上。这个过程也占用了相当数量的内存。

    如果应用程序产生的图形复杂但是不常改变,AutoRedraw 设置为 True 较为合适。如果图形需要经常改变,则 AutoRedraw 设置为 False 的效果更好,并且在 Paint 事件中进行窗体或控件的图形方法操作。

    详细信息 请参阅“使用文本和图形”中的“使用 AutoRedraw 和 ClipControls 使图形分层”。

    用 Image 控件替代 PictureBox 控件
    优化能够提高应用程序的速度,并减小其大小,所以要尽量应用优化技术。如果仅简单显示图片,并只对单击事件和鼠标操作作出响应,应使用 Image 控件替代 PictureBox。除非需要图片框提供的特殊功能时,如图形方法、包含其它控件的能力或动态数据交换 (DDE),否则不要使用图片框。

    设置属性时隐藏控件以避免多次重画
    重画的代价是昂贵的。重画的操作越少,应用程序就显得越快。减少重画次数的一种方法,就是操作控件时使其不可见。例如,假设在窗体的 Resize 事件中调整数个列表框的大小:

    Sub Form_Resize ()
    Dim i As Integer, sHeight As Integer
    sHeight = ScaleHeight / 4
    For i = 0 To 3
    lstDisplay(i).Move 0, i * sHeight, _
    ScaleWidth, sHeight
    Next
    End Sub

    该示例产生四次独立的重画,每个列表框一次。把所有的列表框放在图片框中,并在移动或调整列表框大小之前隐藏图片框,就会减少重画的次数。当再次使图片框可见时,所有的列表框一次画出:

    Sub Form_Resize ()
    Dim i As Integer, sHeight As Integer
    picContainer.Visible = False
    picContainer.Move 0, 0, ScaleWidth, ScaleHeight
    sHeight = ScaleHeight / 4
    For i = 0 To 3
    lstDisplay(i).Move 0, i * sHeight, _
    ScaleWidth, sHeight
    Next
    picContainer.Visible = True
    End Sub

    值得注意的是,该示例中使用了 Move 方法替代设置 Top 和 Left 属性。Move 方法只需一次操作就设置了这两个属性,所以节省了多余的重画。

    使用 Line 替代 PSet
    使用 Line 比使用一系列的 PSet 方法快。避免使用 Pset 方法,把一些点组成一条线由 Line 方法一次画出。一般来说,简单、不常改变的图形元素采用形状和直线控件来处理比较合适;而复杂的或经常改变的图形则最好采用图形方法处理。

  • 优化代码 - [VB学习]

    2004-04-03


    优化代码


    除非应用程序是用来产生分形图形的,否则应用程序看上去并不受限于代码的实际处理速度。其它典型的因素,如显示速度、网络延迟或磁盘操作,才是应用程序速度的限制因素。比如,导致窗体加载慢的原因,是窗体上控件和图形的个数太多,而不是由于 Form_Load 事件中的代码太慢。尽管如此,代码本身的速度也可以成为限制应用程序速度的瓶颈,特别是经常调用到的例程。这种情况下,可采用以下的几种技术来优化应用程序的真实速度。

    避免使用 Variant 变量。


    使用 Long integer 变量和整数运算。


    将常用的属性缓存在变量中。


    使用内嵌过程替代过程调用。


    尽可能使用常数。


    用 ByVal 传递参数,而不用 ByRef。


    使用类型确定的可选参数。


    利用集合的优点。
    即使您并不想优化代码的速度,这也有助于了解这些技术及其基本原则。而且,一旦养成选择高效率算法作为代码的习惯,就可以从总体上大大改善应用程序的速度。

    避免使用 Variant 变量
    Variant 变量是 Visual Basic 中的缺省变量。这对于初学者以及处理速度不成问题的应用程序来说,是非常方便的。然而,如果想优化应用程序的实际速度,就要避免使用 Variant 变量。因为,运行时 Variant 将转化为其它适当的数据类型,那么直接采用其它简单的数据类型,就会避免不必要的操作而加快应用程序的速度。

    避免使用 Variant 变量的一种好办法是使用 Option Explicit 语句,此时所有的变量都必须声明。要使用“Option Explicit”,就要在“工具”菜单中启动“选项”对话框,选择“编辑器”选项卡,选定“要求变量声明”复选框。

    在声明多个变量时要小心:如果没有用 As type 子句,它们实际上被声明为 Variant 变量。在下面的例子中,X 和 Y 是 Variant 变量:

    Dim X, Y, Z As Long

    重写上面的语句,则三个变量为 Long 变量:

    Dim X As Long, Y As Long, Z As Long

    详细信息 关于 Visual Basic 数据类型的详细信息,请参阅“编程基础”中的“数据类型”。

    使用 Long 整型变量和整数运算
    算术运算中要避免使用 Currency、Single 和 Double 变量;并尽量使用 Long 整型变量,尤其在循环体中。因为 Long 整数是 32 位 CPU 的本机数据类型,所以其操作非常快;如果无法使用 Long 变量,就要尽量使用 Integer 或 Byte 数据类型。很多时候,即使在要求使用浮点数的情况下,也可以使用 Long 整数。例如,在窗体和图形控件的 ScaleMode 属性设置为缇或象素时,就可以在控件和图形方法中使用 Long 整型变量表示大小和位置。

    进行除法运算时,如果不需要小数部分,就可以使用整数除法运算符 (/)。由于浮点运算需要转移到协处理器上进行,而整数运算并不需要,所以整数运算总是比浮点运算快。如果确实需要做小数运算,则 Double 数据类型比 Currency 数据类型快。

    下表把各种数值数据类型按运算速度顺序列出。

    数值数据类型 速度
    Long 最快
    Integer .

    Byte .

    Single .

    Double .

    Currency 最慢


    将常用的属性缓存在变量中
    变量的访问和设置速度比属性快。如果经常用到某一属性的值(如在循环体中),可以在循环体外把该属性值赋给某一变量,以后用该变量替代该属性,这样就能够提高代码的速度。一般来说,变量的处理速度比同类型的属性处理速度快 10 到 20 倍。

    除非知道属性已经改变,否则在过程中就无需再次读取该属性值。可以把属性值赋予某一变量,然后在以后的代码中使用该变量。例如,象这样的代码就非常慢:

    For i = 0 To 10
    picIcon(i).Left = picPallete.Left
    Next I

    下面改写的代码就要快得多:

    picLeft = picPallete.Left
    For i = 0 To 10
    picIcon(i).Left = picLeft
    Next I

    同样地,像这样的代码 . . .

    Do Until EOF(F)
    Line Input #F, nextLine
    Text1.Text = Text1.Text + nextLine
    Loop

    . . . 比下面的代码慢得多:

    Do Until EOF(F)
    Line Input #F, nextLine
    bufferVar = bufferVar + nextLine
    Loop
    Text1.Text = bufferVar

    然而,下面的代码完成了相同的功能,而且还要快:

    Text1.Text = Input(F, LOF(F))

    如上述,几种方法都实现了同样的任务;同时,最好的算法也是最优的。

    同样的技术可用于处理函数的返回值。缓存函数的返回值,避免经常调用运行时的动态链接库 (DLL),Msvbvm60.dll。

    使用内嵌过程替代过程调用
    采用过程调用使代码更具有模块化的风格,但模块调用总是增加额外的操作和处理时间。如果循环体中多次调用某一过程,就可以直接把该过程写到循环体中去,以消除过程调用时的额外负担。但另一方面,直接把某一过程写到好几个循环体中时,重复的代码无疑要增加应用程序的大小;同时,在更改程序时,有可能忘记更改这些重复的代码,这就增加了出错的机会。

    尽可能使用常数
    使用常数可以加快应用程序的运行,增强代码的可读性,而且易于维护。如果代码中的字符串或数字是不变的,则可把它们声明为常数。常数在编译时只处理一次,将适当的值写进
  • 优化 - [VB学习]

    2004-04-03

    优化


    优化具有科学和艺术两重含义。从科学角度看,优化意指具体的优化技术;而从艺术角度看,优化指的是确定在什么地方、什么时候需要优化。由此,优化可定义为“通过选择和设计数据结构、算法以及指令序列,来提高程序效率(更小、更快)的过程”。

    有关优化的一个普遍存在的误解是,认为只是在应用程序开发周期的最后阶段才进行优化。而实际上,为了创建真正优化的应用程序,就必须在开发时实行优化。一般来说,优化的过程为:仔细选择算法,并在速度、大小等诸多限制因素间进行权衡,初步估计应用程序各个部分的速度和大小,再在以后的开发过程中检验上述假设。

    优化的第一步是确定优化目标。优化可以从以下几个方面进行:

    真实速度(应用程序实际计算或操作的速度)。


    显示速度(应用程序屏幕显示的速度)。


    感觉速度(应用程序运行时给人的感觉速度,它往往和显示速度有关,但并不总是和真实速度相关)。


    占用内存的大小。


    图形大小(这直接影响占用内存的大小,而且工作在 Microsoft Windows 中时往往会产生其它影响)。
    一般来说,不可能在几个方面同时得到优化。一个经过大小优化的应用程序往往会降低其速度;相应的,经过速度优化的应用程序则会增加其大小。由此可见,实现不同目标的优化技术往往是相抵触的。

    值得注意的是,优化并不总是完全有益的。加快或降低应用程序的速度,可能导致维护或调试方面的困难;还有些优化技术与结构化的程序设计相矛盾,这在将来扩充应用程序的功能或把它嵌入其它程序时会产生麻烦。

    在确定应用程序优化策略时,有三方面的问题值得考虑:优化什么、在何处优化及何时结束优化。

    优化什么:理解实际问题
    如果没有明确的优化目标,就会因为方向错误而浪费大量的时间。优化的目标是为了满足用户的需求。例如,速度对于计算销售税的应用程序来说就至关重要,而对于可以从 Internet 上下载的应用程序,则其大小倍受关注。所以,正确理解优化所要解决的问题所在,是确定优化策略的关键。

    即使已经确定了某一优化目标,仍需在开发过程中全面考虑优化。在编写代码时,一步一步地浏览代码,仔细思考其实际发生的情况,则会帮助了解很多东西。例如,设置属性会产生许多事件,而恰好这些事件过程中有大量的代码,则无谓的设置属性语句会导致程序执行时的巨大延迟。有时优化即便是针对大小的,仍然可以在不增加大小的前提下实现速度的优化。

    在何处优化:事半功倍
    绝大部分的开发者不可能对应用程序的所有地方都进行优化。增加时间等于增加开发成本,所以有必要进行“优化预算”。哪些地方能够花一些时间换取最大的投资回报呢?显然,那些速度慢、代码冗长的地方最需要优化,把精力花在这样的地方就会有事半功倍的效果。

    例如,速度是主要目标,则循环体往往是开始优化的好地方。一旦循环体内的操作得到加快,则该优化会被放大,倍数是循环体执行的次数。对于有大量重复的循环,减少循环体内的一个字符串操作,结果就会有很大的不同。同样的规律也可以应用于经常调用的子程序。

    何时结束优化:效果的衡量
    有时一些东西并不值得优化。例如,为了十几个项目的排序而编写一个精致的快速排序程序是没有意义的。一种排序的方法是把项目加到排序列表框中,再把它们按排好的顺序读出来。如果项目的数量巨大,则该方法效率极低;但对于少量的项目,该方法与其它方法的效率一样,而且代码出奇地简单(只是有点难解)。

    在一些情况下,优化纯属浪费。如果应用程序的运行受到驱动器或网络速度的限制,则对代码的任何优化都无助于速度的提高。此时,就应设法减少因延迟而造成对用户的影响:如利用进度栏提示当前应用程序的运行状况,或利用高速缓存减小延迟,或放弃控制,这样用户在等待时可以运行其它的应用程序,等等。

    详细信息 请参阅“响应鼠标和键盘事件”中的“中断后台处理”。

  • 坐标系统概述 - [VB学习]

    2004-04-03

    坐标系统概述


    本章描述的每一个图形操作(包括调整大小、移动和绘图),都要使用绘图区或容器的坐标系统。虽然用坐标系统能达到成功的图形效果,然而,如何用坐标系统定义窗体和控件在应用程序中的位置,也是很重要的。

    坐标系统是一个二维网格,可定义屏幕上、窗体中或其它容器中(如:图片框或 Printer 对象)的位置。使用窗体中的坐标,可定义网格上的位置:

    (x, y)

    x 值是沿 x 轴点的位置,最左端是缺省位置 0。y 值是沿 y 轴点的位置,最上端是缺省位置 0。该坐标系统的图示在图 12.3 中。

    图 12.3 窗体的坐标系统


    以下规则用于 Visual Basic 坐标系统:

    当移动控件或调整控件的大小时,使用控件容器的坐标系统。如果直接在窗体上绘制对象时,窗体就是容器。如果在框架或图片框里绘制控件时,框架或控件是容器。


    所有的图形和 Print 方法,使用容器的坐标系统。例如,那些在图片框里绘制控件的语句,使用的是控件的坐标系统。


    一些用来调整窗体大小或移动窗体的语句,用缇来表示窗体的位置和大小。
    当创建用来调整窗体大小或移动窗体的代码时,应先检查 Screen 对象的 Height 属性和 Width 属性,以确保窗体在屏幕上大小合适。

    屏幕的左上角总是(0,0)。任何容器的缺省坐标系统,都是由容器的左上角(0,0)坐标开始。
    沿这些坐标轴定义位置的测量单位,统称为刻度。在 Visual Basic 中,坐标系统的每个轴都有自己的刻度。

    坐标轴的方向、起点和坐标系统的刻度,都是可以改变的,但是,对现在来说,使用的是缺省系统。本章后面的“改变对象的坐标系统”中将讨论如何改动。

    缇的解释
    所有 Visual Basic 的移动、调整大小和图形绘制语句,根据缺省规定,使用缇为单位。缇是打印机的一磅的 1/20(1,440 缇等于一英寸;567 缇等于一厘米)。这些测量值指示对象打印后的大小。屏幕上的物理实际距离根据监视器的大小变化。“改变对象的坐标系统”中描述了如何选择缇以外的单位。

  • 检测 SHIFT、CTRL及 ALT 键的状态


    鼠标和键盘事件用 shift 参数判断是否按下了 SHIFT、CTRL 和 ALT 键,以及以什么样的组合(如果存在)按下这些键。如果按 SHIFT 键,则 shift 为 1;如果按 CTRL 键,则 shift 为 2;如果按 ALT 键,则 shift 为 4。应使用这些键值的总和来判断这些组合。例如,同时按下 SHIFT 和 ALT 键时 shift 等于 5 (1 + 4)。

    如图 11.5 所示,shift 中的三个最不明显位对应 SHIFT、CTRL 和 ALT 键的状态。

    图 11.5 位如何表示 SHIFT、CTRL 和 ALT 键的状态


    根据 SHIFT、CTRL 和 ALT 键的状态可在 shift 中设置任一位或设置所有位。下表列出这些值和常数:

    二进制值 十进制值 常数 意义
    001 1 vbShiftMask 按 SHIFT 键。
    010 2 vbCtrlMask 按 CTRL 键。
    100 4 vbAltMask 按 ALT 键。
    011 3 vbShiftMask + vbCtrlMask 按 SHIFT 键和 CTRL 键。
    101 5 vbShiftMask + vbAltMask 按 SHIFT 键和 ALT 键。
    110 6 vbCtrlMask + vbAltMask 按 CTRL 键和 ALT 键。
    111 7 vbCtrlMask + vbAltMask + vbShiftMask 按 SHIFT、CTRL 和 ALT 键。


    象对鼠标事件的 button 参数那样,可将 If匱hen匛lse 语句或 And 操作符与 Select Case 语句组合使用以判断是否按下 SHIFT、CTRL 和 ALT 键以及以什么样的组合(若存在)按下这些键。

    打开一个新工程并将变量 ShiftTest 添加到窗体的声明部分:

    Dim ShiftTest as Integer

    将下列代码添加到窗体的 MouseDown 事件中:

    Private Sub Form_MouseDown(Button As Integer, _
    Shift As Integer, X As Single, Y As Single)
    ShiftTest = Shift And 7
    Select Case ShiftTest
    Case 1 ’ 或 vbShiftMask
    Print "You pressed the SHIFT key."
    Case 2 ’或 vbCtrlMask
    Print "You pressed the CTRL key."
    Case 4 ’或 vbAltMask
    Print "You pressed the ALT key."
    Case 3
    Print "You pressed both SHIFT and CTRL."
    Case 5
    Print "You pressed both SHIFT and ALT."
    Case 6
    Print "You pressed both CTRL and ALT."
    Case 7
    Print "You pressed SHIFT, CTRL, and ALT."
    End Select
    End Sub

  • 将工程编译成本机代码


    如果拥有 Visual Basic 的专业版或企业版,既可以将代码编译成标准的 Visual Basic 伪代码格式,也可以编译成本机代码格式。本机代码编译提供了伪代码编译所没有的关于优化和调试的几个选项。

    P-code 或伪代码,是介于 Basic 程序中的高级指令和计算机处理器执行的低级本机代码之间的一种中间步骤。在运行时刻,Visual Basic 将每一句伪代码转换成本机代码。如果将程序直接编译成本机代码,则取消了伪代码这一中间步骤。

    可以使用象在 Visual C++ 中提供的调试环境之类的标准的本机代码调试工具来调试编译后的本机代码。也可以使用例如在 Visual C++ 的语言中提供的优化和调试本机代码的选项。例如,可以根据代码运行速度和大小优化代码。

    注意 所有用 Visual Basic 创建的工程都使用运行时 DLL (MSVBVM60.DLL) 服务。在 DLL 所提供的服务当中有您应用程序的启动和关闭代码、窗体和内部控件的功能,以及像 Format 和 CLng 的运行时函数。

    用“本机代码”选项来编译工程意味着您写的代码将完整地编译为处理器芯片的本地指令,而不是编译为p-code。这将大大加速循环和数学计算,并可以加速对 MSVBVM60.DLL提供的服务程序的调用。然而,这并不能减少对 DLL 的需要。

    要将工程编译成本机代码,请按照以下步骤执行:

    在“工程”窗口,选择希望编译的工程。


    从“工程”菜单选择“工程属性”。


    在“工程属性”对话框,单击“编译”选项卡。
    图 8.6 在“工程属性”对话框中的“编译”选项卡


    选择“编译为本机代码”。
    Visual Basic 提供几个选项用于定制和优化可执行文件。例如,当希望创建以代码大小为优化目标的编译代码时,可选择“小代码优化”选项。

    如使用附加的高级优化选项,单击“高级优化”按钮。

    选择所希望的选项,然后单击“确定”。


    从“文件”菜单选择“制作 Exe”或者“生成工程组”。
    下表描述本机代码优化选项。

    选项 描述
    禁止别名引用(高级优化) 通知编译器应用程序不使用别名引用。选择本选项将允许编译器实施优化,如将变量存储在寄存器中并且实现循环优化。
    创建 Symbolic Debug Info 产生 .pdb 文件和 .exe 或 .dll 文件,其中包含允许用 Microsoft Visual C++ 5.0 或其它兼容调试器进行调试的信息。
    支持 Pentium Pro(tm) 优化代码,使其支持在 Pentium Pro(tm) 处理器上运行。
    不优化 取消所有的优化。
    快速代码优化 通知编译器侧重于运行速度而非代码大小进行优化,使 .exe 和 .dll 文件的速度达到最快。
    小代码优化 通知编译器侧重于代码大小而非运行速度进行优化,使 .exe 和 .dll 文件的大小达到最小。
    取消数组边界检查(高级优化) 禁用 Visual Basic 的数组边界检查。
    取消浮点数错误检查(高级优化) 禁用 Visual Basic 的浮点数错误检查。
    取消整数溢出检查(高级优化) 禁用 Visual Basic 的整数溢出检查。
    取消 Pentium(tm) FDIV 安全性检查(高级优化) 禁用对 Pentium(tm) 处理器浮点数除法的安全检查。


    详细信息 关于本机代码选项的详细信息,请参阅“本机代码编译器开关”。

  • 可用性设计 - [VB学习]

    2004-04-03

    可用性设计


    任何应用程序的可用性基本上由用户决定。界面设计是需多次反复的过程;在为应用程序设计界面时,第一步就设计出非常完美的界面的情况非常少见。用户参与设计过程越早,化的气力越少,创建的界面越好、越可用。

    什么是好的界面
    设计用户界面时,开始时最好是先看看 Microsoft 或其他公司的一些卖得很好的应用程序。毕竟,界面很差的应用程序不会卖得很好。将会发现许多通用的东西,比如:工具栏、状态条、工具提示、上下文菜单以及标记对话框。Visual Basic 具有把所有这些东西添加到应用程序中的能力,这并不偶然。

    也可以凭借自己使用软件的经验。想一想曾经使用过的一些应用程序,哪些可以工作、哪些不可以、以及如何修改它。但要记住个人的喜好不等于用户的喜好,必需把自己的意见与用户的意见一致起来。

    还要注意到大多数成功的应用程序都提供选择来适应不同的用户的偏爱。例如,Microsoft Windows“资源管理器”允许用户通过菜单、键盘命令或者拖放来复制文件。提供选项会扩大应用程序的吸引力,至少应该使所有的功能都能被鼠标和键盘所访问。

    Windows 界面准则
    Windows 操作系统的主要的优点就是为所有的应用程序提供了公用的界面。知道如何使用基于 Windows 的应用程序的用户,很容易学会使用其他应用程序。而与已创建的界面准则相差太远的应用程序不易让人明了。

    菜单就是这方面很好的例子—大多数基于 Windows 的应用程序都遵循这样的标准:“文件”菜单在最左边,然后是“编辑”、“工具”等可选的菜单,最右边是“帮助”菜单。如果说 Documents 会比 File 更好,或者“帮助”菜单要放在最前,这就值得讨论一下了。没有任何事情阻止您这样做,但这样做会引起用户的混淆,降低应用程序的可用性。每当在应用程序与其他程序之间切换时,用户都不得不停下来想一想。

    子菜单的位置也很重要。用户本期望在“编辑”菜单下找到“复制”、“剪切”与“粘贴”等子菜单,若将它们移到“文件”菜单下会引起用户的混乱。不要偏离已经创建的准则太远,除非有很好的理由这样做。

    可用性的检测
    测试界面可用性的最好方法是在整个设计过程中请用户参与。不论是正在设计大型的压缩包应用程序,还是小型的有限使用的应用程序,设计的过程应当完全相同。使用已创建的设计准则,界面设计应从纸上开始。

    下一步是创建一个或者多个原型,在 Visual Basic 中设计窗体。还需要增加足够的代码来启动原型:显示窗体、用示例数据填充列表框等等。然后准备可用性测试。

    可用性测试可以是个不拘形式的过程:与用户一道审查设计;也可以是在已创建的可用性实验室中进行的正式的过程。这两种方法目的是一样的:从用户那儿了解哪儿设计得很好,哪儿还需要改进的第一手材料。放开,让用户与应用程序在一起,然后观察它们;这种方式比询问用户更为有效。当用户试图完成一系列任务时让他们表达其思考过程:“要想打开新文档,所以要在‘文件’菜单中找一找。”记下哪些地方的界面设计没有反应他们的思考过程。与不同类型的用户一起测试,如果发现用户完成某个特定的任务有困难,该任务可能需要多加关照。

    下一步,复查一下记录,考虑如何修改该界面使它更加可用。修改界面并再测试。一旦对应用程序可用性满意,就准备开始编码。在开发的过程中也需要不时地测试来确保对原型的设想是正确的。

    功能的可发现性
    可用性测试的关键的概念是可发现性。如果用户不能发现如何使用某个功能(或者甚至不知道有此功能存在),则此功能很少有人去使用。例如,Windows 3.1 的大多数用户都从来不知道 ALT 和 TAB 的组合键可以用于在打开的应用程序之间切换。界面中没有任何地方可提供线索来帮助用户发现这一功能。

    为了测试功能的可发现性,不解释如何做就要求用户完成一个任务(例如,使用“窗体模板”创建新文档)。如果他们不能完成这个任务,或者尝试了好多次,则此功能的可发现性还需要改进。


  • 界面设计的基础


    不必成为创建用户界面的艺术家-大多数用户界面设计的原则,与任意一门基础艺术课中所讲授的基础设计的原则相同。构图、颜色等的基本的设计原则,就象它们应用在纸张或油画上一样,也能很好地在一台计算机的屏幕上应用。

    虽然 Visual Basic 能通过简单地将控件拖动并放置到窗体上而使得创建用户界面非常容易,但是,在设计之前稍微计划一下就能使应用程序的可用性有很大的改观。可能须先在纸上画出窗体开始设计,决定需要哪些控件,不同元素的相对重要性,以及控件之间的关系。

    构图:应用程序的观感与感觉
    窗体的构图或布局不仅影响它的美感,而且也极大地影响应用程序的可用性。构图包括诸如控件的位置、元素的一致性、动感、空白空间的使用、以及设计的简单性等因素。

    控件的位置
    在大多数界面设计中,不是所有的元素都一样重要。仔细地设计是很有必要的,以确保越是重要的元素越要很快地显现给用户。重要的或者频繁访问的元素应当放在显著的位置上,而不太重要的元素就应当降级到不太显著的位置上。

    在大多数语言中我们习惯于在一页之中从左到右、自上到下地阅读。对于计算机屏幕也如此,大多数用户的眼睛会首先注视屏幕的左上部位,所以最重要的元素应当放在屏幕的左上部位。例如,如果窗体上的信息与客户有关,则它的名字字段应当显示在它能最先被看到的地方。而按钮,如“确定”或“下一个”,应当放置在屏幕的右下部位;用户在未完成对窗体的操作之前,通常不会访问这些按钮。

    把元素与控件分成组也很重要。尽量把信息按功能或关系进行逻辑地分组。因为他们的功能彼此相关,所以定位数据库的按钮应当被形象地分成一组,而不是分散在窗体的四处。对信息也是一样,名字字段与地址通常分在一组,因为它们联系紧密。在许多情况下,可以使用框架控件来帮助加强控件之间的联系。

    界面元素的一致性
    在用户界面设计中,一致性是一种优点。一致的外观与感觉可以在应用程序中创造一种和谐,任何东西看上去都那么协调。如果界面缺乏一致性,则很可能引起混淆,并使应用程序看起来非常混乱、没有条理、价值降低,甚至可能引起对应用程序可靠性的怀疑。

    为了保持视觉上的一致性,在开始开发应用程序之前应先创建设计策略和类型约定。诸如控件的类型、控件的尺寸、分组的标准以及字体的选取等设计元素都应该在事先确定。可以创建设计样板来帮助进行设计。

    在 Visual Basic 中有大量的控件可供使用,这可能引起有人想使用所有的控件。为了避免这种引诱,选取能很好地适合特定应用程序的控件子集。虽然列表框、组合框、网格以及树等控件都可用来表示信息列表,最好还是尽可能使用一种类型。

    还有,尽量恰当地使用控件,虽然 TextBox 控件可以设置成只读并用来显示文本,但 Label 控件通常更适用于该目的。在为控件设置属性时请保持一致性,如果在一个地方为可编辑的文本使用白色背景,除非有很好的理由,否则不要在别的地方又使用灰色。

    在应用程序中不同的窗体之间保持一致性对其可用性有非常重要的作用。如果在一个窗体上使用了灰色背景以及三维效果,而在另一个窗体上使用白色背景,则这两个窗体就显得毫不相干。选定一种类型并在整个应用程序保持一致,即使这意味着要重新设计某些功能。

    动感:窗体与其功能匹配
    动感是对象功能的可见线索。虽然对这个术语也许还不熟悉,但动感的实例四处可见。自行车上的把手,手放在它的上面,动感会将把手用手扣紧这件事显现出来。按下按钮、旋转旋钮和点亮电灯的开关等都能进行动感表示— 一看到它们就可以看出其用处。

    用户界面也使用动感。例如,用在命令按钮上的三维立体效果使得他们看上去象是被按下去的。如果设计平面边框的命令按钮的话,就会失去这种动感,因而不能清楚地告诉用户它是一个命令按钮。在有些情况下,平面的按钮也许是适合的,比如游戏或者多媒体应用程序;只要在整个应用程序中保持一致就很好。

    文本框也提供了一种动感,用户可以期望带有边框和白色背景的框,框中包含可编辑的文本。显示不带边框的文本框 (BorderStyle = 0) 也有可能,这使它看起来象一个标签,并且不能明显地提示用户它是可编辑的。

    空白空间的使用
    在用户界面中使用空白空间有助于突出元素和改善可用性。空白空间不必非得是白色的-它被认为是窗体控件之间以及控件四周的空白区域。一个窗体上有太多的控件会导致界面杂乱无章,使得寻找一个字段或者控件非常困难。在设计中需要插入空白空间来突出设计元素。

    各控件之间一致的间隔以及垂直与水平方向元素的对齐也可以使设计更可用。就象杂志中的文本那样,安排得行列整齐、行距一致,整齐的界面也会使其容易阅读。

    Visual Basic 提供了几个工具,使得控件的间距、排列和尺寸的调整非常容易。“排列”、“按相同大小制作”、“水平间距”、“垂直间距”和“在窗体中央”等命令都可以在“格式”菜单中找到。

    保持界面的简明
    界面设计最重要的原则也许就是简单化。对于应用程序而言,如果界面看上去很难,则可能程序本身也很难。稍稍深入考虑一下便
  • 各种显示类型的设计


    Microsoft Windows 是与设备无关的-基于窗口的应用程序可以在许多不同显示分辨率与颜色浓度的计算机中运行。同样,用 Visual Basic 编写的应用程序也会在不同类型的显示器上运行,在设计应用程序时需要考虑到这一点。

    设计与分辨率无关的窗体
    缺省情况下,当改变屏幕分辨率时,Microsoft Visual Basic 不会改变窗体与控件的尺寸。这就意味着在分辨率为 1024 X 768 的屏幕上设计的窗体,在分辨率为 640 X 480 的屏幕中运行时会伸出屏幕的边界之外。如果想创建不管使用什么样的屏幕分辨率都能有相同比例的窗体和控件,必须在最低的分辨率下设计窗体,或者将改变窗体的代码添加到程序中去。

    避免尺寸问题的最简单的方法是在 640 X 480 的分辨率下设计窗体。如果更喜欢在高一些的分辨率下工作,仍需要考虑窗体在低一些的分辨率下将如何显示。实现这一点的方法是用“Form Layout”窗口预览窗体的大小和位置。您也可以使用“Resolution Guides”观察在低分辨率时屏幕的哪些部分是可见的。要切换到“Resolution Guides”,可以在“Form Layout”窗口单击鼠标右键,从弹出菜单上选择“Resolution Guides”菜单项。

    在运行时,Visual Basic 根据设计时的位置来放置窗体。如果设计时在 1024 X 768 的分辨率上运行,并把窗体放到屏幕的右下角,则当它在比较低的分辨率下运行时该窗体可能看不见。为了避免这种情况的发生,在设计时可从“Form Layout”窗口的弹出菜单选择“Startup Position”菜单项来设置窗体的启动位置。同样,您也可以在运行时用下面的 Form Load 事件中的代码来设置窗体的位置:

    Private Sub Form_Load()
    Me.Move 0, 0
    End Sub

    若是设置窗体的 Left 与 Top 的属性都为 0 也能有同样的效果,但 Move 方法只要一步就能完成。

    Visual Basic 使用与设备无关的度量单位,缇,是用来计算尺寸与位置。Screen 对象的两个属性 TwipsPerPixelX 与 TwipsPerPixelY 可以用来确定运行时的显示尺寸。应用这些属性,可以编写代码来调整窗体以及控件的尺寸与位置。

    Private Sub SetControls()
    Dim X As Integer
    Dim Y As Integer

    X = Screen.TwipsPerPixelX
    Y = Screen.TwipsPerPixelY
    Select Case X, Y
    Case 15, 15
    ’ 重新改变控件尺寸及移动控件。
    txtName.Height = 200
    txtName.Width = 500
    txtName.Move 200, 200
    ’ 增加为其它分辨率编写的代码。

    End Sub

    也需要知道在设计时 Visual Basic 自身窗口的位置。如果在高分辨率下把“工程”窗口放置到屏幕的右边,那么会发现在低分辨率下打开工程时,它不再是可访问的了。

    设计不同浓度的颜色
    在设计应用程序时,也需要考虑运行应用程序计算机可能的颜色显示能力。有些计算机可以显示 256 色或更多的颜色,而另一些只能显示 16 种颜色。如果使用 256 色的调色板来设计窗体,那么在 16 色上显示时,抖动(模仿无效颜色的一种方法)会使窗体上的一些元素消失。

    为了避免这种情况,最好把应用程序使用的颜色局限于 Windows 标准的 16 颜色。这些颜色由 Visual Basic 的颜色常数来表示(如 vbBlack、vbBlue 和 vbCyan 等等)。如果在应用程序中需要用 16 种以上的颜色,那么对于文本、按钮以及其他界面元素仍然应当坚持用标准颜色。

  • 编程中最常使用的三种界面设置:
    单文档界面
    多文档界面
    资源管理器界面

  • 在应用程序中使用 DLL 过程


    由于 DLL 过程存在于 Visual Basic 应用程序之外的文件中,在使用时必须指定过程的位置和调用参数。可以用 Declare 语句提供这类信息。在声明了 DLL 过程之后,可以把它当做 Visual Basic 自己的过程使用。

    重点 如果在 Visual Basic 中直接调用 DLL,那么 Visual Basic 环境下固有的安全机制将受到不利影响。这意味着在测试和调试程序时可能会遇到更多的系统故障。为了减少这种危险,在声明 DLL 过程、传递参数和指定类型的时候务必要小心。无论在什么情况下,一定要经常保存已经完成的工作。DLL 可以提供不同凡响的功能,但是要用好它也不容易。

    下例将演示如何调用 Windows API 中的过程。调用函数 SetWindowText 来改变一个窗体的标题栏。当然,在实际应用中,通常总是利用 Visual Basic 的 Caption 属性来改变标题栏。该示例的目的在于说明如何声明并调用过程。

    声明 DLL 过程
    首先,在模块的声明部分对过程进行声明:

    Private Declare Function SetWindowText Lib "user32" _
    Alias "SetWindowTextA" (ByVal hwnd As Long, _
    ByVal lpString As String) As Long

    过程的精确语法定义可以用 API Viewer 应用程序找到,在 Win32api.txt 文件中也可以找到它。如果将 Declare 放在 Form 或者 Class 模块内,那么必须在它的前面加上 Private 关键字。同一个 DLL 过程在一个工程中只需声明一次;然后可以任意调用。

    详细信息 关于如何声明语句,请参阅本章后面的“声明 DLL 过程”主题。

    调用 DLL 过程
    在声明了函数之后,调用它的方式与标准的 Visual Basic 函数相同。在下例中,Form Load 事件调用了上面声明的过程。

    Private Sub Form_Load()
    SetWindowText Form1.hWnd, "Welcome to VB"
    End Sub

    在运行这段代码时,函数首先使用 hWnd 属性确定要修改标题栏的窗口(Form1.hWnd),然后将标题栏修改为“Welcome to VB”。

    需要牢记的是:Visual Basic 不能验证传递到 DLL 过程的值是否正确。如果传递了错误的值,那么过程将出错,并可能因此导致 Visual Basic 应用程序停止运行。这样就不得不重新加载和启动应用程序。在测试 DLL 过程时千万要小心,一定要经常地保存自己的工作。

    注意 极少数 API 调用能够识别缺省的 Variant 数据类型。最好声明具体的变量类型并使用 Option Explicit,这样,API 的可靠性要高得多。



  • 第28楼



    创建对象


    创建对象的最简单方法是在“工具箱”中双击控件。但是,对 Visual Basic 中的所有可用对象以及来自其它应用程序的所有可用对象,要想充分体现它们的优势,可在运行时用 Visual Basic 的可编程性能创立对象。

    用对象变量创建对象引用。


    用类模块“从零开始”创建自己的对象。


    用集合对象创建自己的集合。
    详细信息 其它章节会介绍如何访问对象。例如,在“用部件编程”中将讨论 CreateObject 和 GetObject 函数。

    使用对象变量
    除了存储值以外,变量可引用对象。如同给变量赋值一样,基于下列相同理由,可把对象赋给变量:

    变量名往往比变量所含的值(或者,在此情况下,所含值就是它们引用的对象)短而好记。


    在运行代码时,为了引用其它对象,应改变变量。


    引用包含对象的变量比反复引用对象本身有更高的效率。
    使用对象变量与使用常规变量一样,只不过多了把对象赋予变量这一步:

    首先声明变量:
    Dim variable As class

    然后把对象赋予变量:
    Set variable = object

    声明对象变量
    声明对象变量的方法和声明其它变量一样,要用 Dim、ReDim、Static、Private 和 Public。仅有的不同在于可选的 New 关键字和 Class 参数,本章后面将会对 New 关键字和 Class 参数都作介绍。语法是:

    {Dim | ReDim | Static | Private | Public} variable As [New] class

    例如,可以声明一个对象变量,它引用应用程序中的被称做 frmMain 的窗体:

    Dim FormVar As New frmMain ’声明一个类型为 frmMain
    ’的对象变量。

    也可以声明一个对象变量,它引用应用程序中的任何窗体:

    Dim anyForm As Form ’一般窗体变量。

    类似地,可以声明一个对象变量,它能够引用应用程序中的任何文本框:

    Dim anyText As TextBox ’可以引用任何文本框
    ’(但只能是一个文本框)。

    还可以声明一个对象变量,它能够引用任何类型的控件:

    Dim anyControl As Control ’一般控件变量。

    注意,可以声明一个引用应用程序中的指定窗体的窗体变量,但不能声明引用特定控件的控件变量。可以声明能够引用控件的特定类型(如 TextBox 或列表框)的控件变量,但不是引用那种类型的一个特定控件(如 txtEntry 或 List1)。但是,可把特定的控件赋予那种类型的变量。例如,对于具有列表框 lstSample 的窗体可以这样编码:

    Dim objDemo As ListBox
    Set objDemo = lstSample

    赋值对象变量
    用 Set 语句将对象赋予对象变量:

    Set variable = object

    无论何时,只要希望对象变量引用对象,就可使用 Set 语句。

    有时可用对象变量,尤其可用控件变量直接缩短要键入的代码。例如,原来的代码是这样的:

    If frmAccountDisplay!txtAccountBalance.Text < 0 Then
    frmAccountDisplay!txtAccountBalance.BackColor = 0 frmAccountDisplay!txtAccountBalance.ForeColor = 255
    End If

    如果使用控件变量,程序就可显著缩短:

    Dim Bal As TextBox
    Set Bal = frmAccountDisplay!txtAccountBalance
    If Bal.Text < 0 Then
    Bal.BackColor = 0
    Bal.ForeColor = 255
    End If

    特定对象类型与一般对象类型
    特定的对象变量必须引用特定类型的对象或类。特定的窗体变量只能引用应用程序中的一个窗体(尽管可在该窗体的诸多实例中引用其中之一)。与此相似,特定的控件变量只能引用应用程序中的特定类型的控件,比如 TextBox 或者列表框。请看一例,打开新的工程,在窗体中放置一文本框。将下列代码添加到窗体中:

    Private Sub Form_Click ()
    Dim anyText As TextBox
    Set anyText = Text1
    anyText.Text = "Hello"
    End Sub

    运行应用程序并单击窗体。文本框的 Text 属性将变成 "Hello"。

    一般对象变量可在多种特定对象类型中引用其中一种。例如,一般窗体变量可引用应用程序中的任何窗体;一般控件变量可引用应用程序中任何窗体上的任何控件。请看一例,打开新的工程并在窗体中按任意顺序放置若干 Frame、Label 和 CommandButton 控件。将下列代码添加到窗体中:

    Private Sub Form_Click ()
    Dim anyControl As Control
    Set anyControl = Form1.Controls (3)
    anyControl.Caption = "Hello"
    End Sub

    运行程序并单击窗体。刚才放入窗体中的第三个控件的标题将变成 "Hello"。

    Visual Basic 中有四种一般对象:

    一般对象类型 可引用的对象
    Form 应用程序中的任何窗体(包括 MDI 子窗体和 MDI 窗体)。
    Control 应用程序中的任何控件。
    MDIForm 应用程序中的 MDI 窗体(如果应用程序有 MDI 窗体的话)。
    Object 任何对象。


    在不知道变量运行时是否引用特定类型的对象时,一般对象变量是很有用的。例如,如果要书写代码,并使之在应用程序的任何窗体中都可操作,则必须使用一般窗体变量。

    注意 由于应用程序中只能有一个 MDI 窗体,因此不必使用一般的 MDIForm

  • 对象之间的关系


    在同一窗体上放置两个命令按钮时,它们是两个具有不同 Name 属性设置值(Command1 和 Command2)的分开的对象,但都分享同一个类— 命令按钮。

    它们也共享这样一个特征,即它们在同一窗体上。在本章前面已看到,窗体上的控件也包含在窗体中。这就把控件放在一个层次上。要引用控件就必须先引用窗体,就如同打电话拨号一样,首先要拨国家/地区号码或区域号码,然后再拨具体的电话号码。

    这两个命令按钮也共享这样一个特征,即它们都是控件。所有控件都具有公共特性,使它们不同于窗体以及 Visual Basic 环境中的其它对象。以下章节中将说明 Visual Basic 如何用集合使相关的对象分组。

    对象的层次
    对象层次提供了一种组织结构,它决定了对象间的相互关系以及访问它们的方法。在大多数情况下不必考虑 Visual Basic 对象的层次。但是:

    在操作其它应用程序的对象时,应当熟悉那个应用程序的对象层次。关于定位对象层次的信息,请参阅“用部件编程”。


    在使用数据访问对象时,应当熟悉数据访问对象层次。就象在 Professional Features 一书上的《数据访问对象指南》部分描述的那样,该书包括在 Visual Basic 的专业版和企业版中。
    在 Visual Basic 中,一个对象包含其它对象的一般情况时有发生。 下面我们要详细讨论。

    使用对象集合
    集合对象有自己的属性和方法。对象集合中的对象作为集合的成员被引用。集合中的每个成员从 0 开始顺次编号;这就是成员的索引号。例如,控件集合包含已给定窗体上的所有控件 ,如图 5.10 所示。如果对集合中的所有对象都必须执行相同操作,则可用集合简化代码。

    图 5.10 控件集合


    例如,下列代码遍历控件集合,并在列表框中列出每个成员的名字。

    Dim MyControl as Control
    For Each MyControl In Form1.Controls
    ’把每个控件的名字送到列表框。
    List1.AddItem MyControl.Name
    Next MyControl

    应用集合成员的属性与方法
    有两种通用方法可用来对集合对象成员寻址:

    指定成员的名称。以下两个表达式等价:
    Controls ("List1")
    Controls!List1

    利用成员的索引号:
    Controls (3)

    一旦能够从整体上对全体成员寻址,而且还能够个别地对单个成员寻址,就可用下面随便一种方式应用属性和方法:

    ’将 ListBox 控件的 Top 属性设置为 200。
    Controls!List1.Top = 200
    -或者-

    Dim MyControl as Control
    For Each MyControl In Form1.Controls ()
    ’将每一个成员的 Top 属性设置为 200。
    MyControl.Top = 200
    Next MyControl

    包含其它对象的对象
    在 Visual Basic 中,一些对象包含其它对象。例如,窗体通常包含一个或数个控件。把一个对象当作其它对象的容器,这样做的好处在于,在代码中引用容器即可明了要使用哪个对象。例如,图 5.11 说明在一个应用程序中可有两个不同的窗体,一个用来输入应付帐交易,另一个用来输入应收帐交易。

    图 5.11 两个不同窗体可以包含同名的控件


    两个窗口可以有名为 IstAcctNo 的列表框。通过引用包含列表框的窗体就可准确指定要使用的列表框:

    frmReceivable.lstAcctNo.AddItem 1201
    -或者-

    frmPayable.lstAcctNo.AddItem 1201

    Visual Basic 中的公共集合
    在 Visual Basic 中一个对象包含其它对象的一般情况时有发生。下表简要叙述 Visual Basic 中最常用的集合。

    集合 描述
    Forms 包含载入的窗体。
    Controls 包含窗体上的控件。
    Printers 包含可用的打印机对象。


    在 Visual Basic 中也可实现对象控制。

    详细信息 关于对象容器的详细信息,请参阅“再论编程”中的“使用集合替代数组”。关于打印机集合的信息,参阅“使用文本和图形”。关于窗体集合和控件集合的详细信息,请参阅语言参考。

    容器属性
    在窗体内,可用 Container 属性改变对象的容器。以下控件可包含其它控件:

    Frame 控件


    PictureBox 控件


    ToolBar 控件(仅对专业版和企业版而言)
    如何在窗体上将命令按钮从一个容器移动到另一个容器,该例对此作了演示。打开新工程,并在窗体上画出 Frame 控件、PictureBox 控件和 CommandButton 控件。

    下列代码在窗体单击事件中,这些代码使计数器变量增加,并通过 Select Case 循环使命令按钮在容器之间移动。

    Private Sub Form_Click ()
    Static intX as Integer
    Select Case intX
    Case 0
    Set Command1.Container = Picture1
    Command1.Top= 0
    Command1.Left= 0

    Case 1
    Set Command1.Container = Frame1
    Command1.Top= 0
    Command1.Left= 0

    Case 2
    Set Command1.Container = Form1
    Command1.Top= 0
    Command1.Left= 0

    End Select
    intX = intX + 1
    End Sub

    详细信息 请参阅语言参考中的“Container 属性”。

    对象之间的通讯
    除了在 Visual Basic 中使用和创建对象外,还可与其它应用程序通讯并在自己的应用程序中操作其它应用程序的对象。在应用

  • 使用对象初步


    Visual Basic 对象支持属性、方法和事件。在 Visual Basic 中,称对象的数据(设置和属性)为属性,称各种可在对象上操作的过程为方法。事件是可被对象识别的动作,例如单击鼠标和按下键盘键,还可编写代码来响应事件。

    改变对象的属性就可改变对象的特性。用收音机打比方,收音机的一个属性是音量。用 Visual Basic 的行话来说,就是收音机有个“Volume”属性,改变其值就可调节音量大小。假定收音机的音量值可设置在 0 到 10 之间。 如果能够通过 Visual Basic 控制收音机,则可在一个过程中写代码,把“Volume”属性值从 3 提高到 5,使声音更响一些:

    Radio.Volume = 5

    除了属性以外,对象还有方法。方法和属性都是对象的一部分。一般说来,方法就是要执行的动作,而属性就是要设置或检索的特性。以拨号打电话为例。可以说电话有一个“拨号”方法,拨一个 7 位电话号码的语法就是:

    Phone.Dial 5551111

    对象还有事件。当对象的某方面有变动时就触发了事件。例如,收音机可能有“VolumeChange”事件。电话可能有“Ring”事件,等等。

    用属性控制对象
    个别属性随着可以设置和取得它们的值的时间不同而不同。有的属性可在设计时设置。可在“属性”窗口设置这些属性的值而无需编写任何代码。而有的属性在设计时是不可用的;因此,这些属性只有通过代码在运行时设置。

    在运行时可以设置并可获得值的属性叫做读写属性。在运行时只能读取的属性叫做只读属性。

    设置属性值
    在想改变对象的外观或特性时设置属性的值。例如,通过改变 TextBox 控件的 Text 属性,就可以改变文本框的内容。

    用下列语法设置属性值:

    object.property = expression

    下面是设置属性的语句:

    Text1.Top = 200 ’ 设置 Top 属性为 200 缇。
    Te