MrYang's Blog

星期二, 五月 23, 2006

第一次使用Adobe Premiere Pro

  成果鉴定时需要一个演示录像片,这个任务交给了我,重来没有做过视频剪辑,今天去遇到了,为了完成这个任务,花了我一天和一个晚上。
  最开始想到的办法是使用Microsoft 的 Movie Maker,下载安装后开始使用,还不错,非常简单,也很容易上手,但是却在我的机器上频繁出现致命错误,不能顺利的完成剪辑。没办法,只有使用Adobe Premiere这个比较专业的工具了。
  好不容易找到一个可以下载的,下载后安装完毕,再打开程序时去出现不能完成编辑的错误,再换台机器,还是这样的错误,最后只有重新找了一台机器,重新安装了WinXP,然后再安装了Adobe Premiere Pro 1.5,这回好了,终于可以用了。
  打开程序,终于看到界面了,虽然以前没有用过,但是凭着以前使用Adobe的其它产品的经验,感觉还是比较容易上手,经过一个晚上的努力,终于搞定了,虽然有点粗燥。
  不过在最后将视频导出的时候还是范了个大的错误,最开始用的是文件里的导出为电影,结果发现需要10多个小时,而且经过几分钟后提示磁盘空间不够,13 分钟的视频,而且还是导出到有35GB的硬盘上的,还不够,后来才发现这种导出的时电影格式,没有经过压缩,于是只有重新来过,再倒出菜单里发现了它自带的编码器,经过几番折腾,终于使用这个编码器把视频导出为RMVB的格式。不管怎么样,在凌晨3点钟的时候,还是把它搞定了。

星期三, 五月 17, 2006

Linux下安装VMware手记

由于项目需要,要在Linux下虚拟一个Windows,经过查找些资料,发现可一用VMware来实现,当然还有其他一些虚拟机可以使用如Win4lin,bochs等,但经过试用,只有VMware还好用.以下就是安装的步骤.
首先到https://www.vmware.com/ 下载最新的安装包,比如VMware-workstation-4.0.5-6030.tar.gz,假设放在“/tmp"下.然后使用下面的命令解压后安装.
1、tar –zxvf VMware-workstation-4.0.5-6030.tar.gz
2、cd ./vmware-distrib
3、./vmware-install.pl
下面按照提示选择就可以了,如果没有特殊要求,直接回车即可.
4、安装完启动VM,提示符下输入命令:vmware,或者按照提示输入就可以起动,就可以看到VMware的界面了.

如果是用rpm包安装:
1、rpm -ivh VMware-workstation-4.0.5-6030.i386.rpm
Preparing... ########################################### [100%]
1:VMwareWorkstation ###########################################[100%]
2、安装完现用下面命令启动:vmware &
3、提示要配置vmware-install.pl,仔细查看“vmware-install.pl”他的位置,并进入他的文件夹,用命令./vmware-install.pl,进行配置,根据提示做就行。
4、完成之后就可以用命令:“vmware”启动了。

起动后就可以添加的你自己的虚拟机了,我这里添加的windows 2000 prwfessnal,把虚拟机的CDROM设置成光驱,就可以从光盘安装操作系统了.
当然这里有很关键的一步,就是先到VMware的网站申请30天试用的序列号,在打开虚拟机之前要输入注册号,否则没办法Pow on。
ok,现在你可以施用了.

星期五, 五月 12, 2006

将Resin集成到IIS中

  Resin是一个小巧、开源的JSP解析器,对于写JSP程序的调是一个非常好的工具,比起Tomcat等其他的配置复杂的工具,这个工具显得简单,且容易上手,不需要任何的配置,也很难会出现一些莫名其妙的错误。
  Resin下载地址:http://www.caucho.com/download/index.xtp,下载后解压后就可以用了,不需要安装,使用之前需要先安装jkd,使用时只需要运行目录下的httpd.exe,就可以了,可以通过http://127.0.0.1:8080/测试,如果看到Resin的欢迎页就表明成功了,要解析自己的JSP程序,只需要将你的JSP程序拷贝到webapps目录下就可以了。
  Resin还可以和IIS、Apache等Web服务器集成到一起,方便程序调试,这里就介绍如何将Resin和IIS集成到一起。


  集成步骤如下:
  1、设置环境变量
RESIN_HOME=C:\resin-3.0

  2、运行Resin目录下的setup.exe进行集成配置。如图:

  这个过程需要拷贝文件,将C:\resin-pro-3.0.18\win32\isapi_srun.dll文件拷贝到C:\Inetpub\Scripts,如果setup.exe拷贝文件没有成功,则可以手动拷贝。
  3、配置resin.conf文件


  4、测试JSP程序
  以上三个步骤配置完成后就可以进行测试了,首先要运行Resin,直接点击Resin目录下的httpd.exe即可。
  新建一个文本文件,内容如下:
hello,this is my first jsp web page! 2 + 2 * 2 = <%= 2 + 2 * 2 %>
  将这个文件保存为test.jsp,且保存到webapps/JSPTest目录下,然后通过http://127.0.0.1/test.jsp就可以了。

  效果如下:

