海鸥航迹

学习之笔记,好文之收集。

2004年9月2日 #

笔记本电脑电池使用方式/BIOS信息

电池
如何延长电池使用寿命
1.如果电池久未使用,充电时间将会延长。
2.使用与机型相匹配的电源适配器.
3.每个月至少一次让电池电量降到3%以下,可以恢复部分电池容量。
4.高负荷工作后电池温度升高,电池充电过程可能会停止,温度恢复正常充电过程将继续进行。
5.不要将机器置于高温环境,如汽车仪表板与风挡玻璃之间。
6.低温环境电池性能将暂时下降。
7.贮藏电池前请将电池电量放电至低于50%,以减缓电池损耗。
8.使用Battery MaxiMiser软件延长电池使用时间

 

Time/S***em Time 时间/系统时间
Date/S***em Date 日期/系统日期
Level 2 Cache 二级缓存
S***em Memory 系统内存
Video Controller 视频控制器
Panel Type 液晶屏型号
Audio Controller 音频控制器
Modem Controller 调制解调器(Modem)
Primary Hard Drive 主硬盘
Modular Bay 模块托架
Service Tag 服务标签
Asset Tag 资产标签
BIOS Version BIOS版本
Boot Order/Boot Sequence 启动顺序(系统搜索操作系统文件的顺序)
Diskette Drive 软盘驱动器
Internal HDD 内置硬盘驱动器
Floppy device 软驱设备
Hard-Disk Drive 硬盘驱动器
USB Storage Device USB存储设备
CD/DVD/CD-RW Drive 光驱
CD-ROM device 光驱
Modular Bay HDD 模块化硬盘驱动器
Cardbus NIC Cardbus总线网卡
Onboard NIC 板载网卡
Boot POST 进行开机自检时(POST)硬件检查的水平:设置为"MINIMAL"(默认设置)则开机自检仅在BIOS升级,内存模块更改或前一次开机自检未完成的情况下才进行检查。设置为"THOROUGH"则开机自检时执行全套硬件检查。
Config Warnings 警告设置:该选项用来设置在系统使用较低电压的电源适配器或其他不支持的配置时是否报警,设置为"DISABLED"禁用报警,设置为"ENABLED"启用报警
Internal Modem 内置调制解调器:使用该选项可启用或禁用内置Modem。禁用(disabled)后Modem在操作系统中不可见。
LAN Controller 网络控制器:使用该选项可启用或禁用PCI以太网控制器。禁用后该设备在操作系统中不可见。
PXE BIS Policy/PXE BIS Default Policy
PXE BIS策略:该选项控制系统在没有认证时如何处理(启动整体服务Boot Integrity Services(BIS))授权请求。系统可以接受或拒绝BIS请求。设置为"Reset"时,在下次启动计算机时BIS将重新初始化并设置为"Deny"。
Onboard Bluetooth
板载蓝牙设备
MiniPCI Device
Mini PCI设备
MiniPCI Status
Mini PCI设备状态:在安装Mini PCI设备时可以使用该选项启用或禁用板载PCI设备
Wireless Control
无线控制:使用该选项可以设置MiniPCI和蓝牙无线设备的控制方式。设置为"Application"时无线设备可以通过"Quickset"等应用程序启用或禁用,热键不可用。设置为"/Application"时无线设备可以通过"Quickset"等应用程序或热键启用或禁用。设置为"Always Off"时无线设备被禁用,并且不能在操作系统中启用。
Wireless
无线设备:使用该选项启用或禁用无线设备。该设置可以在操作系统中通过"Quickset"或""热键更改。该设置是否可用取决于"Wireless Control"的设置。
Serial Port
串口:该选项可以通过重新分配端口地址或禁用端口来避免设备资源冲突。
Infrared Data Port
红外数据端口。使用该设置可以通过重新分配端口地址或禁用端口来避免设备资源冲突。
Parallel Mode
并口模式。控制计算机并口工作方式为"NORMAL"(AT兼容)(普通标准并行口)、"BI-DIRECTIONAL"(PS/2兼容)(双向模式,允许主机和外设双向通讯)还是"ECP"(Extended Capabilities Ports,扩展功能端口)(默认)。
Num Lock
数码锁定。设置在系统启动时数码灯(NumLock LED)是否点亮。设为"DISABLE"则数码灯保持灭,设为"ENABLE"则在系统启动时点亮数码灯。
Keyboard NumLock
键盘数码锁:该选项用来设置在系统启动时是否提示键盘相关的错误信息。
Enable Keypad
启用小键盘:设置为"BY NUMLOCK"在NumLock灯亮并且没有接外接键盘时启用数字小键盘。设置为"Only By Key"在NumLock灯亮时保持embedded键区为禁用状态。
External Hot Key
外部热键:该设置可以在外接PS/2键盘上按照与使用笔记本电脑上的键的相同的方式使用键。如果您使用ACPI操作系统鏦in2000或WinXP,则 USB键盘不能使用键。仅在纯DOS模式下USB键盘才可以使用键。设置为"SCROLL LOCK"(默认选项)启用该功能,设置为"NOT INSTALLED"禁用该功能。
USB Emulation
USB仿真:使用该选项可以在不直接支持USB的操作系统中使用USB键盘、USB鼠标及USB软驱。该设置在BIOS启动过程中自动启用。启用该功能后,控制转移到操作系统时仿真继续有效。禁用该功能后在控制转移到操作系统时仿真关闭。
Pointing Device
指针设备:设置为"SERIAL MOUSE"时外接串口鼠标启用并集成触摸板被禁用。设置为"pS/2 MOUSE"时,若外接PS/2鼠标,则禁用集成触摸板。设置为"TOUCH PAD-PS/2 MOUSE"(默认设置)时,若外接PS/2鼠标,可以在鼠标与触摸板间切换。更改在计算机重新启动后生效。
Video Expansion
视频扩展:使用该选项可以启用或禁用视频扩展,将较低的分辨率调整为较高的、正常的LCD分辨率。
Battery
电池
Battery Status
电池状态
Power Management
电源管理
Suspend Mode
挂起模式
AC Power Recovery
交流电源恢复:该选项可以在交流电源适配器重新插回系统时电脑的相应反映。
Low Power Mode
低电量模式:该选项用来设置系统休眠或关闭时所用电量。
Brightness
亮度:该选项可以设置计算机启动时显示器的亮度。计算机工作在电源供电状态下时默认设置为一半。计算机工作在交流电源适配器供电状态下时默认设置为最大。
Wakeup On LAN
网络唤醒:该选项设置允许在网络信号接入时将电脑从休眠状态唤醒。该设置对待机状态(Standby state)无效。只能在操作系统中唤醒待机状态。该设置仅在接有交流电源适配器时有效。
Auto On Mod 自动开机模式:注意若交流电源适配器没有接好,该设置将无法生效。该选项可设置计算机自动开机时间,可以设置将计算机每天自动开机或仅在工作日自动开机。设置在计算机重新启动后生效。
Auto On Time 自动开机时间:该选项可设置系统自动开机的时间,时间格式为24小时制。键入数值或使用左、右箭头键设定数值。设置在计算机重新启动后生效。
Dock Configuration 坞站配置
Docking Status 坞站状态
Universal Connect 通用接口:若所用操作系统为WinNT4.0或更早版本,该设置无效。如果经常使用不止一个戴尔坞站设备,并且希望最小化接入坞站时的初始时间,设置为"ENABLED"(默认设置)。如果希望操作系统对计算机连接的每个新的坞站设备都生成新的系统设置文件,设置为"DISABLED"。
S***em Security 系统安全
Primary Password 主密码
Admin Password
管理密码
Hard-disk drive password(s) 硬盘驱动器密码
Password Status 密码状态:该选项用来在Setup密码启用时锁定系统密码。将该选项设置为"Locked"并启用Setup密码以放置系统密码被更改。该选项还可以用来放置在系统启动时密码被用户禁用。
S***em Password 系统密码
Setup Password Setup密码
Post Hotkeys 自检热键:该选项用来指定在开机自检(POST)时屏幕上显示的热键(F2或F12)。
Chassis Intrusion
机箱防盗:该选项用来启用或禁用机箱防盗检测特征。设置为"Enable-Silent"时,启动时若检测到底盘入侵,不发送警告信息。该选项启用并且机箱盖板打开时,该域将显示"DETECTED"。
Drive Configuration
驱动器设置
Diskette Drive A: 磁盘驱动器A:如果系统中装有软驱,使用该选项可启用或禁用软盘驱动器
Primary Master Drive 第一主驱动器
Primary Slave Drive 第一从驱动器
Secondary Master Drive 第二主驱动器
Secondary Slave Drive 第二从驱动器
IDE Drive UDMA 支持UDMA的IDE驱动器:使用该选项可以启用或禁用通过内部IDE硬盘接口的DMA传输。
Hard-Disk drive Sequence 硬盘驱动器顺序
S***em BIOS boot devices 系统BIOS启动顺序
USB device USB设备
Memory Information 内存信息
Installed S***em Memory 系统内存:该选项显示系统中所装内存的大小及型号
S***em Memory Speed
内存速率:该选项显示所装内存的速率
S***em Memory Channel Mode 内存信道模式:该选项显示内存槽设置。
AGP Aperture AGP区域内存容量:该选项指定了分配给视频适配器的内存值。某些视频适配器可能要求多于默认值的内存量。
CPU information CPU信息
CPU Speed CPU速率:该选项显示启动后中央处理器的运行速率
Bus Speed 总线速率:显示处理器总线速率
Processor 0 ID 处理器ID:显示处理器所属种类及模型号
Clock Speed 时钟频率
Cache Size 缓存值:显示处理器的二级缓存值
Integrated Devices(LegacySelect Options) 集成设备
Sound 声音设置:使用该选项可启用或禁用音频控制器
Network Interface Controller
网络接口控制器:启用或禁用集成网卡
Mouse Port 鼠标端口:使用该选项可启用或禁用内置PS/2兼容鼠标控制器
USB Controller USB控制器:使用该选项可启用或禁用板载USB控制器。
PCI Slots PCI槽:使用该选项可启用或禁用板载PCI卡槽。禁用时所有PCI插卡都不可用,并且不能被操作系统检测到。
Serial Port 1 串口1:使用该选项可控制内置串口的操作。设置为"AUTO"时,如果通过串口扩展卡在同一个端口地址上使用了两个设备,内置串口自动重新分配可用端口地址。串口先使用COM1,再使用COM2,如果两个地址都已经分配给某个端口,该端口将被禁用。
Parallel Port 并口:该域中可配置内置并口
Mode 模式:设置为"AT"时内置并口仅能输出数据到相连设备。设置为PS/2、EPP或ECP模式时并口可以输入、输出数据。这三种模式所用协议和最大数据传输率不同。最大传输速率PS/2 I/O Address 输入/输出地址
DMA Channel DMA通道:使用该选项可以设置并口所用的DMA通道。该选项仅在并口设置为"ECP"时可用。
Diskette Interface 磁盘接口:使用该选项可以设置内置软盘驱动器的操作。设置为AUTO时,若装有软驱,则内置磁盘控制器被禁用。若没有检测到磁盘控制器,则启用内置控制器。
PC Speaker 系统喇叭:使用该选项可启用或禁用系统喇叭
Primary Video Controller 主视频控制器:使用该选项可以在启动过程中指定视频控制器。设置为"AUTO"时若装有内置显卡,系统可以使用。否则系统将使用板载视频控制器。设置为"Onboard"时系统总是使用板载控制器
Onboard Video Buffer 板载显卡缓存
Report Keyboard Errors
键盘报错
Auto Power On 自动开机
Auto Power On Mode 自动开机模式
Auto Power On Time 自动开机时间
Remote Wake Up 远程唤醒:该选项设置为"ON"时,若网卡或有远程唤醒功能的调制解调器收到唤醒信号时,系统将被唤醒。该选项设置为"On w/Boot to NIC 时",系统启动时首先尝试网络启动。
Fast Boot 快速启动:该选项在操作系统请求精简启动时系统启动的速度。
IDE Hard Drive Acoustics Mode IDE硬盘声音模式
S***em Event Log 系统事件日志

