[ASP]动态include文件函数

‘获取文件名中的文件夹地址
Function getFolder(ByVal a_sPath)
    Dim sPath : sPath = Trim(a_sPath)
    Dim iPos
   
    getFolder = NULL
    If isNone(sPath) Then Exit Function End If   
    sPath = Replace(sPath, “/”, “\”)
    If Right(sPath,1)=”\” Then sPath = Left(sPath, Len(sPath)-1) End If
    iPos = InstrRev(sPath, “\”)
    If iPos>0 Then sPath = Mid(sPath, 1, iPos) End If
    getFolder = sPath
End Function
‘获取绝对路径
‘a_sFromPath:被参照的绝对路径,注意此路径必须存在,函数中不作检测
‘a_sToPath:相对路径
Function getPath(ByVal a_sFromPath, […]

评论

如何学习程序设计语言

经常有人会问,“怎样才能学会某某语言?”、“我该怎么学好某某语言?”,其实在学习某种程序设计语言之前,你需要弄明白一个问题,编程的目的是什么?我们为什么要编程?编程就是为了解决各种问题,通过一系列的指令来解决这些问题。那我们学习编程,到底需要学什么呢?因为编程的目的是为了解决问题,显而易见,我们学编程,就是要学会如何解决问题。高手和新手就是看你解决问题的能力。
我们应该如何学习?举个例子,有一天你想买个空调(我想学编程),于是就是市场上了解空调的情况,进行比较,最终确定某个品牌的空调(对目前的编程语言作些了解,根据自身的情况,最终确定一门语言来学习)。空调买来后,有专业的安装工人给你安装调试(学习前先配置好程序的调试运行环境,让你编写的程序能在电脑上跑起来,通过网上的教程或者购买的书本来了解这方面的知识)。安装工人走了之后,你想学会控制空调,这时你就遇到问题了“我怎么才能学会控制它呢?”(我该如何学习编程呢?)首先,你会找来空调的说明书(程序语言的语法手册,可以从网上查找或者买本书来看)和遥控器(电脑),边看说明书,边通过遥控器来控制空调(边看资料边在电脑上编写程序解决某个问题),随着操作的熟练你就不再看说明书了。当说明书上的说明和你实际的操作对应不起来时,你会向厂家咨询,问明原因(可以在某个技术社区或聊天工具上向熟手请教)。总之,一句话,学习时边看资料边实践(在电脑上编写、运行、调试你的程序)。
在程序运行、调试环境配置好的基础,具体应该按怎样的顺序进行学习呢?先学什么,后学什么?首先,给自己定一个学习任务,如一个简单的网站留言本。然后,围绕这个课题,展开学习。在正式编程前,你也要想好,你的程序需要些什么功能?如发表留言、回复留言、删除留言等功能。功能设计好后,你再为这些个功能赋予权限,哪些功能是给普通的网民用的,哪些功能是网站管理员才具备的?分配好之后,你再整理一下程序的功能列表,再细分一下。最后根据细分出来的任务,一个一个的实现它。这样做,只是为了让你把握住整体,知道你编写的程序要实现什么样的功能,在实现时,遇到难题再从书本、网络上去搜索有关资料,来解决这些问题。在写代码前,一定要先养成良好的习惯,先把握住程序的整体,然后再细分,一步一步去完善、去实现全部功能。无论做哪一步时,你都要明白,你的程序在为你解决什么问题?不然,你的解决问题的能力无法提高,学习的目的性也不强。不是有句话,“书到用时方恨少”,就是在你实际操作时,会遇到各种各样问题,你通自己的探索来解决各种问题时,是最有针对性的学习,因为你有这个需求“要如何解决这个问题”,所以当你满足自己的这个需求时,也是最有动力学习的时候了。学习编程,特别在程序出现问题,不按照自己的意愿去运行时,一定要有耐心,一行、一行的去阅读程序,想办法输出它的运行结果,看看是否符合自己的意愿,然后找出出现错误的这一行代码,最后针对这行代码进行分析、调试来解决这个BUG。
当你完成一个学习任务后,其实你已经进入编程的大门了,以后只要按照这个思路继续学习,你就会掌握越来越多的知识和经验,解决问题的能力也会越来越强。
目前流行的编程语言主要是面向过程和面向对象两类。做学习任务前,你需要找来相关的手册,面向过程的语言中会有大量的函数应用,而面向对象的语言中,有许多的类要学习。在做任务前,一定要先找来相关函数手册或类库手册,以备遇到问题时,方便查阅。

评论关闭

PHP5 MySQL学习作品

//DBOperate类
<?php
class TDBOperate {
    private static $cls_oDBO,$cls_sType;
    function __construct($a_sType=”MySQL”) {
        self::$cls_sType=$a_sType;
        if(include_once(”T”.self::$cls_sType.”.php”)) {
            $sClassName=”T”.self::$cls_sType;
        } else {
             echo(’T’.self::$cls_sType.’ class load faild<br/>’);exit();
        }
        self::$cls_oDBO=new $sClassName;
    }
    //连接数据库
    public function Connect($a_sHost, $a_sUsername,$a_sPassword, $a_sDBName, $a_sDBPass) {
        return self::$cls_oDBO->Connect($a_sHost, $a_sUsername,$a_sPassword, $a_sDBName, $a_sDBPass);
  […]

评论关闭

[ASP]cms开发笔记–加密解密

主要封装了一些常用加密、解密算法。
Security_test.asp,接口凋用DEMO

TSecurity.asp,加密、解密调用接口

31 then
Err.Raise 6
end if
SHR = (lValue And &H7FFFFFFE) \ (2^iShiftBits)
if (lValue And &H80000000) then
[…]

评论 (2)

[ASP]获取GUID采用JAVA GUID算法

全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序都用 GUID,其格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。
在ASP中获取GUID网络上有一种很常见的方法,代码如下
[code]
<%
Dim oTypeLib : Set oTypeLib=CreateObject(”Scriptlet.TypeLib”)
Response.Write(oTypeLib.Guid)
%>
[/code]
GUID简介
  开发软件基金会(Open   Software   Foundation,OSF)研究出一种能产生唯一标识符的算法,产生全球唯一标识符(Universally   Unique   Identifier,UUID)。在COM的命名标准上,微软使用同样的算法!在COM中微软将它重命名为Globally   Unique   Identifier(GUID)。    
  生成GUID的算法根据以下几个方面:1.当前日期和时间。2.网络适配器卡地址。3.时针序。4.自动递增计数器。其中,网卡地址是相互不同的,对没有网卡的机器,地址对使用中的机器保持唯一性。  
  下面我提供一种不使用组件来生成GUID。具体的实现,考虑到ASP获取网卡MAC地址不方便,所以没有按上面介绍的方法来实现,而是根据JAVA中的方法来实现。
[code]
‘/**
‘* getGUID
‘*
‘* @类型:函数
‘* @作者:[BI]CJJ http://www.imcjj.com
‘* @时间:2007-07-08
‘* @版本:v0.1.0 build 20070708
‘* @备注:原创,未经许可不得转载,不得用于商业用途
‘*/
Function getGUID()
    Dim sBeforeMD5, sAfterMD5
    Dim sAddr
    Dim lTime, lTemp
    sAddr=Request.ServerVariables(”SERVER_NAME”) & “/” & Request.ServerVariables(”local_addr”) ‘REMOTE_ADDR
    lTime=Timer()
    lTemp=Int(lTime)
    sBeforeMD5=sAddr & “:” &  CStr(DateDiff(”d”,CDate(”1970-1-1″),Date())*86400+lTemp) & […]

评论

[java笔记]功能很弱的计算器

星期二的JAVA上机作业,只有加减乘除功能的计算器。
[B]1.ComputeFrame.java[/B][code]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
 * Sample application using Frame.
 *
 * @author
 * @version 1.00 06/05/30
 */
public class ComputeFrame extends JFrame {
   
    private  JTextField txtResult = new JTextField(16);
    private int iNum_1=0,iNum_2=0; //参与运算的两个数
    private double dSum=0.0;  //运算结果
    private int iComputeType; //运算类型
    private boolean bClear=false;
   
    /**
     * The constructor.
     */ 
     public ComputeFrame() {
        setTitle(”计算器”);
        setSize(new Dimension(210, 200));
        setLayout(new FlowLayout());
   
////———————————————————-
        JButton btnZero = […]

评论

[java笔记]类\对象\接口

  今天JAVA课上回顾了以前将过的一些东西,摘了几句.
  类是相似 共性的一类事物的集合,构造函数的作业是初始化对象,类是一个独立的程序单位.对象是类的一个实例,是一个具体的东西,如交通工具(类)和公交车(对象).当创建了一个对象后,它将具有类中的所以属性和方法.接口是类似于类的一种结构,它是一种完全没有实现的类,但接口的成员方法都是抽象方法,接口的成员域都是静态的 最终的 公有的常量域.接口和类的本质区别在域类只能继承一个父类,即只能单一继承,而接口可以继承(实现interface)多个父类,即多重继承.

评论

[java笔记]键盘输入类

JAVA的键盘输入好麻烦啊,在C中只要scanf就可以,JAVA中得一堆代码,所以就把它封装成类了.
/**
 * TKeyboardInput
 *
 * @Author   cjj
 * @HoemPage www.imcjj.com
 * @Version: v1.00
 * @Date: 06/04/30
 */
package com.imcjj;
import java.io.*;
public class TKeyboardInput {
     private InputStreamReader in=new InputStreamReader(System.in);
     private BufferedReader reader=new BufferedReader(in);
     private String cls_sInput;
 
     public String Info;
 
     //键盘输入
     public void Input() {
            if (this.Info.length()>0) {
                System.out.print(this.Info);
            }
            try {
                  cls_sInput=reader.readLine();
            } catch(IOException e) {
                  System.out.println(e);
                  System.exit(0);
            }
      }
     
      //返回字符串
      public String Get(String a_sStr){
          […]

评论

[JAVA笔记]我的第一个package

  这学期的夜大在学JAVA了.其实在学校里也学不到什么东西,老师教的主要是语法.一个学期学语法感觉好浪费啊.不过这中教育对初学者可能比较好,象我这类已经有编程经验的人,感觉不是很好.我更在意的是面向对象的编程思想,而不是某中面向对象的语言的语法. 我对OOP的软件复用感兴趣,对设计模式感兴趣.语法只要多写程序自然而然就能学会.感兴趣的东西也只有靠自己摸索了.贴一下今天课上的实验题,我把它放在包里了,以后不管什么都往里面塞了. :d
package com.imcjj;
/*复数类*/
public class ComplexNumber {
    //属性部分定义
    //定义复数部分实部
    double m_dRealpart;
    //定义复数部分虚部
    double m_dImaginpart;
    //方法部分定义
    //构造函数实现部分
    public ComplexNumber (double r,double I){
     this.m_dRealpart=r;
     this.m_dImaginpart=I;
    }
    //获取复数实部值
    double getRealpart(){
     return this.m_dRealpart;
    }
    //获取复数虚部值
    double getImaginpart(){
     return this.m_dImaginpart;
    }
 
    //设置复数实部值
    void setRealpart(double temp){
     this.m_dRealpart=temp;
    }
   
    //设置复数虚部值
    void setImaginpart(double temp){
     this.m_dImaginpart=temp;
    }
    //两个复数对象加法运算
    ComplexNumber complexAdd(ComplexNumber c){
     this.m_dRealpart=this.m_dRealpart+c.m_dRealpart;
     this.m_dImaginpart=this.m_dImaginpart+c.m_dImaginpart;
    […]

评论

[ASP]读取GB2312字库点阵信息

  今天在翻硬盘上的数据,找到了这段代码.
  一般在图片中生成汉字就有用了.在改一下可以用来做”汉字验证码”
<%
      ‘从字库中获取汉字的点阵信息 add by cjj at 2006-1-19
      Private Function GetFontData(Byval a_Text)
          Dim iFontWidth,iFontHeight,iOffsetSize,iOffset,iHigh,iLow
          Dim iLen,iTemp,i,j
          Dim sFontFileName,str,sResult
          Dim oFont
          Dim biAllFont,biFont
          Dim aText,aTemp
          aText = Split(a_Text,”|”)
          sFontFileName   = “simsun12.fon” ‘12点阵字库文件名
          iFontWidth       = 12  ‘单字宽度
          iFontHeight      = 12  ‘单字高度
          ‘从字库中读取点阵数据
          Set oFont = Server.CreateObject(”Adodb.Stream”)
          oFont.Type=1
          oFont.Open
          oFont.LoadFromFile(Server.Mappath(sFontFileName))
          biAllFont = oFont.Read
          oFont.Close
          Set oFont = Nothing
          iOffsetSize […]

评论

« 上一页