星期四, 五月 04, 2006

一个页面日历

  找到一个页面的js选择日历,简单修改了一下,正好可以用在财务处的程序中,感觉还不错,效果如图所示:
  使用方法:将js文件date.js存放到程序的inc目录下,然后在页面中引入该js文件,还需要两个图片文件,分别为calendar.gif和close.gif文件,存放于images目录下,然后就可以使用下面的页面调用代码了。
调用代码:

< script language="javascript" src="inc/date.js">< /script>
< form method="post" action="" id="form2" name="form2">
< input type="text" name="showdate" value="2006-05-04" size="10" id="showdate" readonly="true">
< img align="absmiddle" alt="日期选择" border="0" id="daysOfMonthPos" name="daysOfMonthPos" onmouseup="toggleDatePicker('daysOfMonth','form2.showdate')" src="images/calendar.gif" />
< div id="daysOfMonth" style="position: absolute">< /div>
< /form>
< /span>

点击下载

星期一, 五月 01, 2006

Ajax牛刀小试

  今天是五一,劳动人民的节日,但是我这个劳动人民仍然呆在实验室,继续在代码中游荡。
  前些天看了看Ajax,正好,在正在写的程序中用得着,马上拿过来试试,效果还不错。
uploads/200605/01_145457_ajaxtest1.gif
  要完成的功能如下:在输入了职工的工号后,马上显示出该职工的一些基本信息。如图所示,在文本框“employeeid”输入工号,在层"showresult"处显示职工基本信息。 
  在以前的处理中我是将“showresult”处用了一个Iframe来实现,当然也可以实现,但是每次当输完工号后,显示职工基本信息的页面都要加载一次,很是麻烦,正好Ajax可以解决此类问题,就用上了。下面就是具体的代码:

输入页面的Ajax代码:

< script language="javascript">
//ajax start
var xmlHttp;
function createXMLHttpRequest() {
xmlHttp = false;
if(window.XMLHttpRequest) { //Mozilla
xmlHttp = new XMLHttpRequest();
if (xmlHttp.overrideMimeType) {
xmlHttp.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!xmlHttp) { // 异常
window.alert("不能创建XMLHttpRequest 对象实例.");
return false;
}

}
function processRequest() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
document.getElementById("showresult").innerHTML = xmlHttp.responseText;
} else {
alert("您所请求的页面有异常。");
}
}
}

function startRequest(strurl){
createXMLHttpRequest();
xmlHttp.onreadystatechange = processRequest;
xmlHttp.open("Get", strurl, true);
xmlHttp.send(null);
}
function showemployeeinfo() {
var employeeid=document.form1.employeeid.value;
var temstr="showmsg.asp?employeeid=" + employeeid;
document.getElementById("showresult").parentNode.style.display = "";
document.getElementById("showresult").innerHTML = "正在读取数据..."
startRequest(temstr);
}


数据录入部分的HTML代码:

< form id="form1" name="form1" method="post" action="">
工号:< input name="employeeid" type="text" id="employeeid" size="6" maxlength="8" onblur="javascript:showemployeeinfo();" />
姓名:< input name="employeename" type="text" id="employeename" size="8" maxlength="8" onblur="javascript:showemployeeinfo();" />
< input type="submit" name="Submit" value="提交" />
< /form>

< div id="showresult">< /div>


数据处理程序showmsg.asp的代码:

Response.Charset="gb2312" '避免乱码
EmployeeID=Request.Querystring("employeeid")
'这里省略了数据库查询的代码,将职工信息给strEmployeeInfo,然后输出就可以了
strEmployeeInfo strEmployeeInfo = "职工信息"
Response.Write strEmployeeInfo

一个公共的Ajax调用代码

  在很多页面中都可能会用到同样的Ajax初始化代码,因此,可以把这部分公共的代码写到一个js文件中, 在某个页面需要调用时,直接调用这个文件就可以了,就不要在每个页面中都加入一段Ajax的初始化代码。这段公用代码如下:

var xmlHttp;
function createXMLHttpRequest() {
xmlHttp = false;
if(window.XMLHttpRequest) { //Mozilla
xmlHttp = new XMLHttpRequest();
if (xmlHttp.overrideMimeType) {
xmlHttp.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!xmlHttp) { // 异常
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}

}
function processRequest() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
document.getElementById("showresult").innerHTML = xmlHttp.responseText;
} else {
alert("您所请求的页面有异常。");
}
}
}

function startRequest(strurl){
createXMLHttpRequest();
xmlHttp.onreadystatechange = processRequest;
xmlHttp.open("Get", strurl, true);
xmlHttp.send(null);
}


  可以将这段代码存为ajaxcommon.js文件,在页
中需要使用时在标签中引入就可以了,代码如下:

< language="JavaScript" type="text/javascript" src="js/ajaxcommon.js">< /script>


在使用的页面中用下面的方法来调用:

function resultshow() {
var temstr="showmsg.asp";
document.getElementById("showresult").parentNode.style.display = "";
document.getElementById("showresult").innerHTML = "正在读取数据...";
startRequest(temstr);
}