posted @ 2008-06-14 23:40 海天一鸥 阅读(583) | 评论 (0)编辑

完美解决T4X风扇噪音问题 (热点问题) 最新版本v018中文版更新!!!

完美解决T4X风扇噪音问题 (热点问题) 最新版本v018中文版更新!!!

这是老外开发的IBM风扇控制程序,完美解决T43风扇老转的问题,能自己控制风扇转动的温度和速度。本人T43 AL9测试通过。
打开编辑fancontrol.ini文件,改变active=1,默认为0,退出,运行fancontrol.exe,选择mode为smart即可通过程序控制风扇转动速度。
温度控制值在fancontrol.ini文件中可改变。
我的测试结果,如果温度选择 48度-52度风扇转速1,在CPU降频使用时,风扇的转速噪音基本可以忽略,风扇启停的比例大概是1:1,如把风扇风量固定选1,则CPU温度在45~46度之间变动,我的机器,前两周在老吴那刚买的AL9。晚上上网和下载东西基本上可忽略风扇的噪音了,现在倒是感觉我的东芝硬盘噪音比较大了,比我原先的5K100噪音大多了。

老吴,我要是自己换硬盘影响不影响保修呀?
现在感觉要是能最小化就好了,这个程序经过我昨天一晚上的下载东西的测试来看,还是不错的,按上面的设定,CPU温度就没超过52度,应该没什么大碍。
这个程序一关闭,风扇的控制权就交给BIOS了。
又出新版本了,作者要加入最小化自动运行在托盘等功能。
最新版v015,加入启动最小化和按各部件最高温度进行温度控制,不仅仅按照CPU温度,很不错,推荐大家安装
最新版v018,增加可忽略一些温度的选择。
fancontrol.ini的设置:
1:Active=(0,1,2)
设置风扇控制程序的状态,0为不控制,1为容许控制,2为启动后就自动控制;
2:Cycle=5
设置检测温度的时间间隔,5为5秒;
3:MinimizeToSysTray=(0,1)
设置最小化时的状态,0为不变化,1为最小化到系统托盘;
4:MinimizeOnClose=(0,1)
设置选择关闭程序时的状态,0为关闭,1为最小化到系统托盘;
5:StartMinimized=(0,1)
设置程序启动时是最小化还是隐藏到系统托盘,0为最小化,1为到系统托盘;
6:IconLevels=50 55 60
选择系统图标三种颜色代表的温度,第一位对应黄色,第二位对应橙色,第三位对应红色;
7:FanBeep=1 1
设置风扇启动和停止的时间,单位为ms;
8:MaxReadErrors= 10
设置在出现读温度值错误的次数,程序将转入BIOS控制;
9:IgnoreSensors=PWR,YYY,ZZZ
设置程序忽略控制的温度项目,填入相应的名称,则程序将不考虑此项温度值;
10:Level=48 0
    Level=51 1
    Level=55 4
    Level=60 7
    Level=70 128
设置程序控制的温度值和相对应的风扇转速,按系统各部件的最高温度控制;

tu-2_RMrF86UbF7WQ

tu-1_Jz8IBUVzpvqm

Technorati 标签: ,

posted @ 2008-06-14 23:23 海天一鸥 阅读(381) | 评论 (1)编辑

关于IBM 随机启动选项

     摘要: 介绍关于IBM 随机启动选项(哪些保留那些删除) 介绍关于IBM 随机启动选项(哪些保留那些删除)下面这个图 是装完随机软件后的启动选项 (用的是优化大师的解图 看的比较清楚) 1 D  阅读全文

posted @ 2008-06-14 23:00 海天一鸥 阅读(178) | 评论 (0)编辑

IBM T61 8889AW9使用心得

今天新的笔记本到手了,IBM T61 8889 AT9,港行货。T61

