常常逛WWW的人,一定对许多起始页上的计数器感兴趣。每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人。你可能也想在自己的HomePage内做计数器,有很多方法来实现此功能, 我这里给大家一个用FoxWeb实现的CGI计数器。
1.首先用Visual FoxPro写一个CGI程序qywjs.prg,如下:
*qywjs.prg 计数器CGI程序
PROCEDURE qywjs
clear
km="h:\www\qywjs\qywjs.dbf"
&&存计数器计数值库
use &km
repl js with js+1
&&更新计数值
MSTRING=str(js,6)+CHR(13)+CHR(10)
&&将数据输出存入变量
use
MSTRING="CONTENT-TYPE:TEXT/plain"+CHR(13)+CHR(10)
+CHR(13)+CHR(10)+MSTRING
*CONTENT-TYPE:TEXT/plain
是FoxWeb的CGI程序输出数据第一行格式
HTML_OUT=MERGETXT(MSTRING)
&&将数据输出,既通过WWW服务器将数据输出
RETURN
注:qywjs.dbf数据库只有一个字段,字段名:js;类型:数值型;长度:6 。
2.在起始页上,我们只要附上一个JavaApplet就可以取得目前计数器的值,JavaApplet程序如下:
/*qywjs.java*/
import java.awt.*;
import java.net.*;
import java.io.*;
public class qywjs extends java.applet.Applet
{
Font fn=new Font("TimesRoman",Font.BOLD,14);
/*设置显示字体及大小*/
String count_str; /*存计数器的值*/
public void init() /*初始*/
{
try
{
URL bookURL=new URL
("http://10.65.76.64/scripts/foxweb.exe/qywjs
@h:\\www\\qywjs\\qywjs.PRG"); /*调入CGI程序*/
DataInputStream book_is;
book_is=new DataInputStream(bookURL.openStream());
count_str=book_is.readLine(); /*读入计数值*/
book_is.close();
repaint();
}
catch (MalformedURLException mfURLe)
{System.out.println("MalformedURLException:"+mfURLe);}
catch (IOException ioe)
{System.out.println("IOException:"+ioe);}
}
public void paint(Graphics g) /*显示*/
{g.setFont(fn);
g.setColor(Color.blue);
g.drawString("从2007年06月05日开始,
你是第 "+count_str+" 位用户光临!",16,16);
}
}
3.最后在自己的起始页HTML文件中加入如下程序段就行了。
< !对外首页 2007/6/5 >
< HTML >
< HEAD >
。。。。。。
。。。。。。
< BODY >
。。。。。。
< APPLET CODE="qywjs.class"
WIDTH=200 HEIGHT=40 >< /APPLET >
。。。。。。
< /BODY >
。。。。。。
。。。。。。
< /HTML >
分享到:
相关推荐
本文是关于设计和制作一个两位十进制步进加减计数器的报告,目标是从0到80进行步进计数。这个计数器包括四个主要组成部分:触发器(CD4013)、计数器(CD4029)、译码器(74LS48)和显示器。下面我们将详细探讨这些...
3. **清零和加载信号**:这些信号允许我们手动重置计数器到起始状态或加载特定的初始计数值。 Proteus是一款强大的电子电路仿真软件,它支持多种数字集成电路,包括74系列的逻辑门和触发器,这些元件可以用来构建...
"用集成计数器构成任意进制计数器" 本文讨论了用集成计数器产品构成任意 N 进制计数器的方法。通过对计数原理的分析,系统地讨论了用已有的集成计数器产品构成任意 N 进制计数器的方法。 在讨论之前,需要了解...
异步清零允许在任何时刻将计数器重置为0,而预置数功能则允许设定起始计数值。 文件名为"1000进制计数器"可能包含的是这个实验的设计文件,如VHDL或Verilog源代码,或者是实验报告,详细记录了设计思路、步骤和测试...
需要其他任意进制计数器时,只能用已有的计数器产品经过外电路的不同连接方法得到。这种接线一般并不复杂。...如果这时利用SM状态产生一个复位脉冲将计数器置成S0状态,这样就可以跳越(N-M)个状态而得到M进制计数器了。
- 通常,加法计数器从一个起始值增加到一个预设的最大值,然后回零;减法计数器则相反,从预设值减到零再回到最大值。 3. **100进制计数器** - 100进制计数器是指其计数值范围从0到99,共100个状态。这通常需要两...
通常,这会通过一个额外的输入引脚(如74LS161中的CLR或RESET)来实现,当这个引脚接收到一个特定的电压水平(如低电平)时,所有计数位都会被复位为0,从而快速将计数器恢复到起始状态。 Multisim是一个广泛使用的...
4. **自定义设置**:高级的计数器可能允许用户自定义计数器的起始值,或者设置特定的增量,以适应不同的应用场景。 此外,考虑到"桌面秒表及计数器"的便携性,该程序很可能是绿色软件,无需安装即可运行,只需解压...
装车起始时间、装车截至时间、车牌号、计数器编号、水泥种类、数量、发货员名称 查询结束后,即可打印。 (e)统计和报表功能,给决策者提供决策参考。 单日统计报表: 可以统计一天内,不同种类的水泥分别发货数量...
Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示。 java凭图游戏 一个目标文件,简单。 java求一个整数的因子 如题。 Java生成密钥的实例 1个...
在Java编程中,"制作树TREE"通常是指创建和操作数据结构中的树。树是一种非线性数据结构,由节点(或称为顶点)和边组成,每个节点可以有零个或多个子节点。在Java中,我们可以用类来表示树的节点,通过节点之间的...
Java 中用 Calendar 类计算周和周的起始日期 Java 中用 Calendar 类计算周和周的起始日期时,需要了解 Calendar 类的使用方法和日期计算的逻辑。在 Java 中,Calendar 类提供了计算周和周的起始日期的方法。 首先...
本文的计数器设计是利用AT89C51单片机进行的一个具体实例,通过这个项目,学生或初学者可以学习到单片机的基本原理和应用。通过实践操作,如焊接元件、编写程序、搭建电路、测试功能等,能够更好地理解单片机的工作...
在Java中,我们可以利用`java.util.Calendar`类和`java.util.Date`类来创建和管理日历对象。让我们深入了解一下这两个类以及如何在实际项目中应用它们。 首先,`Date`类是Java早期提供的日期时间类,它表示自1970年...
4. 运行仿真,观察计数器的动态变化,确保其在每个周期后都能正确回到起始状态(6进制的0)。 5. 可以通过改变输入频率或脉冲宽度来调整计数速度,进一步理解计数器的工作原理。 通过这个实验,学习者不仅可以深入...
在本项目中,“VHDL语言实现的计数器”指的是利用VHDL编写代码,实现一个在FPGA(Field-Programmable Gate Array)开发板上工作的计数器,该计数器能够进行十进制计数,并将结果显示在7段数码管上。这里涉及到的知识...
4. **预置输入**:通过预置输入,可以设置计数器的起始值,这对于模拟特定计时场景非常有用。 在进行Multisim仿真的过程中,我们需要注意以下几点: - 正确连接时钟信号源,确保其频率符合计数器的需求。 - 设定...
《设计任意进制计数器》的实验报告主要围绕如何使用中规模集成计数器74LS192来构建三位十进制计数器展开,目的是让学生掌握此类计数器的使用方法和功能测试。74LS192是一款同步十进制可逆计数器,具备清除、置数和双...
4. **复位和预置功能**:在达到28秒后,计数器需要有一个复位机制使其回到起始值。此外,预置功能允许在需要时设置特定的初始计数值。 5. **电路实现**:设计可以采用硬件描述语言(如Verilog或VHDL)进行仿真和...