记录工作中的点点滴滴...
一、文件读/写
在文件被打开或新创建后,才能使用TextStream对象进行文件的读/写操作。TextStream对象与读/写文件有关的方法见下表。
方 法描 述Read(n)从文件中读取n个字符并返回得到的字符串ReadLine从文件中读一行(不包括换行符)并返回得到的字符串ReadAll读取整个的TextStream文件并返回得到的字符串Write(string)将字符串string写入文件中WriteLine(string)将字符串string写入文件并在行尾加上换行符WriteBlankLines(n)将n个换行符写入文件
【例】创建一个文件并写入一些信息,然后再将信息读出显示在消息框中,运行结果如下图所示。
图 文件的读写方法
程序代码如下:
Private Sub Command1_Click()
Dim fso, fo, tso, sString
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile "c:\testfile.txt" ' 创建一个文件
Set fo = fso.GetFile("c:\testfile.txt") ' 获得一个File对象的文件句柄
Set tso = fo.OpenAsTextStream(ForWriting) ' 创建TextStream对象用于写
' 在文件中写一个字符串
tso.Write "用TextStream 对象的Write、Read方法,演示文件的读写操作"
tso.Close
Set tso = fo.OpenAsTextStream()
sString = tso.ReadLine ' 读一行
tso.Close
MsgBox sString ' 显示读出的信息
End Sub
二、关闭文件
关闭由TextStream对象打开的文件
http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/win32/Dreamweaver_11_5_LS3.exe
http://trials2.adobe.com/AdobeProducts/FLPR/11_5/win32/FlashPro_11_5_LS3.exe
http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS3.exe
http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS3.exe
做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同。这就需要我们程序员去兼容他们
下面是兼容IE和FF的js脚本做法和分解(部分选自网上,经本人整理),希望对大家有帮助。
/*以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox */
//window.event
IE:有window.event对象
FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)
解决方法:var event = event || window.event;
example:
<script>
function test(event) {
var event = event || window.event;
//do Something
}
</script>
<input type="button" value="click" onclick="test(event)"/>
//鼠标当前坐标
IE:event.x和event.y。
FF:event.pageX和event.pageY。
通用:两者都有event.clientX和event.clientY属性。
//鼠标当前坐标(加上滚动条滚过的距离)
IE:event.offsetX和event.offsetY。
FF:event.layerX和event.layerY。
解决方法:
<script>
function test(event) {
var event = event || window.event;
//or var event = event ? event : window.event;//这2中都可以,也可以用if else(这简写)
var x = event.offsetX || event.layerX;
var y = event.offsetY || event.layerY;
//do Something
}
1.开启THEMES服务:运行-services.msc -找到Themes服务项,默认是禁用,改为自动。
2.运行服务器管理器:左窗口选择功能-右边点“添加功能”在弹出的“添加功能向导”窗口中拖到最下面,倒数第二项“桌面体验”勾选即进行安装。
3.等安装完毕重启后进入控制面板-个性化-WINDOWS颜色和外观-选择AREO或者WINDOWS VISTA 基本颜色方案即可。
4.在Windows颜色和外观中,(可能需要点击“打开传统风格的外观属性获得更多的颜色选项”)外观设置-颜色方案 选择Windows Aero。
5.如果想启运半透明效果,则需要进入控制面板-个性化-WINDOWS颜色和外观-选中“启用透明效果”。
PS:AREO透明效果得显卡支持才会有相应的颜色方案。
Win2008 中放了一些图片,本来以为可以象Win7那样直接用“照片查看器”打开,可是Win2008默认竟然是用“画图”打开的,非常不方便。
再仔细一看,“照片查看器”是灰色的,图标都没显示出来。看来,原因在于Win2008默认情况下没有启用“照片查看器”。
进入“服务器管理器”,在左边的树状列表中选择“功能”,然后“添加功能”。
为了安装“桌面体验”,必须添加一些必需的功能。
确认安装。
安装完成之后,一定要重启。
启用了“桌面体验”,还会增加不少的附加功能。例如,“附件”里的“系统工具”多出了2个:“磁盘清理”、“字符映射表”。如下图的右边部分所示。
function contains(parentNode, childNode) {
if (parentNode.contains) {
return parentNode != childNode && parentNode.contains(childNode);
} else {
return !!(parentNode.compareDocumentPosition(childNode) & 16);
}
}
function checkHover(e,target){
if (getEvent(e).type=="mouseover") {
return !contains(target,getEvent(e).relatedTarget||getEvent(e).fromElement) && !((getEvent(e).relatedTarget||getEvent(e).fromElement)===target);
} else {
return !contains(target,getEvent(e).relatedTarget||getEvent(e).toElement) && !((getEvent(e).relatedTarget||getEvent(e).toElement)===target);
}
}
function getEvent(e){
return e||window.event;
}
引用:
myElement.onmouseover=function(e){ if(checkHover(e,this)){ do someting... } }
myElement.onmouseout=function(e){ if(checkHover(e,this)){ do someting... } }
前阵子为BS项目模板做了一个左侧滑动信息栏,效果类似于windows状态栏的自动隐藏效果,鼠标移进滑出,鼠标移出隐藏,浮动时不占用空间,也可以固定住占一块位置。做的过程中遇到一个问题,鼠标在信息栏内部移动时会触发onMouseOut事件,信息栏放在div中,内部有table、img、a等元素,看来是由于事件冒泡,子元素上触发了事件冒泡到了父元素,导致滑动时不断闪动,头晕眼花,于是着手解决问题。
在IE下解决问题很简单,用onMouseEnter、onMouseLeave来代替onMouseOver、onMouseOut就行了,他们的作用基本相同,前者不会发生冒泡。但是firefox下没有这两个事件,公司BS项目模板要同时兼容IE和firefox,没办法,只能再找别的方法(多浏览器分天下的年代,解决问题总是没那么简单......(/_\)!)
有一个在IE和firefox下都行得通的解决思路,通过判断触发onMouseOut事件后鼠标到达的元素是不是包含在父元素(信息栏Div)内,如果是就表示鼠标还在信息栏上,则不隐藏,如果否就表示鼠标真的移出了信息栏,那么信息栏隐藏,思路有了,那么就一步步来解决问题
首先来获取触发onMouseOut事件的元素,IE下event的属性toElement来获得,在firefox下变成了relatedTarget(很是折腾!)
IE:event.toElement Firefox:event.relatedTarget(注意Firefox下event须要调用函数
js的onmouseout有很奇怪的一个问题。例如
<div onmouseout="alert(123)">
<a href="#">test</a>
</div>
我们预期只有当鼠标从div中移开的时候才会触发onmouseout事件,可是,事实上,当我们移到div中的元素时,例如本例中的a标签时,就 会触发onmousout事件。也就是说,移到对象的子对象上,也算onmouseout了。这往往会让我们预期的效果达不到。今天的工作就遇到了这个问 题。在blueidea上搜了一下,找了解决办法。兼容IE和FF。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>阿当制作</title>
</head>
<body>
<script type="text/javascript">
function test(obj, e) {
if (e.currentTarget) {
if (e.relatedTarget != obj) {
if (obj != e.relatedTarget.parentNode) {
alert(1);
}
}
} else {
if (e.toElement != obj) {
if (obj != e.toElement.parentNode) {
alert(1);
}
}
}
}
</script>
<div onmouseout="test(this, event)" style="width