验收机器时,当场启动的机器,T61第一次启动会自动安装系统,系统安装成功后,使用 DisplayX显示器测试工具.exe 对显示器进行了坏点测试,还好,测试没有发现坏点。其他的测试就没有太大必要了,若能正常安装成功,一般系统硬件就没有什么大问题,IBM 本本的品质还是值得信耐的。

重新分区
然后使用NortonPartitionMagic8.0 对系统重新进行分区,自动安装的系统,没有对硬盘进行分区,这可以说是IBM笔记本的最大弊病,以前用的那个T42如此,如今都T61了,仍然没有改进,难道在自动安装系统之前,提示用户进行分区设定,或者自动做个通用设定,这个功能很难实现吗?Lenove有点不思进取了。

删除Nordon杀毒软件
非常可恶的是,自动安装的系统,会将Norton安装上,这个3个月试用的杀毒软件真是个垃圾!不停的提示你购买期限将到,关键是卸载还不能卸载干净。Sementec在杀毒领域实在是不敢恭维,这种推销,也有点.......反正我经历了这种痛苦,绝不在使用Sementec的杀毒软件了,将来在项目招标中,也尽量不采用这个垃圾软件,卸载无法干净卸载的软件,只能说是流氓软件。不过Norton还没有流氓到无可救药的地步,在其官方网站,可以搜索到:Norton_Removal_Tool.exe 这个工具,下载这个工具,可以把机器中的Norton品牌的所有软件都卸载掉,包括杀毒软件。最后我还是使用这个工具才把nordon搞定。

修复一键恢复
重新分区后,一键恢复就不可用了。这时,你需要在Windows XP命令行下,运行:

cmd
C:\>
C:\>cd  C:\Program Files\Common Files\Lenovo\BMGR
C:\>cd  C:\Program Files\Common Files\Lenovo\BMGR\>bmgr32.exe    /fc:bootmgr.bin   /M2    /IBM

运行上述命令后,重新启动机器,则一键恢复可用了。

启动蓝牙
默认情况下,T61的蓝牙没有启动,蓝牙显示灯根本没有亮,要Fn+F5打开。在无线网络连接的配置窗口中,在选中蓝牙以后,第一次打开会看到驱动开始安装,软化蓝牙会运行起来。 传输到的文件,右键点击蓝牙图标,浏览我的Bluetooth位置-〉Bluetooth交换文件夹。一旦和其他蓝牙设备联通过,则再次连接无需双方确认,会自动进行通信,这一点,呵呵,还是有点不安全啊....不过若使用个耳机还要每次连接互信,也的确有点麻烦...

关于PCMCIA插口
T61只提供了一个PCMCIA插口,在左手侧。这一点需要切记切记。是一个,不是2个。左侧的插口中,下部的接口是可用的,上面的那个实际不能插入,开始我不知道,用我的无线网卡插入,结果怎么也插不进,还以为笔记本坏掉了.后来到官方网站上查询,才得知T61只提供一个PCMCIA插口,不像T42,提供2个。我靠,IBM也没在说明书中或者明显的位置提供这个信息,我的一个同事由于用力过大,真把上面的插槽弄坏了.

NView和Macfee杀毒软件冲突
非常不幸,当我用Macfee 8.5企业版替换掉Nordon后,机器死机了。后来不断的查找原因,发现是点击Macfee托盘区图标,显示菜单造成的。Macfee 8.5禁止修改软件自身设定,而nview会在任何右键菜单中添加nview条目(够霸道),两者就冲突了。进显卡关闭nView 功能,才解决这个问题。但卡巴,Nod32,nordon都没有这个bug,不过Macfee 可以在其官方网站免费下载,无限制使用,只好忍了。有个正版的卡巴,卸载时曾经把系统弄崩溃(ntldr丢失什么的),于是放弃使用了,一直改用macfee企业版,防毒效果不错,够用了,就是资源占用大,50M以上,另外,8.5新增的很多保护规则,弄得系统很不正常,常常无法正常安装软件,若要安装软件,就得禁用它——晕倒很!后来研究了半天规则,才搞明白那些和MSI的行为会有冲突,一一禁用了才好用了。于是我在想,软件做成这样,是安全了吗?!说实在的,macfee 8.5并不怎么样,强烈建议大家选择其他杀毒软件,如nod32,卡巴之流。国产的也不错,只是讨厌瑞星的小狮子,就不推荐它了——什么时候瑞星公司给客户权利去掉这个讨厌的小玩意,就支持它一把,否则,一直弃用——PS:瑞星的企业版授权很好,一次购买,终身免费升级。这对用户而言的确不错。

一键恢复,重新安装OS选择定制应用程序恢复
如使用一键恢复重新安装OS,务必记得选择“定制应用程序恢复”,而不是“完全恢复”。这时你有机会把一大堆无聊的试用软件干掉,包括nordon,还你一个干净的WinXP。PS:其他联想大量的软件也是垃圾,但没办法,如果不用他们提供的垃圾软件,就没办法使用很多硬件功能,包括指纹识别,客户端安全,连接管理,屏幕管理......这些软件互相关联,不知道少安装那个会出什么问题,所以,Lenove的软件,尽量不要去掉,我最后只钩掉 ThinkPad Message Center,目前看还没出现什么故障.

posted @ 2008-06-14 00:55 海天一鸥 阅读(550) | 评论 (5)编辑

证件照的标准

证件照的标准

《 中华人民共和国道路交通安全法》申请机动车驾驶证人员的相片标准
相片应为,持证者本人近期免冠1寸相片。
1.白色背景的彩色正面相片,校正视力者须戴眼镜 。
2.其规格为32mm×22mm 人头部约占相片长度的三分之二。
第二代《居民身份证》照片标准
照片标准为〔公安部制定《居民身份证》制证用数字相片技术标准(GA461-2004)〕:
1、照片规格:358像素(宽)×441像素(高),分辨率350dpi,照片尺寸为32mm×26mm;
2、颜色模式:24位RGB真彩色。
3、要求: 公民本人近期正面免冠彩色头像, 头部占照片尺寸的2/3,不着制式服装或白色上衣,常戴眼镜的居民应配戴眼镜,白色背景无边框,人像清晰,层次丰富,神态自然,无明显畸变。
4、人像在相片矩形框内水平居中,脸部宽207像素±14像素,头顶发迹距相片上边沿7像素~21像素,眼睛所在位置距相片下边沿的距离不小于207像素,当头顶发迹距相片上边沿距离与眼睛所在位置距相片下边沿的距离不能同时满足上述要求的情况下,应优先保证眼睛所在位置距相片下边沿的距离不小于207像素,特殊情况下可部分切除耸立过高的头发。
新版《中华人民共和国普通护照》
今年7月17日起,公安局出入境管理部门将开始受理、签发新版《中华人民共和国普通护照》,这也也是我国建国以来使用的第13版护照。
1.着白色服装的请用淡蓝色背景颜色,着其他颜色服装的最好使用白色背景。
2.人像要清晰、层次丰富、神态自然。
3.公职人员不着制式服装,儿童不系红领巾。
4.尺寸为48毫米×33毫米,头部宽度21至24毫米,头部长度28至33毫米。
非移民签证申请照片要求
每一份申请都需附申请人正面,无边框的,拍摄于最近六个月的照片一张。“正面”是指申请人拍照时需要正对照相机,眼光不能向下看或斜视,脸部需占整张照片的50%。虽然由于发型的不同,很难严格地定义“脸部”,总体上说,是指申请人的头部,包括脸和头发;上下从头顶到下巴;左右至两边发际,如露出耳朵则更佳。关键的要求是从照片可以清晰地辨别申请人。

照片的尺寸为2x2英寸(大约为50毫米x50毫米正方形),头像居于正中。头部(从 头顶至下巴底)在1英寸至1 3/8英寸之间(即25毫米至35毫米),眼睛到照片底部的 距离为1 1/8 英寸至1 3/8英寸。(即28毫米至35毫米)。可以是白色或浅色背景的 彩色或黑白照片,照片无边框,需被订在或粘贴在护照或非移民签证申请表格上。如照片是被装订的,钉子必须尽量远离申请人脸部。照片背景如有花纹或图案或呈深色将不被接受。
等等很多很多不同的规格标准.

 

