发信人: ywqszf()
整理人: eagle(2000-12-24 10:24:37), 站内信件
|
1......CGI数据库的选择
2......用PHP制作自己的计数器
3......Dreamweaver3完全教程(十九)
【新新武器】
1......Flash5第一次亲密接触
【新手上路】
1......个人站点提高访问量谋略
【理论学苑】
1......用VB编写FLASH动画播放器
.-~~~-.
/ }
/ .-~
\ | }
___\.~~-.-~| . -~_
{ O | ` .-~. ; ~-.__
~--~/-|_\| : : .-~
/ | \~ - - ~
/ | \
将网易电子杂志推荐给您的朋友 返回
【经验交流】
1......CGI数据库的选择
作者:顾懿
毫无疑问,当今Web程序设计中最吸引人而且最复杂的当然就是web数
据库程序了。平心而论,其复杂高深的程序决不是你们可以想象的到的。
我们先来看看其中涉及到的几个方面的问题:
1.最基本的html设计
2.CGI程序编写调试
3.网络管理和客户协调
4.数据库编写
5.客户/服务体系程序编写
另外你还得不时地同你的客户进行斗争,以取得他们对你工作的认同。
因此编写一个大型WEB数据库,是综合素质的考验。
笔者自问尚不完全具备以上的能力,但有幸曾参加过几个web数据库的
开发,算是具备了初步的经验吧。这里给大家分享,也算是感谢各位对这
个断断续续的教程的总结吧。
一数据库选择
从一般情况来看,使用web数据库往往是要解决数据的归纳、索引和维
护的问题。我们一般选择最流行的关系型数据库,比如NT下的sql,win95
和nt下的Access,NT下的sybase,unix下的msql等等。当然还有Oracle、FileMa kerPRO、Paradox等等。这些都是很流行的Sql数据库。Sql给数据
管理提供了一个标准而坚实的接口,它对数据库操作饿所有函数必需在数据
库语言中实现。这种函数包括:数据对象的创建、插入数据和数据修改等。
对于数据量不大的小型数据库,一般使用access。
二接口程序
虽然我们可以直接编写WEB的CGI接口,但是那是工作量巨大且麻烦异
常的工作。为了减轻开发者的负担,数据库程序员为我们编写了许多可以
直接使用的接口程序,配合不同的数据库。下面就是一些十分常用的接口
程序:
1. DB2WWW
http://www.software.ibm.com/data/db2/db2wfac2.html
这是一个用于和IBM DB2数据库进行连接的工具。在HTTP服务器中,
这种工具将HTML文件和SQL命令作为宏文件存储,然后,DB2WWW在接受到
浏览器请求后就处理这些宏文件。
2. dbCGI
http://www.progress.com/webtools.html
这个工具通过在html文件中内置SQL语句来实现和数据库的连接。适
用于Progress,Sybase,Oracle,Informix,Ingres和ODBC。下面是一个
典型的dbCGI程序代码:
<title>dbCGI test</title>
<sql init>
INFORMIXDIR=/usr/informixdir
SQLEXEC=/usr/informix/sqlturbo
TBCONFIG=tbconfig
</sql>
<sql connect connl>
<DATABASE=stores>
<sql>
<sql format>
% [! 8:<h1>%8d</h1>%]
....
</sql>
<sql query connl>
selet *
from customer
order by date,city,zipcode
</sql>
<sql disconect connl>
</sql>
<sql uninit>
</sql>
这个工具通过<sql>标签和%转意字符来把sql语句放置在html语句内。
3 Genera
http://gdbdoc.gdb.org/letovsky/genera/general.html
这个是sybase数据库系统的网关。它通过在文本文件中加入特定的
语句来和数据库进行连接。
4 WebDBC
http://www.ndev.com
以windows NT为平台,可以访问所有对odbc兼容的数据库。
5 A-Xorion
http://www.clark.net/infouser/endidc.html
他是一个CGI网关,它可以访问大多数的PC机数据库。它以
Windows3.1/95/NT为平台。数据库为Ms Access2.0。
三编程语言
上面介绍的是一些常用的接口程序,它们需要Server的配合才能正常
工作。当然如果是很小的数据库程序,不需要使用如此复杂的数据库接口
程序。用C,Perl,VB等等,写成CGI程序,在CGI程序内调用数据库。虽然速
度方面不是很快,但绝对是非常简单的。
将网易电子杂志推荐给您的朋友 返回
2......用PHP制作自己的计数器
Linux一千零一Yea
用PHP来实现计数器很简单,计数器的实现分为两个阶段:一是实现
计数;二是实现数字的显示;而在实现计数时又有两种方式:一是基于文件
的计数方式;二是基于数据库的计数方式。而在实现数字的显示也有两种方
式:一是普通的文本显示;二是图形方式显示。下面就将这四种情况作一介
绍:
一、计数
1.基于文件的计数
在这种方式下,用一个文件来存放访问数,这要求有一个权限至少为007
的目录,这样httpd进程才能创建及写文件,你可以在你自己所拥有的目录
中新建一个子目录,比如:visit_log,将其权限改为777。下面就是实现
以文件计数的代码:
<?
if(!file_exists("visit_log/counter.txt")){
$fp=fopen("visit_log/counter.txt","w");
fwrite($fp,"000001"); //这里假设最大为6位,你可以根据需要修改
$counter="000001";
fclose($fp);
} //检查counter.txt文件是否存在,如果不存在则新建一个文件,并且写入“ 00001”。
else{
$fp=fopen("visit_log/counter.txt","r");
$counter=fread($fp,6);
//-----------------------------
$counter+=1;
//-----------------------------
fclose($fp);
switch(strlen($counter)){ //将counter变量格式化,这样显得美观
case 1:
$counter="00000".$counter;
break;
case 2:
$counter="0000".$counter;
break;
case 3:
$counter="000".$counter;
break;
case 4:
$counter="00".$counter;
break;
case 5:
$counter="0".$counter;
break;
}
$fp=fopen("visit_log/counter.txt","w");
fwrite($fp,$counter);
fclose($fp);
}
?>
以上代码就是基于文件计数的,不知道你有没有发现一个问题,即只
要有人访问该页,无论他是刷新还是从你的网站的其它页跳转到该页,就
会使数值加1,从而使主页计数失去了真实性。那么,这又怎么办呢?其实,
有一个很简单的办法,即在返回到首页的链接上加上一个参数visited=1,
比如:index.php?visited=1,在计数之前首先检查visited变量是否已赋
值,若未赋值,计数器加1。当然,我们需要修改上面标注“---------------”
的代码:
:
if(empty($visited)){
$counter+=1;
}用PHP来实现计数器很简单,计数器的实现分为两个阶段:一是实现计数;
二是实现数字的显示;而在实现计数时又有两种方式:一是基于文件的计
数方式;二是基于数据库的计数方式。而在实现数字的显示也有两种方式
:一是普通的文本显示;二是图形方式显示。下面就将这四种情况作一介
绍:
一、计数
1.基于文件的计数
在这种方式下,用一个文件来存放访问数,这要求有一个权限至少为007
的目录,这样httpd进程才能创建及写文件,你可以在你自己所拥有的目录
中新建一个子目录,比如:visit_log,将其权限改为777。下面就是实现
以文件计数的代码:
<?
if(!file_exists("visit_log/counter.txt")){
$fp=fopen("visit_log/counter.txt","w");
fwrite($fp,"000001"); //这里假设最大为6位,你可以根据需要修改
$counter="000001";
fclose($fp);
} //检查counter.txt文件是否存在,如果不存在则新建一个文件,并
且写入“00001”。
else{
$fp=fopen("visit_log/counter.txt","r");
$counter=fread($fp,6);
//-----------------------------
$counter+=1;
//-----------------------------
fclose($fp);
switch(strlen($counter)){ //将counter变量格式化,这样显得美观
case 1:
$counter="00000".$counter;
break;
case 2:
$counter="0000".$counter;
break;
case 3:
$counter="000".$counter;
break;
case 4:
$counter="00".$counter;
break;
case 5:
$counter="0".$counter;
break;
}
$fp=fopen("visit_log/counter.txt","w");
fwrite($fp,$counter);
fclose($fp);
}
?>
以上代码就是基于文件计数的,不知道你有没有发现一个问题,即只
要有人访问该页,无论他是刷新还是从你的网站的其它页跳转到该页,就
会使数值加1,从而使主页计数失去了真实性。那么,这又怎么办呢?其实,
有一个很简单的办法,即在返回到首页的链接上加上一个参数visited=1,
比如:index.php?visited=1,在计数之前首先检查visited变量是否已赋
值,若未赋值,计数器加1。当然,我们需要修改上面标注“---------------”
的代码:
if(empty($visited)){
$counter+=1;
}
2.基于数据库的计数
我在这里选择的数据库是MySQL。我们首先要建一个数据库visit_log,
然后在该数据库中建立一个表visit_counter,为了实现基本的计数功能,
仅需要一个字段即可amount。操作如下:
(1)建立数据库visit_log
mysqladmin create visit_log–u root–p
正确输入root的密码后就可以建立visit_log数据库了。
(2)建立表visit_counter
mysql visit_log –u root –p
mysql>create table visit_counter (amount int(6));
mysql>insert into visit_counter(amount) values(0);
以下就是实现以数据计数的代码:
<?
$cn=mysql_connect("localhost","root","******");
mysql_select_db("visit_log",$cn);
$sql="select * from visit_counter";
$result=mysql_query($sql,$cn);
$record=mysql_fetch_array($result);
if(empty($visited)){
$counter=$record["amount"]+1;
$sql="update visit_counter set amount=$counter";
$result=mysql_query($sql,$cn);
}
mysql_close($cn);
switch(strlen($counter)){ //将counter变量格式化
case 1:
$counter="00000".$counter;
break;
case 2:
$counter="0000".$counter;
break;
case 3:
$counter="000".$counter;
break;
case 4:
$counter="00".$counter;
break;
case 5:
$counter="0".$counter;
break;
}?>
以上代码我就不多说了,都是MySQL的基本操作,实在不会到本站的
“参考手册”下载一些关于MySQL的资料。
以上用两种方法实现了计数功能,细心的网友可能看出counter变量好
像没有用处。其实它就是我们用来显示的变量。
二、计数的显示
1.文本显示
文本显示很简单,只要在想显示的地方插入以下代码:
<?echo $counter;?>
当然,你可以增加改变其色彩等等。文本显示的一个优
点就是加快下载时间,缺点是不够活泼。
2.图形显示
要使图形显示,上面的代码就不能和包含HTML编码的文件放在一起,
这时我们可以另建一个文件叫showcounter.php,其代码如下:
<?
$cn=mysql_connect("localhost","root","******");
mysql_select_db("visit_log",$cn);
$sql="select * from visit_counter";
$result=mysql_query($sql,$cn);
$record=mysql_fetch_array($result);
if(empty($visited)){
$counter=$record["amount"]+1;
$sql="update visit_counter set amount=$counter";
$result=mysql_query($sql,$cn);
}
mysql_close($cn);
switch(strlen($counter)){ //将counter变量格式化
case 1:
$counter="00000".$counter;
break;
case 2:
$counter="0000".$counter;
break;
case 3:
$counter="000".$counter;
break;
case 4:
$counter="00".$counter;
break;
case 5:
$counter="0".$counter;
break;
}
Header("Content-type: image/gif");
$pic=imagecreate(50,17); //创建图像
$bkcolor=ImageColorAllocate($pic,0,0,0); //定义背景色
$fcolor=ImageColorAllocate($pic,0,255,0); //定义字体颜色
imageline($pic,0,0,50,17,$bkcolor);
imagestring($pic,3,1,1,$counter,$fcolor);
ImageGif($pic);
ImageDestroy($pic);
?>
接着,在你想使用计数器的地方插入:<img src="showcounter.php"
border=0>即可。要注意的是你的PHP中必需安装GD库才能创建图形。
利用数据库你可以写出一个功能强大的计数系统。比如,记录每一天
的访问量、记录每一用户的访问次数等等。
将网易电子杂志推荐给您的朋友 返回
3......Dreamweaver3完全教程(十九)
在文档窗口中选择元素
通常,在文档窗口中,要选择某个元素,只需要单击它,或是拖动鼠
标选中它就可以了,但是实际应用中,有些元素在屏幕上是不可见(例如
源代码中的注释信息)的,而另外一些元素则很难完全选中(例如一对完
整的标记,它在屏幕上也是看不见的),这时就需要使用一些其他的手段
。
一般来说,在文档窗口中选择元素时,可以参考如下的方法:
如果要选中的是普通对象或元素,只需要单击它,或是拖动鼠标选中
它。
如果要选中的是看不见的元素,可以通过Dreamweaver 3的参数设置对
话框,设置相应的选项,将这些不可见元素显示,然后再选中它们。
如果要选中的是标记,可以利用文档窗口下方的标记选择器来选中它
们,利用“Edit”菜单中的相关菜单项,还可以选中当前标记的父标记或
第一个子标记。
本节主要介绍如何在文档窗口中显示不可见元素。
不可见元素文档窗口毕竟是可视化操作的窗口,很多实际上在源代码
中出现的内容,并不会在文档窗口中直接显示,如果希望对这些不可见元
素进行编辑,就不得不转到代码级别的编辑器,如HTML源代码检视器中进
行。
为了解决这种问题,Dreamweaver可以在文档窗口中,将每种不同类型
的不可见元素以一个小图标的形式显示出来,以便于用户在文档窗口中对
之定位。实际上,在默认设置下,大多数的不可见元素都可以以图标的方
式在文档窗口中显示。
定制不可见元素的显示
有时候需要定制这些显示设置,例如,对于某些始终不会被编辑的不
可见元素,可以设置它不在文档窗口中显示,以免影响视觉,而另外一些
在编辑过程中要用到的不可见元素,则应该设置它在文档窗口中可显示。
您可以按照如下方法进行操作:
打开“Edit”(编辑)菜单,选择“Preferences”(参数选择)命令,
打开Dreamweaver 3的参数选择对话框。
在左方目录列表中单击“Invisible Elements”(不可见元素)项,
在对话框右方区域即可进行设置。
选中相应复选框,则可以以相应图标显示该不可见元素,清除相应复
选框,则不显示该元素(但是,可以在HTML源代码检视器中进行编辑)。
显示不可见元素前面一节的相关操作,决定了哪些不可见元素可以显
示,而哪些不可见元素不可以显示,实际上,要在文档窗口中显示不可见
元素,还需要激活Dreamweaver显示不可见元素的特性,方法如下:
打开“View”(查看)菜单,选择“Invisible Elements”(不可见
元素)命令,当它被选中时,左方会出现选中的标记,这时即激活了Dreamweave r
的显示不可见元素特性,不可见元素可以出现在文档窗口中。
再次打开“View”(查看)菜单,选择“Invisible Elements”(不
可见元素)命令,清除对该菜单项的选择,则所有的不可见元素都不会显
示在文档窗口中。
显示头部元素
在文档窗口中,主要显示的是正文部分的内容,也即位于<body>和</body>
中的内容(我们暂时不考虑框架的情况),很多不可见元素实际上是位于HTML
的头部的,也即位于<head>和</head>标记之间,如果希望看到这些头部内
容,则可以按照如下方法进行操作:
打开“View”(查看)菜单,选择“Head Content”(头部内容)命
令,当该菜单项被选中时,会在左方出现选中标记。这时在Dreamweaver的
文档窗口上方中会多出一栏,其中显示头部内容,如图3-11所示。
再次打开“View”(查看)菜单,选择“Head Content”(头部内容)
命令,清除对该项的选中,则又可以从文档窗口中隐藏头部信息。
在默认状态下,在文档的头部窗格中我们可以看到两个不可见元素标
记,一个是文档的标题,也就是位于<title>和</title>之间的文本,另一
个是META标记,定义当前文档的文字解码方式。
设置文档的页面属性
文档的页面属性包括文档的标题、文档的文字解码方式、文档正文中
各个元素的颜色等,正确设置文档属性,是成功编写网页的必要前提。
要设置文档的页面属性,您可以按照如下方法进行操作:
打开“Modify”(修改)菜单,选择“Page Properties”(页面属性),
或是在文档窗口中单击鼠标右键,然后从快捷菜单中选择“Page Properties”
(页面属性)。
这时会打开对话框,允许您设置文档页面的整体属性。
Title(标题)在该文本框中,可以输入文档的页面标题,它实际上是
输入位于HTML头部的<title>和</title>标记之间的内容,在浏览页面时,
会显示在浏览器的标题栏上。
Background Image(背景图像)在该文本框中,可以输入希望用作HTML
文档的背景图像的路径和文件名称,单击“Browse”(浏览)按钮,可以
从磁盘上选择图像文件。这里不仅可以输入本地图像文件的路径和文件名
称,也可以用URL的形式输入其他位置的图像名称。实际上,这里设置的是<body >
标记的background属性。
Background(背景)在这里可以为文档页面指定背景颜色。实际上设
置的是<body>标记的bgcolor属性。
Text(文本)这里可以设置文档页面中文字的前景颜色,实际上设置
的是<body>标记的text属性。
Links(链接)这里可以设置文档页面中尚未访问过的超级链接的文字
颜色,实际上设置的是<body>标记的link属性。
Visited Links(访问过的链接)这里可以设置文档页面中已经访问过
的超级链接的文字颜色,实际上设置的是<body>标记的vlink属性。
Active Links(正在访问的链接)这里可以设置文档页面中正在访问
的超级链接的文字颜色,实际上设置的是<body>标记的alink属性。
Left Margin(左边距)、Top Margin(上边距)、Margin Width(页
边宽度)和Margin Height(页边高度)在这些文本框中,可以设置页面文
字同页面边缘的间距。实际上分别设置的是<body>标记的leftmargin、topmargi n、marginwidth和marginheight属性。但要注意,Netscape可以
识别这些属性,但是InternetExplorer不识别它们,因此不建议使用它们。
Document Encoding(文档解码方式)在该列表框中,可以选择当前文
档页面的文字解码方式,对于大陆使用的中文网页,应该选择“Simplified
Chinese(GB2312)”。如果这里没有需要的解码方式,可以从列表中选
择“Other”,这种情况下,页面会使用浏览器运行环境的解码方式。
Tracing Image(草稿图)在该文本框中,可以指定一幅图像作为网页
创作时的草稿图,它显示在文档的背景上,便于在网页创作时进行定位和
安放对象。在实际生成网页时,它并不显示在网页中,我们会在后面介绍
其使用方法。
Image(图像)拖动该滑块,可以改变草稿图的透明程度,使用适当的
透明程度可以避免干扰网页的编辑。
设置完毕,单击“OK”按钮,确定操作。
前面一章里,我们曾经介绍过如何在Dreamweaver的对话框中通过颜色
板选取颜色,这里再深入介绍一些同颜色相关的知识。
在HTML中,有两种方法来表示颜色,一种是采用十六进制的数值的方
式(例如红色可表示为#FF0000),另一种方式是使用颜色名称(如红色可
写成red)。当计算机运行在256色模式的情况下时,Microsoft Internet
Explorer和Netscape Navigator这两种浏览器都能共同显示的颜色被称作Web
安全(Web-safe)色。有216中颜色是共有的,它们可以用十六进制数值00,33, 66,99,CC,或FF的组合来表示。
然而,经过测试表明,实际上只有212种颜色是真正的安全色,也即它
们真正为Netscape Navigator和Microsoft Internet Explorer这两大浏览
器所共有。Windows下的Internet Explorer不能正确显示颜色#0033FF,#3300FF ,#00FF33,和#33FF00,所以应避免使用这4种颜色。
在Dreamweaver中,所有的颜色拾取器都使用这种212色的调色板;从
调色板上选取一个颜色,会自动提取相应的十六进制颜色值。如果您希望
使用前面提到的那另外4种颜色,可以在颜色文本框中手工输入其颜色值。
要选择位于Web安全色之外范围的颜色,可以单击颜色板右下角的“调
色板”按钮,打开Windows系统本身的颜色对话框,然后选取颜色,在这里
的颜色不受Web安全色的限制。不过我们不建议用户这样做。
注意:在UNIX操作系统下,Netscape Navigator使用同Windows下不同
的调色板,如果您的网页是专为UNIX环境下而设计,则应该使用十六进制
数值00,40,80,BF,或FF来组合成颜色值。
将网易电子杂志推荐给您的朋友 返回
【新新武器】
1......Flash5第一次亲密接触
广大“闪客”们期待已久的Flash5终于最近浮出了水面(鼓掌),真
是千呼万唤始出来。今天中午拿到了令我心仪已久的东东,自然是迫不及
待的要和它亲热一番了。虽然是一个Beta测试版,但是我们已经可以看见
很多Flash5的非凡之处了。总体的感觉它和Flash4有很大的不同。首先在
用户界面上有了很多改进,Flash5采用了Macromedia标准用户界面,如果
熟悉Macromedia的其他产品会感到非常的亲切;其次是在按钮和选项的排
布上有了一些变动,少量熟悉的按钮挪了位置,很多常用的功能有了自己
的快捷按钮;另外在一些小的方面也有一些变化,比如说调色板的选色更
加专业,线条和油漆桶可以分开调色,支持的输入格式更多……总之,我
把Flash5打开后的第一个感觉就是更美观的界面加上更加专业的设置使Flash
从4到5成熟了很多。下面我就将我与Flash5第一次亲密接触的一些体会写
出来和大家共享。
界面的改进
Flash5的界面改进是最明显的地方,也正是这个原因,打开Flash5的
第一眼我就喜欢上它了。左边是工具条和属性窗口这个变化虽然不大,但
是大家如果细心的看一下就会发现绘图工具多了一些。上边的工具条依然
是一些常规的选项,但是比例放大的选单放到了下面,并且增加了一个Text
的菜单。值得一提的是下面一排7个快捷按钮,他们从左到右分别对应着7
个非常有用的功能项,如:Action,Library,Instance,Text,MovieExplorer ……要用的时候就把他们打开,不用了就收起来。很方便,
是不是很像DW的LaunchBar。
绘图功能的变化
绘图功能是Flash5着重增强的地方之一。还记得Flash4那几个简单的
不能再简单的绘图工具曾经给我们带来的尴尬吗?Flash5在这方面有很大
的加强,他采用了贝赛儿绘图工具。我们很明显的可以看到工具栏上的钢
笔和一个空心的箭头,想起什么了吗?呵呵,是不是Illustrator。但是我
们必须承认Flash不是一个专业的矢量图形处理软件,所以它的功能也只能
限于修改。
Flash5的导入功能也是有很激动人心的改进,一共可以导入20种
文件格式。除了Flash4可以导入的所有格式以外,令人兴奋的是她可以直
接导入Mp3和Freehand处理出文件。这样在制作音乐的时候我们再也不用太
费力地先把Mp3转成wav然后再导入压成Mp3输出了;另外在矢量图方面也有
了强大的freehand支持。还有什么说的。
在Flash4中我们对一个大型动画的把握总是很不容易,一不小心
忘掉了元素的路径就只有一步一步的往回找,经常为了找一个放在Movie Clip
中的元素的路径要回去几个层,大大降低了工作效率。这个问题在Flash5
中得到了很好的解决,还记得那个Movieclip Explorer吗?这可是好东东,
他是以场景作为目录树根,然后是层,最后到帧把整个动画的结构用树的
形式表现出来,相当的清楚。而且右键的点击可以从中选取快捷的编辑各
个元素的属性。真的是很爽!
令人激动的编程功能
记得很早就有网友问过Flash5的交互编程功能,这也是笔者最关心的
问题。现在从我拿到的这个版本来看。Flash5中的Action功能已经有了相
当大的增强。Flash5不但增加了很多非常有用的编程语句,如:for……in
循环,break和continue语句……还内置了诸如sin、cos、abs、log……很
多常用的数学函数。并且还自带一个语法检查器和Debugger。特别是那个Debugg er
做得非常好用,他可以随时动态地报告任意一个电影的参数值、电影坐标、
属性变化等非常有用的参数。这下再也不用写很多的textfield去痛苦地监
控了。另外,编程的环境也有很大变化,如图2。左面的窗口就是语句库,
也是以树的形式进行分配的,右面的窗口就是Action显示窗口,下面的空
白条就是用户输入语句参数的地方。
最后值得一提的是,Flash5的鼠标右键功能增强了很多。很多操
作都可以通过大家熟悉的右键点击,左键选择来实现。非常方便。
以上就是初次接触Flash5后给我印象比较深的几个地方。当然Flash5
的诸多新特点也不是这一篇文字能说得完的,如Flash5和Generator的完美
结合,对Xml语言的支持,精致的打印效果,支持Html的嵌入……由于笔者
还没有具体接触到,所以没有写出来。但是我们有理由相信这些功能会给
我们flash制作带来一场新的革命。也许我们真的要从此如Micromedia的广
告那样开始Add live to our web。
将网易电子杂志推荐给您的朋友 返回
【新手上路】
1.......个人站点提高访问量谋略
作者:eEet学院
一.改造你的站点
主页的设计需要一些技术,而更多的是对整个网络的了解,即使你投入
了非常大的精力,但只是获得了失败,这就是现在许多非常优秀的个人主页
还默默无闻的道理。所以我们要努力改造自己的站点,使得它产生更多吸引
力,而这又是提高访问量的关键,不好的站点,没有人会喜欢。当我们在开始
改造自己站点的时候,请回答以下问题:
1.站点的定位是什么?
2.那些人应该是你的访客?
3.你想让别人得到什么?
4.什么会使得访客再次来?
5.站点上有那些会使得访客逗留?
请仔细考虑以上的问题。
我们拥有自己的站点,是因为自己想获得别人的肯定或者寻找某种机遇,
而还有的人只是为了兴趣爱好。不管处于什么目的,你都会把站点规划成某
种类型,比如新闻或者文学,而选择好的类型是站点成功的第一步。
目前有两种类型:第一种,为别人,即提供大多数人喜欢的内容;第二,为
自己,即把自己喜欢的内容提供给别人。而这两种类型中,第一种更容易获
得大家的青睐。
当你定位好自己的站点类型后,就要考虑那些人该是你的访客。其实这
个问题在定位网站类型时,已经作了回答,如果你选择文学类型,那么爱好文
学就会是你的访客,之所以要知道谁是你的访客,是因为在确定了访客喜好
后,可以更有信心去提供合适的内容。
有人说过,要让一万个人访问你的站点,是很容易的,但想让这一万个人
再访问你的站点,就会很难。所以,你要思考,是什么会使得访客再次来。每
天更新,还是内容独特,下面是笔者的经验:
1.华丽的页面
尽量使用最新的WEB技术来设计你的页面。因为即使内容是站点的关键,
但没有好的视觉享受,会使得访客有枯燥无味的感觉,但在使用新技术时,不
要凌驾于访客之上,尽量与每一个人的系统兼容;
2.随时更新
一个长时间不更新的站点,没有人会喜欢,所以,要随时更换站点上的内
容,哪怕只是变化一个图片;
3.有价值的内容
网络上,获取信息变得十分容易,所以如果你的站点能经常提供有价值
的信息,将更能吸引访客,而如果你只是照搬别人的信息,时间长了,就会令
访客感到厌倦;
4.网站速度快
作为个人站点,在选择免费空间服务器时,要选择速度快的,而不是连接
超时了,还没有见到半点动静的服务器;
5.交互的内容
越来越多的访客希望有互动的内容,他们不想只是看,还想动动手,在你
的站点上加点什么,所以,增加一个BBS或者聊天室,这些都会提高站点的流
量。改造站点是提高站点访问量最关键的一步,没有好的站点呈现给访问者,
再做什么也是惘然。
将网易电子杂志推荐给您的朋友 返回
【理论学苑】
1......用VB编写FLASH动画播放器
作者:张智亮
Flash4是MacroMedia公司出品的矢量动画创作专业软件,利用该软件
制作的矢量动画具有文件体积小、带音效和兼容性好等特点。那么,你想
不想在自己编写的程序中加入Flash动画,为自己的程序添加一道亮丽的色
彩呢?
一、编程原理
本程序利用了Flash4本身自带播放Flash动画的控件Swflash.ocx。你
可以通过以下途径获得该控件:1、安装Flash4;2、安装Windows98自带的Flash
插件,方法:依次单击“开始”菜单-“设置”-“控制面板”-“添加/
删除程序”-“Windows安装程序”-“多媒体”-“详细资料”-选中
“Macromedia Shockwave Flash”前的复选框确定即可。以上方法都会将
该控件安装到Windows目录下的System\Macromed\Flash子目录下。
二、示例程序
下面就是一个用Swflash.ocx控件编写的Flash动画播放器。本程序可
一次打开多个Flash动画文件,并可在播放过程中选择播放打开的文件、随
时改变播放质量、画面大小等状态;在播放过程中可以随时对播放的当前
帧数进行调整或者手动进行逐帧播放,在状态栏里有当前播放状态的相关
说明。在实现以上功能时,几乎用全了Swflash.ocx控件的主要属性、方法
。
编程过程如下:
1、窗体、界面设计。
新建工程,选择“工程”菜单下的“部件”命令,在“部件”窗口的
“控件”列表中将“Shockwave flash”、“Microsoft Common Dialog Control 6.0 (SP3)”、“Microsoft Windows Common Control 6.0 (SP3)
”前的复选框选中,然后确定。再在窗体中分别加入1个CommonDialog控件、
1个Slider控件、3个Label控件、6个CommandButton控件和1个Status Bar控件。 其中:
将Form1的“Caption”属性设置为:Flash动画播放器。这是控制窗口。
将CommonDialog1的CancelError设置为True,DialogTitle设置为“打
开Flash动画文件”,Filter属性设置为“Flash动画(*.swf)|*.swf|”,Fi lterIndex设置为1,MaxFileSize设置为10240。
将Slider1的SelectRanger的属性设置为“True”,SmallChange属性
和LargeChange属性设置为10,TickFrequengcy属性设置为20,TextPosition
设置为“1-SldBelowRight”。
将Label(1-3)分别放在Slider1下的左端、中间和右端。其中,Label1
的Caption设置为“0帧”,Label2和Label3的Caption设置为空字符串。
6个CommandButton的“名称”属性分别为:cmdOpen、cmdPlay、cmdPause、 cmdPre、cmdPreFrame、cmdNextFrame、cmdNext、cmdExit,“Caption”
属性分别为:打开、播放、暂停、上一个、上一帧、下一帧、下一个、退出。
在Status Bar上单击鼠标右键,选择“属性”,从弹出的窗口中选择
“窗格”页面,用鼠标点击“插入窗格”5次,在索引1-5中分别设置“文
本”属性为:“共打开了0个文件”、“状态:”、“等待”、“帧数:”、
“0”,再适当设置每一项的“最小宽度”的属性(可参考图1中的比例)。
进入菜单编辑器(按快捷键Ctrl+E)。设置第一个菜单标题为“显示
控制”,名称为:mnuDisplay;在“显示控制”下设立子菜单标题分别为
“全部显示”、“随窗口大小变化”、“缩放至窗口大小”,名称分别为
:mnuDisplay0、mnuDisplay1、mnuDisplay2。设置第二个菜单标题为“质
量控制”,名称为:mnuQuality;在“质量控制”下设立子菜单标题分别
为“低分辨率”、“高分辨率”,名称分别为:mnuQuality0、mnuQuality1
。设置第三个菜单标题为“播放控制”,名称为:mnuPlayControl;在
“播放控制”下设立子菜单标题分别为“循环播放”、“放大画面”、
“缩小画面”,名称分别为:mnuLoopPlay、mnuZoomIn、mnuZoomOut。
选择“工程”菜单下的“添加窗体”命令,新增一个窗体Form2作为播
放窗口。在Form2上加入1个ShockwaveFlash控件和1个Timer控件。将Timer1
控件的“Interval”属性设置为“20”。
最后,对各窗体、控件的大小、位置进行适当的调整,其大小、位置
可参考图1。
2、程序代码
第一步:在Form1的代码窗口中添加以下代码:
Dim FileNames() As String '用于保存打开的文件名称。
Dim PlayFileNum As Integer '用于计算正在播放的文件序号。
Dim TotalFile As Integer '用于统计打开的文件总数。
Private Sub cmdOpen_Click() '打开
On Error GoTo ExitOpen
CommonDialog1.Flags = cdlOFNAllowMultiselect Or cdlOFNFileMustExis t Or cdlOFNExplorer
CommonDialog1.FileName = ″"
CommonDialog1.ShowOpen '显示“打开”对话框。
'以vbNullChar作为子字符串的边界分隔字符串CommonDialog1返回的FileN ame。
FileNames() = Split(CommonDialog1.FileName, vbNullChar)
If UBound(FileNames) = 0 Then '用户只打开了一个文件。
Form2!ShockwaveFlash1.Movie = FileNames(0)
TotalFile = 1
PlayFileNum = 0
Else '用户打开了多于一个文件。
Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ +
FileNames(1)
TotalFile = UBound(FileNames)
PlayFileNum = 1
End If
StatusBar1.Panels(1).Text = ″共打开了″ +
Trim(Str(TotalFile)) + ″个文件″
cmdPlay_Click
ExitOpen:
End Sub
Private Sub cmdPlay_Click() '开始播放
If TotalFile < 1 Then Exit Sub '用户还没有打开文件。
'显示Form2开始播放动画。
Form2.Caption = FileNames(PlayFileNum) + ″ -
Flash动画播放器″
Form2.Show
Form2!ShockwaveFlash1.Playing = True
If TotalFile = 1 Then PlayFileNum = 0
'显示状态条的信息。
StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFi leNum) + ″ ...″
'显示滑动条的状态。
Slider1.Max = Form2!ShockwaveFlash1.TotalFrames
Label2.Caption = Str(Slider1.Max / 2) + ″帧″
Label3.Caption = Str(Slider1.Max) + ″帧″
End Sub
Private Sub cmdPause_Click() '暂停播放
Form2!ShockwaveFlash1.Stop
End Sub
Private Sub cmdPre_Click() '播放上一个文件
If TotalFile <> 1 Then '当用户打开多于一个文件时
PlayFileNum = PlayFileNum - 1
If PlayFileNum < 1 Then PlayFileNum = TotalFile
Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ +
FileNames(PlayFileNum)
End If
'显示播放状态的信息。
StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFi leNum) + ″ ...″
Slider1.Max = Form2!ShockwaveFlash1.TotalFrames
Form2.Caption = FileNames(PlayFileNum) + ″ -
Flash动画播放器″
Label2.Caption = Str(Slider1.Max / 2) + ″帧″
Label3.Caption = Str(Slider1.Max) + ″帧″
End Sub
Private Sub cmdNext_Click() '播放下一个文件
If TotalFile <> 1 Then '用户打开多于一个文件时
PlayFileNum = PlayFileNum + 1
If PlayFileNum>TotalFile Then PlayFileNum = 1
Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ +
FileNames(PlayFileNum)
End If
'显示播放状态的信息。
StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFi leNum) + ″ ...″
Slider1.Max = Form2!ShockwaveFlash1.TotalFrames
Form2.Caption = FileNames(PlayFileNum) + ″ -
Flash动画播放器″
Label2.Caption = Str(Slider1.Max / 2) + ″帧″
Label3.Caption = Str(Slider1.Max) + ″帧″
End Sub
Private Sub cmdPreFrame_Click() '跳到动画的上一帧
Form2!ShockwaveFlash1.Back
End Sub
Private Sub cmdNextFrame_Click() '跳到动画的下一帧
Form2!ShockwaveFlash1.Forward
End Sub
Private Sub cmdExit_Click() '退出程序
End
End Sub
Private Sub Slider1_Scroll()
'当用户拖动滑动条时,将播放帧数设置为滑动条中的值。
Form2!ShockwaveFlash1.FrameNum = Slider1.Value
End Sub
Private Sub mnuDisplay0_Click()
'将画面大小设置为在控件内保持动画原来比例全部显示
Form2!ShockwaveFlash1.ScaleMode = 0
mnuDisplay0.Checked = True
mnuDisplay1.Checked = False
mnuDisplay2.Checked = False
End Sub
Private Sub mnuDisplay1_Click()
'将画面的缩放设置为随控件横向(或纵向)的缩放而变化
Form2!ShockwaveFlash1.ScaleMode = 1
mnuDisplay0.Checked = False
mnuDisplay1.Checked = True
mnuDisplay2.Checked = False
End Sub
Private Sub mnuDisplay2_Click()
'将画面大小设置为不理会动画原来比例缩放至控件大小
Form2!ShockwaveFlash1.ScaleMode = 2
mnuDisplay0.Checked = False
mnuDisplay1.Checked = False
mnuDisplay2.Checked = True
End Sub
Private Sub mnuLoopPlay_Click()
'将播放方式设置为循环或不循环。
mnuLoopPlay.Checked = Not mnuLoopPlay.Checked
Form2!ShockwaveFlash1.Loop = Not Form2!ShockwaveFlash1.Loop
End Sub
Private Sub mnuQuality0_Click()
'将画面质量设置为低分辨率
Form2!ShockwaveFlash1.Quality = 0
mnuQuality0.Checked = True
mnuQuality1.Checked = False
End Sub
Private Sub mnuQuality1_Click()
'将画面质量设置为高分辨率
Form2!ShockwaveFlash1.Quality = 1
mnuQuality0.Checked = False
mnuQuality1.Checked = True
End Sub
Private Sub mnuZoomIn_Click()
'放大画面。
Form2!ShockwaveFlash1.Zoom (50)
End Sub
Private Sub mnuZoomOut_Click()
'缩小画面。
Form2!ShockwaveFlash1.Zoom (200)
End Sub
Private Sub Form_Unload(Cancel As Integer)
End '结束程序
End Sub
第二步:在Form2的代码窗口中添加以下代码:
Private Sub Form_Resize()
'将ShockwaveFlash1控件的大小设置为Form2的大小。
ShockwaveFlash1.Top = Form2.ScaleTop
ShockwaveFlash1.Left = Form2.ScaleLeft
ShockwaveFlash1.Width = Form2.ScaleWidth
ShockwaveFlash1.Height = Form2.ScaleHeight
End Sub
Private Sub Timer1_Timer()
'在状态栏和滑动条上显示当前播放的帧。
Form1!StatusBar1.Panels(5).Text = Str(ShockwaveFlash1.
FrameNum)
Form1!Slider1.Value = ShockwaveFlash1.FrameNum
End Sub
第三步:调试、运行程序,运行界面如图2所示。
当播放Flash动画时,在播放窗口中单击鼠标右键时,将会弹出如图3
所示的菜单。在该菜单,我们可以完成控制Flash动画播放的大部份工作。
若想取消该功能,只要将Shockwave flash控件的Menu属性设置为False即
可。
以上程序在Windows98,VB6.0下运行通过。
-- 一网情深
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.134.44.186]
|
|