notEnded (QQ550759049)

记录工作中的点点滴滴...

一、文件读/写

  在文件被打开或新创建后,才能使用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