1.二代证标准数字相片样式(图例)

2.二代证标准数字相片规格如上图所示,二代证对标准数字相片规格要求为:358像素(宽)×441像素(高),分辨率350dpi。

3.二代证标准数字相片的颜色模式要求二代证标准数字相片采用24位RGB真彩色相片。

4.二代证标准数字相片的压缩方式要求采用JPEG压缩技术,压缩品质因子70(一般相片的文件容量在14k~20k字节之间),符合ISO DIS 10918-1要求,相片放大后无明显光斑。

5.二代证标准相片头像大小及位置要求

人像在相片矩形框内水平居中,脸部宽207像素±14像素,头顶发迹距相片上边沿7像素~21像素,眼睛所在位置距相片下边沿的距离不小于207像素,当头顶发迹距相片上边沿距离与眼睛所在位置距相片下边沿的距离不能同时满足上述要求的情况下,应优先保证眼睛所在位置距相片下边沿的距离不小于207像素。

6.二代证标准相片背景、边框要求

标准相片要求的背景为:白色背景,无边框。

7.标准相片的一般性要求

人像清晰,边缘未柔化、无锯齿状,层次丰富,神态自然,无明显畸变和过度修改痕迹;
不着制式服装,不戴帽子,尽量穿深色有领衣服;
常戴眼镜的居民应配戴眼镜,戴眼镜拍摄镜片不能有反光;
正面头像,头和脸不得正斜或侧转;
头发整齐,长发者应露出两耳、眉毛,发髻不得盘在头顶;

不佩带各种首饰,不化浓妆。

**************************************************************

1英寸25mm×35mm
2英寸35mm×49mm
3英寸35mm×52mm
港澳通行证33mm×48mm
赴美签证50mm×50mm
日本签证45mm×45mm
大二寸35mm×45mm
护照33mm×48mm
毕业生照33mm×48mm
身份证22mm×32mm
驾照21mm×26mm
车照60mm×91mm

数码相机和可冲印照片最大尺寸对照表

500万像素 有效4915200,像素2560X1920。可冲洗照片尺寸17X13,对角线21英寸
400万像素 有效3871488,像素2272X1704。可冲洗照片尺寸15X11,对角线19英寸
300万像素 有效3145728,像素2048X1536。可冲洗照片尺寸14X10,对角线17英寸
200万像素 有效1920000,像素1600X1200。可冲洗照片尺寸11X8,对角线13英寸
130万像素 有效1228800,像素1280X960。可冲洗照片尺寸9X6,对角线11英寸
080万像素 有效786432,像素1024X768。可冲洗照片尺寸7X5,对角线9英寸
050万像素 有效480000,像素800X600。可冲洗照片尺寸5X4,对角线7英寸
030万像素 有效307200,像素640X480。可冲洗照片尺寸4X3,对角线5英寸
**************************************************************
5寸照片(3X5),采用800X600分辨率就可以了
6寸照片(4X6),采用1024X768分辨率
7寸照片(5X7),采用1024X768分辨率
8寸照片(6X9),采用1280X960分辨率 **************************************************************
按照目前的通行标准,照片尺寸大小是有较严格规定的

1英寸证明照的尺寸应为3.6厘米×2.7厘米;
2英寸证明照的尺寸应是3.5厘米×5.3厘米;
5英寸(最常见的照片大小)照片的尺寸应为12.7厘米×8.9厘米;
6英寸(国际上比较通用的照片大小)照片的尺寸是15.2厘米×10.2厘米;
7英寸(放大)照片的尺寸是17.8厘米×12.7厘米;
12英寸照片的尺寸是30.5厘米×25.4厘米。
正常的误差应该在1~2毫米左右,如果“差距”过大,那就说明洗印店有问题了。

*****************************************************

常用照片尺寸 照片规格(英寸) (厘米) (像素) 数码相机类型

1寸 2.5*3.5cm 413*295
身份证大头照 3.3*2.2 390*260
2寸 3.5*5.3cm 626*413
小2寸(护照) 4.8*3.3cm 567*390
5 寸 5x3.5 12.7*8.9 1200x840以上 100万像素
6 寸 6x4 15.2*10.2 1440x960以上 130万像素

7 寸 7x5 17.8*12.7 1680x1200以上 200万像素
8 寸 8x6 20.3*15.2 1920x1440以上 300万像素
10寸 10x8 25.4*20.3 2400x1920以上 400万像素
12寸 12x10 30.5*20.3 2500x2000以上 500万像素
15寸 15x10 38.1*25.4 3000x2000 600万像素

****************************************************
照片尺寸与打印尺寸之对照(分辨率:300dpi )
照片尺寸(英寸)        打印尺寸(厘米)
10x15                     25.4x38.1
10x12                     25.4x30.5
8x10                      20.3x25.4
6x8                       15.2x20.3
5x8                       12.7x20.3
5x7                      12.7x17.7
4x6                      10.1x15.2
3.5x5                    8.9x12.7

1.身份证(22mm*32mm)
2.驾驶证(22mm*32mm)
3.黑白小一寸(22mm*32mm)
4.彩色小一寸(27mm*38mm)
5.彩色大一寸(40mm*55mm)
6.普通证件照(33mm*48mm)

照片的尺寸是以英寸为单位,1英寸=2.54cm 9*6就是
22.54cm*15`24cm自己量一下吧,如果是底片冲洗的话是没有这个尺寸的,只能叫师傅放大到10寸再裁剪

照片尺寸
1X1.5 (1寸)         2.6*3.9                       一寸2.5*3.5
1.5X2 (2寸)         3.8*5.1                       大二寸3.5*5.0     小二3.5*4.5
5*3.5(5寸/3R)   12.70*8.89
6*4(6寸/4R)    15.24*10.16
7*5(7寸/5R)    17.78*12.70
8*6(8寸/6R)    20.32*15.24
10*8(10寸/8R)   25.40*20.32
10*12(12寸)      25.40*30.48
12*14(14寸)     30.48*35.56
12*16(16寸)     30.48*40.64
14*18(18寸)     35.56*45.72
16*20(20寸)     40.64*50.80
20*24(24寸)     50.80*60.96
24*30(30寸)     60.96*76.20
24*36(36寸)     60.96*91.44

数码相机可冲印照片尺寸对照表

要达到满意的数码扩印效果:
照片规格(英寸)      (厘米)        (像素)        数码相机类型

   1寸                  2.5*3.5cm        413*295
    身份证大头照     3.3*2.2            390*260
    2寸                  3.5*5.3cm        626*413
    小2寸(护照) 4.8*3.3cm        567*390
 5 寸    5x3.5     12.7*8.9          1200x840以上   100万像素
 6 寸    6x4        15.2*10.2        1440x960以上   130万像素
 7 寸    7x5        17.8*12.7        1680x1200以上 200万像素
 8 寸    8x6        20.3*15.2        1920x1440以上 300万像素
 10寸 10x8      25.4*20.3         2400x1920以上 400万像素
 12寸 12x10    30.5*20.3         2500x2000以上 500万像素
 15寸 15x10    38.1*25.4         3000x2000      600万像素
另外,数码的片子别管像素是几百万,只看长边的像素数,1200出5寸
1400出6寸,1700出7寸,类推...

posted @ 2008-06-05 16:48 海天一鸥 阅读(233) | 评论 (0)编辑

Ankh菜单删除

     摘要: 今天下载了AnkhSVN 试用来一番。它是一个Visual Studio IDE的一个插件,感觉仍然不如VSS或者Visual SVN方便,Unintall后,居然发现VS2005菜单上,仍然有AnkhSVN的菜单项目。要删除它...  阅读全文

posted @ 2008-04-09 22:01 海天一鸥 阅读(1803) | 评论 (7)编辑

VC8应用程序的发布问题

1. 问题描述:
最近在VS2005下用C++写了一个Console程序,在一台未安装VS2005的机器上不能正常运行。
用命令行方式运行,提示:
“系统无法执行指定的程序”
直接双击运行,提示:
“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”
用VC6和VS2003也有这个问题,只不过会提示说找不到“***.dll”,把需要的dll拷贝到目标机器就可以正常运行了。而VS2005并没有提示缺少哪些dll。
2. 解决方案:
在水木C++版请教了一下,ass做出了回答(非常感谢ass的帮助)。把他的回答摘录如下,大家共同学习:
“因为没有msvcr80.dll
可以改一下编译选项 多线程dll(/MD)改成多线程(MT)这样就静态链接,
也可以从你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装。”

也可到这里下载:

http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=zh-cn


根据ass指导的思路,自己实验了一下,感觉以下两种解决办法是比较方便的:
方法一:
在C:Program FilesMicrosoft Visual Studio 8VCredi
stDebug_NonRedistx86Microsoft.VC80.DebugCRT 下找到了下列文件:
msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest
把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以运行那个程序了。

方法二:
修改“C++/Code Generation”中的运行时库选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。

 

还有几个要注意的地方:在实际应用中,一个应用程序往往由DLL和EXE构成,若exe配置为MTd,则要解决上面的问题,DLL也必须是MTd。

posted @ 2008-03-14 21:07 海天一鸥 阅读(281) | 评论 (1)编辑

Session_end事件


Session End事件仅在进程内会话模式情况下,请求结束时,Session.Abandon()被调用时会被激发,或者会话过期时被激发。浏览器关闭并不会激发Session END事件。


Introduction

Sessions are maintained on the server. Sessions are created when a request is made by the client to the page. In this article we will look that when the Session_End event is fired.

When Session_End is fired:

Session End event is fired only in the In-Proc Session mode at the end of the request in which Session.Abandon() is called OR when the Session time expires. Session End will not be fired when you close the browser. Let's make a small test in the Global.asax file so that we will know that Session.Abandon is being called.

// Here we will clear the user from the List of logged users

public static string message = String.Empty;

protected void Session_End(Object sender, EventArgs e)

{

if(Session[Global.USERNAME] == null)

{

message = null;

message = "Session End has been fired";

}

}

Now say you press a button and call Session.Abandon() method which in turns fires the Session End event.

private void Button1_Click(object sender, System.EventArgs e)

{

Session.Abandon();

Label1.Text = Global.message;

}

If you run this page you will not see any text assigned to the Label control. Even though you did assign the text in the Session End event. Well, the text is assigned alright but you need to refresh the page in order to view it since it was not included in the request which you made. When you refresh the page you will see a message "Session End has been fired".

If you want to clean the Session Variable without destroying the Session than you can use the Session.Clear() method.

In the beginning of the article I said "Session End event is fired at the end of the request in which Session.Abandon() is called". We can do a simple test to prove this. If Session_End is fired instantly when Session.Abandon is executed than the following code should kill the Session and "Session Variable has been cleared" OR an error has to be raised since that Session has been destroyed. But if you run this code it will print "Session Variable is NOT Cleared". It's a good idea if you debug it and you will see that the Session End is fired at the end of the request and not instantly when it meets Session.Abandon

Session[Global.USERNAME] = txtUserName.Text;

// Clear the Current Session

Session.Abandon();

Label1.Text = Global.message;

if(Session[Global.USERNAME] == null)

{

Label1.Text = "Session Variable has been cleared";

}

else

{

Label1.Text = "Session Variable is NOT Cleared";

}

Firing an event when the browser closes:

YOU CANNOT CLEAR SESSION WHEN THE BROWSER CLOSES. You can fire client side event when the browser closes and hence you can do client tasks. In the code below when the user closes the window I am popping up an alert message. The message will also pop whenever any activity occurs on the page. It can be button click, refresh or any other activity.

<body onbeforeunload= 'PopWindow();' >

</body>
</HTML>
<script language ="javascript">
function PopWindow()
{
alert('You are about to close the window');
}
</script>

I hope you liked the article, happy coding!

posted @ 2008-03-13 19:33 海天一鸥 阅读(244) | 评论 (0)编辑

北京和家宾馆——一个不错的经济型酒店

经济型客房(138-198)

免费宽带,早餐免费;中晚餐自助 10元/位

北四环店: 010-82629013,9048 总机:010-82629195

地址:北京市海淀区成府路华清嘉园22号楼 房价:198元/间

安贞店:010-51697189 总机:010-51697188   138元/间

北京市朝阳区安外外馆斜街1号;(泰利明苑小区内150米)

百万庄店:010-68331987,总机:010-52605118  168元/间

地址:北京西城区百万庄大街23号(展览馆派出所东侧外交学院北门对面)

hejia

华谊店(华谊宾馆):010-62259611,总机:62259366  188元/间

地址:北京市海淀区索家坟20号

西直门桥向北学院路第一出口向东300米,向北200米同一首歌北侧;

白云路店:010-68046846,总机:68046848 168元/间

地址:北京市西城区真武庙3里8号桃兆园宾馆白云路4号国二招(长安商场向南300米第一个红绿灯东侧)

白云观一店(兆园宾馆):010-63423621,总机:63439503  168元/间

地址:北京市西城区白云观街8号院2号楼(白云观南门对面)

白云观二店:010-52603939 总机:52603636  168元/间

地址:北京市西城区白云观街8号院6号楼

白云桥店:010-51933225,总机:51933282  168元/间

地址:北京市宣武区白云桥西南50米

渤海府宾馆:0431-85089092       138元/间

地址:长春市新发路518号(吉林省委对面)

posted @ 2008-03-06 19:28 海天一鸥 阅读(4087) | 评论 (2)编辑

SQLite.NET提供程序的选择

今日用到了SQLite,发现这个数据库进行了很大的升级,从3.4.X升级到3.5.X了。版本号发生改变,API接口OS层发生重大改变。

SQLite version 3.5.0 introduces a new OS interface layer that is incompatible with all prior versions of SQLite. In addition, a few existing interfaces have been generalized to work across all database connections within a process rather than just all connections within a thread. The purpose of this article is to describe the changes to 3.5.0 in detail so that users of prior versions of SQLite can judge what, if any, effort will be required to upgrade to newer versions.

1.0 Overview Of Changes

A quick enumeration of the changes in SQLite version 3.5.0 is provide here. Subsequent sections will describe these changes in more detail.

  1. The OS interface layer has been completely reworked:
    1. The undocumented sqlite3_os_switch() interface has been removed.
    2. The SQLITE_ENABLE_REDEF_IO compile-time flag no longer functions. I/O procedures are now always redefinable.
    3. Three new objects are defined for specifying I/O procedures: sqlite3_vfs, sqlite3_file, and sqlite3_io_methods.
    4. Three new interfaces are used to create alternative OS interfaces: sqlite3_vfs_register(), sqlite3_vfs_unregister(), and sqlite3_vfs_find().
    5. A new interface has been added to provided additional control over the creation of new database connections: sqlite3_open_v2(). The legacy interfaces of sqlite3_open() and sqlite3_open16() continue to be fully supported.
  2. The optional shared cache and memory management features that were introduced in version 3.3.0 can now be used across multiple threads within the same process. Formerly, these extensions only applied to database connections operating within a single thread.
    1. The sqlite3_enable_shared_cache() interface now applies to all threads within a process, not to just the one thread in which it was run.
    2. The sqlite3_soft_heap_limit() interface now applies to all threads within a process, not to just the one thread in which it was run.
    3. The sqlite3_release_memory() interface will now attempt to reduce the memory usages across all database connections in all threads, not just connections in the thread where the interface is called.
    4. The sqlite3_thread_cleanup() interface has become a no-op.
  3. Restrictions on the use of the same database connection by multiple threads have been dropped. It is now safe for multiple threads to use the same database connection at the same time.
  4. There is now a compile-time option that allows an application to define alternative malloc()/free() implementations without having to modify any core SQLite code.
  5. There is now a compile-time option that allows an application to define alternative mutex implementations without having to modify any core SQLite code.

Of these changes, only 1a and 2a through 2c are incompatibilities in any formal sense. But users who have previously made custom modifications to the SQLite source (for example to add a custom OS layer for embedded hardware) might find that these changes have a larger impact. On the other hand, an important goal of these changes is to make it much easier to customize SQLite for use on different operating systems.

 

由于存储层的改变,SQLite.NET的各个版本也发生了变化:

SQLite.NET 1.0.46是最后一个基于3.4.X版本的提供程序;
SQLite.NET 1.0.48是当前最新的基于3.5.4代码的提供程序;

SQLite.NET的新版本主要是随SQLite3.4->3.5的改进而进行了相应的修改。性能有很大变化,对比如下:

1.0.46 test

Beginning Test on System.Data.SQLite.SQLiteConnection
SUCCESS - CreateTable
SUCCESS - Full Text Search
SUCCESS - DataType Test
SUCCESS - Dispose pattern test
SUCCESS - KeyInfo Fetch
SUCCESS - Transaction Enlistment
SUCCESS - Guid Test
SUCCESS - InsertTable
SUCCESS - VerifyInsert
SUCCESS - CoersionTest
SUCCESS - ParameterizedInsert
SUCCESS - BinaryInsert (using named parameter)
SUCCESS - VerifyBinaryData
SUCCESS - LockTest
SUCCESS - ParameterizedInsertMissingParams

          Inserting using CommandBuilder and DataAdapter
          -> (10,000 rows) ...
          -> Insert Ends in 210 ms ... Commits in 481 ms

          Inserting using CommandBuilder and DataAdapter
          ->(with identity fetch) (10,000 rows) ...
          -> Insert Ends in 300 ms ... Commits in 201 ms

          Fast insert using parameters and prepared statement
          -> (100,000 rows) Begins ...
          -> Ends in 801 ms ... Commits in 441 ms

          User Function iteration of 120003 records in 240 ms
          Raw iteration of 120003 records in 100 ms
          Intrinsic Function iteration of 120003 records in 70 ms

          User (text)  command executed 397517 times in 1 second.
          UserFunction command executed 570342 times in 1 second.
          Intrinsic    command executed 932032 times in 1 second.
          Intrin (txt) command executed 747247 times in 1 second.
          Raw Value    command executed 1013199 times in 1 second.

          UserAggregate executed 17 times in 1 second.

SUCCESS - UserCollation
SUCCESS - DropTable

Tests Finished.

1.0.48 test

Beginning Test on System.Data.SQLite.SQLiteConnection
SUCCESS - CreateTable
SUCCESS - Full Text Search
SUCCESS - DataType Test
SUCCESS - Dispose pattern test
SUCCESS - KeyInfo Fetch
SUCCESS - Transaction Enlistment
SUCCESS - Guid Test
SUCCESS - InsertTable
SUCCESS - VerifyInsert
SUCCESS - CoersionTest
SUCCESS - ParameterizedInsert
SUCCESS - BinaryInsert (using named parameter)
SUCCESS - VerifyBinaryData
SUCCESS - LockTest
SUCCESS - ParameterizedInsertMissingParams

          Inserting using CommandBuilder and DataAdapter
          -> (10,000 rows) ...
          -> Insert Ends in 411 ms ... Commits in 100 ms

          Inserting using CommandBuilder and DataAdapter
          ->(with identity fetch) (10,000 rows) ...
          -> Insert Ends in 440 ms ... Commits in 131 ms

          Fast insert using parameters and prepared statement
          -> (100,000 rows) Begins ...
          -> Ends in 1312 ms ... Commits in 340 ms

          User Function iteration of 120003 records in 191 ms
          Raw iteration of 120003 records in 130 ms
          Intrinsic Function iteration of 120003 records in 140 ms

          User (text)  command executed 298951 times in 1 second.
          UserFunction command executed 418648 times in 1 second.
          Intrinsic    command executed 599105 times in 1 second.
          Intrin (txt) command executed 458549 times in 1 second.
          Raw Value    command executed 655652 times in 1 second.

          UserAggregate executed 15 times in 1 second.

SUCCESS - UserCollation
SUCCESS - DropTable

Tests Finished.

由测试可知,3.4版的SQLite在很多方面,性能依然要比3.5版的SQLite强不少。但是SQLite 3.5版在OS适配层的改进(引入VFS对象),提高了数据的写入效率,明显的,其Commits的时间总是较少。

结论:
3.4版的SQLite在数据插入较多的应用情况下,效率仍然较好;
3.5版的SQLite在数据写入磁盘方面有很大改进,但其显然在内存数据组织方面还有待改进,插入操作所耗费的时间明显比3.4版要长;

感觉3.4版的SQLite是非常稳定的一个版本。3.5版,看来等等再使用了。

posted @ 2008-02-19 21:00 海天一鸥 阅读(2468) | 评论 (8)编辑

Windows Live Writer启动错误:无法定位程序输入点IsThreadDesktopComposited 于动态链接库 USER32.dll 上

今天安装了Windows LIve Writer,运行它,出现错误信息如下:

 image

查看事件探查器:

弹出应用程序: WindowsLiveWriter.exe - 无法找到入口: 无法定位程序输入点 IsThreadDesktopComposited 于动态链接库 USER32.dll 上。

没办法,只好先看看User32.dll了:

IsCharAlphaA    0x77d3e5ad    0x0002e5ad    407 (0x197)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsCharAlphaNumericA    0x77d4f209    0x0003f209    408 (0x198)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsCharAlphaNumericW    0x77d2c0f9    0x0001c0f9    409 (0x199)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsCharAlphaW    0x77d1f2ae    0x0000f2ae    410 (0x19a)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsCharLowerA    0x77d3b851    0x0002b851    411 (0x19b)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsCharLowerW    0x77d4f152    0x0003f152    412 (0x19c)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsCharUpperA    0x77d37045    0x00027045    413 (0x19d)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsCharUpperW    0x77d69fb7    0x00059fb7    414 (0x19e)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsChild    0x77d1970e    0x0000970e    415 (0x19f)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsClipboardFormatAvailable    0x77d2f127    0x0001f127    416 (0x1a0)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsDialogMessage    0x77d3c651    0x0002c651    417 (0x1a1)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsDialogMessageA    0x77d3c651    0x0002c651    418 (0x1a2)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsDialogMessageW    0x77d2d8c2    0x0001d8c2    419 (0x1a3)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsDlgButtonChecked    0x77d25d75    0x00015d75    420 (0x1a4)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsGUIThread    0x77d69f77    0x00059f77    421 (0x1a5)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsHungAppWindow    0x77d69a39    0x00059a39    422 (0x1a6)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsIconic    0x77d1be27    0x0000be27    423 (0x1a7)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsMenu    0x77d31328    0x00021328    424 (0x1a8)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsRectEmpty    0x77d1bf26    0x0000bf26    425 (0x1a9)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsServerSideWindow    0x77d1da1d    0x0000da1d    426 (0x1aa)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsWindow    0x77d1b933    0x0000b933    428 (0x1ac)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsWindowEnabled    0x77d1bda2    0x0000bda2    429 (0x1ad)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsWindowInDestroy    0x77d1da74    0x0000da74    430 (0x1ae)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsWindowUnicode    0x77d1c59e    0x0000c59e    431 (0x1af)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsWindowVisible    0x77d1c465    0x0000c465    432 (0x1b0)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsWinEventHookInstalled    0x77d1b1a5    0x0000b1a5    427 (0x1ab)    user32.dll    C:\WINDOWS\system32\user32.dll   
IsZoomed    0x77d1c2b2    0x0000c2b2    433 (0x1b1)    user32.dll    C:\WINDOWS\system32\user32.dll   

我的user32.dll版本为5.1.2600.3099,上面是所有的函数入口,显然,没有IsThreadDesktopComposited,因此可以想见,出现这个错误就不足为怪了。那么看来Windows Live writer加载的DLL不该使用USER32.dll的这个函数,这样,就必须看看DLL的加载过程,以便确定原因:

image

用VC工具一看,发现是c:\windows\system32\MPRAPI.DLL调用了user32.dll中的IsThreadDesktopComposited函数,而刚好我的XP的user32.dll中没有这个函数,所以发生了错误。

解决办法:

将MPRAPI.DLL改名,如MPRAPI.DLL.bak。

重新运行,解决问题。

posted @ 2008-01-17 22:59 海天一鸥 阅读(698) | 评论 (1)编辑

Web趋势地图

Information Architects发布了一个Web趋势图,按不同的关注点,对互联网界主要的站点,进行了分类,并展示了它们之间的关系。博客园创业,是否能从中看出一些启示呢?

Web地图

posted @ 2007-09-15 19:04 海天一鸥 阅读(1486) | 评论 (11)编辑

CHM文件打不开

今天由于一个有关Socket通信的程序需要改进,从网络中下载了《C# network programming》电子书,可是居然怎么也打不开。

试了网络中提供的各种方法,均不能解决,后来,把文件copy到C:\  根目录居然打开了。略一思考,发现是原来的路径中包含特殊字符“#”的缘故。

 

如果碰到CHM文件打不开的情况,可能的原因:

  1. 权限不足,可能需要取消对CHM文件的打开验证;
  2. hh.exe 需要的几个OCX需要注册;(网络中有论述)
  3. 文件路径非法:请把文件copy到仅英文字幕的目录,最好没有空格的目录;

C# network programming 对Socket编程做了系统的讲解,如果对.NET环境下的复杂的Socket编程有疑难,不妨查阅查阅,相信有所帮助。这本书有中文版,当当网好像25元:)

要下载电子书,请单击下面的link:

  :http://www.cnblogs.com/Files/SGSoft/csharp_networkingprogramming.rar

posted @ 2007-09-10 21:19 海天一鸥 阅读(530) | 评论 (0)编辑

Wintellect Collection Classes for .NET now on CodePlex

Training concern Wintellect 将其PowerCollections发布到CodePlex上了。

.NET泛型的一个增强组件,提供了大量.NET中未包含的泛型。

 

Training concern Wintellect has posted a great set of Public License classes for .NET on CodePlex. The goal of the project is to provide generic collection classes that are not available in the .NET framework.
Known as ''Power Collections,'' the software makes heavy use of .NET Generics. Some of the collections included are the

·Deque,
·MultiDictionary,
·Bag,
·OrderedBag,
·OrderedDictionary,
·Set,
·OrderedSet,
·OrderedMultiDictionary
·....

Power Collections is free for all to use within the bounds of the standard Eclipse End user license agreement.
Download information
http://www.codeplex.com/PowerCollections

posted @ 2007-09-07 20:52 海天一鸥 阅读(373) | 评论 (0)编辑

ICE源码研究

ICE 3.2发布了。

http://www.zeroc.com/forums/announcements/3019-ice-3-2-released.html

使用C++开发分布式应用,ICE是个非常不错的平台。而基于ICE的协议,其分布式通信架构实际支持了多种语言和多种平台,包括C++,JAVA,C#,VB.NET等等。

据称国内有些公司开发的网管软件,或桌面管理软件,都在采用ICE内核。

同样的,使用C#实现的ICE也是非常好的编程学习资料,我整理了一下C#源码,使之能够在VS2005中编译生成。

通过查看ICE的C#源码,发现其很多地方的代码还是有很多优化的可能的,看来ZeroC并没有在.NET上投入太多的精力,C#的实现并无C++的实现那么优雅。站在.NET巨人的肩膀上,ICE的.NET实现远比C++实现所用的代码量要少的多。

但是,ICE的 .NET实现中,对Socket通信的封装非常高效,大家如果在使用Socket通信,不妨借鉴这不妨代码,当然,我也尝试对这部分代码重写,使之使用.NET 2.0的最新API,并支持IPv6等等特性。

下面的链接是ICE for VS 2005 源码项目的下载地址:

ICE 3.2.1 for VS 2005 源码项目

希望能和关注ICE的朋友一起研究,交流心得。

posted @ 2007-09-03 20:17 海天一鸥 阅读(3074) | 评论 (15)编辑

Hibernate 和NHibernate 最小指南

这是一份NHibernatehe 和 Hibernate的学习指南,对于做JAVA开发和.NET开发的人都很有帮助。

Mini-Guide: Hibernate and NHibernate

By Brent Sheets
Posted by Jack Vaughan

Hibernate is an ORM [Object-Relational Mapping] service used to develop persistent Java classes. On the back of NHibernate, it’s popularity has spread to the .NET space as well. This has proved of special interest in IT shops that are working toward interoperability strategies that leverage the skills of developers who can handle both .NET and Java problems. No matter whether you’re an old pro or just starting to investigate object relational mapping, the resources I’ve gathered should help you learn something new. You’ll find quick links to official reference material and great tutorials for gaining hands-on knowledge. Dig right in.

The Hibernate Environment
Hibernate Core for Java
Hibernate Annotations
Hibernate EntityManager
Hibernate Shards
Hibernate Validator
Hibernate Tools for Eclipse and Ant
NHibernate for .NET

Reference and Documentation
Hibernate Documentation
Hibernate Downloads
What is Hibernate? - by James Elliot, author of “Hibernate: A Developer’s Notebook.”
NHibernate Intro

Hibernate Tutorials
Basic Hibernate Tutorial for Beginners (Gary Mak)
Introduction to Hibernate (Bhushan Dongare)
Hibernate Tutorial (VisualBuilder.com)
The Road to Hibernate (Michael Gloegl)
Using Hibernate With the NetBeans Visual Web Pack (NetBeans)
Using Hibernate with the Java Persistence API (NetBeans)
Using Hibernate with JPA (NetBeans)
Part 1: Extending the NetBeans Tutorial JSF-JPA-Hibernate Application (Java.NET)
Part 2: Extending the NetBeans Tutorial JSF-JPA-Hibernate Application (Java.NET)
Part 3: Extending the NetBeans Tutorial JSF-JPA-Hibernate Application (Java.NET)
Complete Hibernate 3.0 Tutorial (Java.NET)
Collection of Hibernate tutorials (JavaBeat)
Using Hibernate With the Sun Java Studio Creator IDE (Sun)
Hibernate Examples (java2s.com)
Using Hibernate as a JDBC (TSS.COM)

News and Community
Hibernate Forums
Hibernate Wiki
Hibernate Blog
Hibernate News

Mailing List: hibernate-announce
-General Hibernate-related announcement
Mailing List: hibernate-commits
-Source control commit notifications
Mailing List: hibernate-dev
-Discuss Hibernate development
Mailing List: nhibernate-commit
-Source control commit notifications
Mailing List: nhibernate-development
-Discuss NHibernate development

__________________________________
About the Author

Brent Sheets is a former Senior Editor at TechTarget and a frequent contributor to SearchVB.com. He founded and managed the popular Visual Basic Web Directory website until it was acquired by TechTarget in 2000 and relaunched as SearchVB.com. Brent currently resides in sunny Florida with his wife and daughter.

posted @ 2007-08-23 19:29 海天一鸥 阅读(411) | 评论 (0)编辑

SQL Server CE 开发前准备[转]

 
SQL Server CE 开发前准备
作者:ericzhen   来源:joycode.com   时间:2004年9月11日 4:56   阅读4023
 

SQL Server CE 2.0的全名是SQL Server 2000 Windows CE Edition version 2.0。2002年秋天就有了,那时候也正好是.NET Compact Framework刚刚出来的时候。那时候就想研究研究,但因为实际需求太少、没有人问问题、没人有做项目,所以就一直扔着。

不过随着Pocket PC/Windows Mobile越来越被人熟悉,一些实际需求也就带动出来了。典型的需求是Field Service。现在很多Field Service仍然是依赖纸张,做不到全部电子化。

例子1:公司派人去仓库验货、点货,可以把清单同步到Pocket PC上,然后在仓库里面直接在PPC上面update,回到公司一同步就可以了。否则按照原先做法,需要先打印一张清单,回来以后再录入一遍。

例子2:联想派人上门来修电脑,以前总是带着一张打印出来的派工单,维修晚了以后维修的人填写维修记录,然后让客户签字。这样做,一则是纸质派工单的档案管理很麻烦,二则维修记录等停留在纸上,如果想用作知识管理、Business Intelligence等更多分析用途,还需要再找人输入。如果能把派工单同步到Pocket PC里面,在现场直接填写记录以及让客户签字,回来一下子同步到服务器上,就方便多了。

所以,前两天下定决心把SQL CE摸了一下,写了一些心得。如果没有摸过SQL CE但也想了解一下,看我这些心得应该可以解决大部分常见的对于SQL CE的问题。

1. SQL CE的架构


 

首先要回答的问题是“SQL CE是什么”。简单的说,SQL CE就是运行在Pocket PC以及其他Windows CE平台上的一个很简化的SQL Server 2000/7.0。之所以说是“简化”的,因为它支持的功能少、数据类型比较少、周边工具也少。除了运行在Device上的部分以外,SQL CE还带了一套开发包(就是Sqlce Data Provider),以及SQL CE Server Tool用来连接服务器上的SQL Server 2000/7.0:

开发时,可以用VS.NET或者eVB/eVC来开发。如果用eVB/eVC开发,就用ADOCE 3.1;如果用.NET开发,就用.NET Compact Framework以及SQL Server CE Data Provider,用法基本上和原先的ADO.NET没啥太大的区别:

运行时,SQL CE的感觉就好像是SQL Server 2000/7.0的一个副本,SQL CE应用程序本身在Pocket PC上会占用1-3MB空间,另外数据回存放在后缀名为.sdf的文件中(和SQL2K中的mdf文件同样的角色)。用户在Pocket PC上做的操作都先发生在SQL CE上,然后再时不时地和SQL Server 2000/7.0同步(Replication)。当然,也可以用RDA(Remote Data Access)的方式,直接让数据操作发生在SQL Server 2000/7.0上。

这里一个有意思的地方是无论用Replication还是RDA,移动设备访问SQL Server 2000/7.0时必须通过IIS进行,不知道这个设计是否考虑了Web Server会放在DMZ里面而SQL会放在Internal的原因:

2. SQL CE的安装


 

如果我没有记错的话,SQL Server CE 2.0是免费的,只要有SQL2K Standard/Enterprise的License,就可以下载安装使用。不过如果做商业开发,最好再核实一下。

有兴趣的可以在http://www.microsoft.com/sql/ce/downloads/ce20.asp下载SQL Server CE 2.0的安装文件,大概40多兆。下载好以后,安装之前还要准备一下这些:VS.NET 2003,SQL Server 2000 SP1 or Higher,IIS。安装的步骤是:

a) 在开发环境上安装SQL CE。

主要是安装Sqlce Data Provider的Assembly,以及后面两步安装需要的安装文件。安装的方法是直接运行下载下来的Setup.exe,一路Next就可以了。需要有VS.NET 2003。安装好以后效果是这样的:

b) 在IIS上安装SQL CE Server Tool,并配置连接SQL Server 2000数据库。

如果SQL Server 2000是SP1或者SP2,这一步可以用C:\Program Files\Microsoft SQL Server CE 2.0\Redist\Server下的文件安装。如果装了SP3,可以到http://www.microsoft.com/sql/ce/downloads/sp3.asp下载安装文件。

安装好了以后要配置IIS和SQL Server 2000之间的连接。配置成这样就可以了:

这一步,如果SQL Server上面没有创建过Publisher,还需要马上创建一个。Snapshot folder等目录的权限最好放宽些,免得将来出错。

c) 最后,在Pocket PC上安装。

其实,这步不需要自己来做。VS.NET 2003在Deploy项目的时候自动会安装的。当然,如果需要手工安装,可以用C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\下的文件安装,其中包括了数据库引擎、Query Analyzer等。我的Pocket PC是iPAQ 1940,系统是中文的PPC 2003,我用的安装文件是那个目录下的wce400\armv4\子目录。其他平台不太清楚。

这些都做完了,SQL CE的安装也就OK了。

3. 移动IBuySpy的实例


 

SQL CE 2.0自带了一些很好的实例,例如IBuySpy Delivery Application。IBuySpy是一个.NET的电子商务网站的demo solution,而这个IBuySpy Delivery Application是在此之上做的一个供销售人员用的移动办公工具。销售可以拿着Pocket PC到处接订单,然后回到公司以后同步到IBuySpy的数据库中。很典型的Field Service。

IBuySpy的安装路径是C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Samples\VB\Pocket PC\IBuySpyDelivery。不难装,一路Next就可以了,有Wizard,安装程序会把服务器上的数据库也Setup好,还会把Client发布到Pocket PC上(发布Client需要VS.NET 2003)。

下面是一些Pocket PC上的Screenshot,没摸过的兄弟看了就有感性认识了:

a) SQL CE在Device上存在形式是一个.sdf文件

b) SQL CE也有Query Analyzer

c) 和SQL Server 2000同步

d) IBuySpy例子提供的一个签名控件真不错,会转换成Bit Array存储在数据库中

上面这些心得,也可以在http://eric.tanqi.com/SQLCE/SQLServerCE.zip下载到,这是一个PPT文件。

很快SQL Server Mobile Edition也要出来了,跟着VS.NET 2005和Yukon一起,应该算是SQL CE 2.0的下一个版本。粗粗看了一眼,好像提供了Synchronization的进度API,这样就可以显示一个同步的进度条了。


http://www.biplip.com/default.aspx?mid=348&ctl=View&ItemId=310

posted @ 2007-08-11 23:41 海天一鸥 阅读(456) | 评论 (0)编辑

SQLite3 COM vs. SQLite COM

SQLite3 COM SQLite3 COM vs. SQLite COM

 

SQLite3的改进:
http://www.newobjects.com/pages/ndl/SQLite3%5Ccomparison23.htm

 

The table lists the most significant features of SQLite3 COM and SQLite COM. It covers both the database engine capabilities, the specific additions and the programming interface. It describes the database features as they are available in the SQLite COM/SQlite3 COM implementations.

Feature SQLite COM SQLite3 COM Comments
Zero configuration Yes Yes Only the file name of the database file must be supplied. Any other parameters are optional and can be specified at run-time.
COM interface integrated integrated The database engine and the COM interface are in single DLL. Note that AXPack1 core is still needed because the output from queries is packed in AXPack1 objects. This may sound as added footprint, but in the reality the benefit of using common objects for database communication and other tasks enables the applications to perform very complex tasks with little code. 
In-memory database Yes Yes Opening with empty file name opens a full featured in-memory SQL database.. 
SQL support SQL 92 SQL 92 Not all the features are supported. See the SQL reference for the both components for details.
Sub-queries static full support The sub-queries are one of the most powerful mechanisms in SQL. Static means that the sub-query is executed once and used for each iteration of the outer query. The full support allows the sub-query to refer fields from the outer query. 
Query parameters No support, You need a StringUtilities object to overcome this.  Named and by position. In SQLite COM you can parameterize queries only by using the string formatting functionality supplied by the StringUtilities object.
In SQLite3 COM you have methods like VExecute, CExecute and AExecute. They allow you put parameters in the executed queries (for example using ? or $<name>) and pass values for them as trailing arguments (VExecute), as collection (CExecute) or as array (AExecute). You can pass any kind of value including binary (blob). 
Session parameters None Scalar and object parameters supported. The SQLite3 COM's Parameters collection enables the application to set named parameters (values or objects) that can be used in any query executed with this database object. This includes not only directly executed queries, but also views and triggers. The session parameters are accessible through the Parameter database function. Any method or property on obj