IE6--让我说你什么好!编码!还是编码!

一鼓作气把博客的小BUG改了一下,搞了两个小时的CSS,在IE6中一直显示不正常,唉,真是不太爽~~

后来才发现是编码的问题,网页用的是UTF8编码,这是我的一惯作风,但是这个CSS文件不知是什么原因居然是GB2312的,唉,结果导致解析不正常了,这个在用外部引用javascript文件的时候,如果编码不一致,也可能出问题。

养成好习惯,统一编码,努力做好~~

Read More →

IE7无法卸载-解决方案

下载Internet Explorer 7 Beta 2 Uninstall Toolkit工具

 我们可以到这两处下载:

http://download.microsoft.com/do ... 6-enu-UNINSTALL.exe

http://download.pchome.net/system/uninstall/33223.html

Read More →

在水晶报表中如何显示一个变量的值

要显示水晶报表的值必须添加参数字段,具体方法是:字段资源管理器-->参数字段-->新建,名称我们填写fromTime其他的保持默认,此时如果不在程序中给这个变量赋值的话,调试运行程序的时候,会自动提示输入。

假如我们的报表文件是:CrystalReportList.rpt,下面的代码在程序中给参数字段赋值:
CrystalReportList gxyCR = new CrystalReportList();
gxyCR.SetDataSource(dt);
gxyCR.SetParameterValue("fromTime", WindowsApplication.Form1.fromTime);
gxyCR.SetParameterValue("toTime", WindowsApplication.Form1.toTime);

备注,我做的报表是显示介于fromTime和toTime这两个时间之间的记录打印出来,所以设了两个参数,发现给参数赋值的代码必须出现在的gxyCR.SetDataSource(dt);之后,这个还没找到答案

Read More →

javascript 判断是否为数字

isNaN 函数
isNaN(expression:Object) : Boolean

计算参数,如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。

可用性:Flash Player 5;ActionScript 1.0

参数
expression:Object - 要计算的布尔值、变量或其它表达式。

返回
Boolean - 一个布尔值。

Read More →

PHP 文件上传

创建一个文件上传表单

允许用户从表单上传文件是非常有用的。

请看下面这个供上传文件的 HTML 表单:

<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

请留意如下有关此表单的信息:

<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。

<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。

注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。

Read More →

Activex 部件不能创建对象故障解决

今天下了一个phpmaker玩玩,发现不能生成PHP代码,出现了Activex 部件不能创建对象的对话框,保存时也出现了类似的情况~~~

regsvr32 "C:\windows\system32\scrrun.dll",搞定。。。

Read More →

二进制算术操作笔记-php

最近在想一个加密码算法,参考了DISCUZ的加密算法,位操作显然是主要的运算。

自己写的算法还有一些BUG,先不发了,总结一下PHP的一个心得,我所遇到的问题是移位操作,如果是´j´ >> 2,这个在PHP中结果是0,这个结果有点出乎意料,不过如果:´j´ & ´m´,结果是h,不知道问题在哪里。。。

GOOGLE了一下,找下如下的文字:

二进制算术操作的隐式类型转换规则:整型与浮点型时,整型转换为浮点型;整型与字符串时,字符串转换为数字,如果转换后的值是浮点型,则将整型转换为浮点型;浮点型和字符串,字符串转换为浮点型。
字符串连接操作符“.”在连接字符串之前将两个操作数都转换为字符串。
字符串在转换为数字的时候,若在字符串开头没有发现数字,字符串的数值就是0。如果字符串包括一个句点“.”或“e,E”,对该字符串求值则生成一个浮点数。

估计问题就在这了,整型与字符串时,字符串转换为数字,这的样的话,´j´转化成数字是不存在的,估计就成0了,不过问题还有:若在字符串开头没有发现数字,字符串的数值就是0,什么叫开头没有发现数字?

Read More →

ASP.NET图片防盗链的方法

考试了,应该复习了,书看不进去哇~~~

空闲的时候想想自己的感兴趣的事情,想啊想就看到将要开始的一个项目,想到关于图片防盗的问题,这个东东,我觉得不是很难,大多数的网站都已经实现了,估计是在httpHandlers中实现的。

GOOGLE了一下,果然,代码很简单,原理我就不讲了,网上很多

在web.config的<system.web>配置节中加下如下代码

<httpHandlers>
      <add verb="*" path="*.jpg" type="ASPX2.jpg2, ASPX2"/>
</httpHandlers>

Read More →

JS操作select相关方法:新增、修改、删除、选中、清空、判断存在

  1. 判断select选项中 是否存在Value="paraValue"的Item
  2. 向select选项中 加入一个Item
  3. 从select选项中 删除一个Item
  4. 修改select选项中 value="paraValue"的text为"paraText"
  5. 设置select中text="paraText"的第一个Item为选中
  6. 设置select中value="paraValue"的Item为选中
  7. 得到select的当前选中项的value
  8. 得到select的当前选中项的text
  9. 得到select的当前选中项的Index
  10. 清空select的项

//1.判断select选项中 是否存在Value="paraValue"的Item
function jsSelectIsExitItem(objSelect,objItemValue)
{
    var isExit = false;
    for(var i=0;i<objSelect.options.length;i++)
    {
        if(objSelect.options[i].value == objItemValue)
        {
            isExit = true;
            break;
        }
    }      
    return isExit;
}

//2.向select选项中 加入一个Item
function jsAddItemToSelect(objSelect,objItemText,objItemValue)
{
    //判断是否存在
    if(jsSelectIsExitItem(objSelect,objItemValue))
    {
        alert("该Item的Value值已经存在");
    }
    else
    {
        var varItem = new Option(objItemText,objItemValue);
//      objSelect.options[objSelect.options.length] = varItem;
        objSelect.options.add(varItem);
        alert("成功加入");
    }    
}

//3.从select选项中 删除一个Item
function jsRemoveItemFromSelect(objSelect,objItemValue)
{
    //判断是否存在
    if(jsSelectIsExitItem(objSelect,objItemValue))
    {
        for(var i=0;i<objSelect.options.length;i++)
        {
            if(objSelect.options[i].value == objItemValue)
            {
                objSelect.options.remove(i);
                break;
            }
        }        
        alert("成功删除");            
    }
    else
    {
        alert("该select中 不存在该项");
    }    
}

//4.修改select选项中 value="paraValue"的text为"paraText"
function jsUpdateItemToSelect(objSelect,objItemText,objItemValue)
{
    //判断是否存在
    if(jsSelectIsExitItem(objSelect,objItemValue))
    {
        for(var i=0;i<objSelect.options.length;i++)
        {
            if(objSelect.options[i].value == objItemValue)
            {
                objSelect.options[i].text = objItemText;
                break;
            }
        }        
        alert("成功修改");            
    }
    else
    {
        alert("该select中 不存在该项");
    }    
}

//5.设置select中text="paraText"的第一个Item为选中
function jsSelectItemByValue(objSelect,objItemText)
{    
    //判断是否存在
    var isExit = false;
    for(var i=0;i<objSelect.options.length;i++)
    {
        if(objSelect.options[i].text == objItemText)
        {
            objSelect.options[i].selected = true;
            isExit = true;
            break;
        }
    }      
    //Show出结果
    if(isExit)
    { 
        alert("成功选中");            
    }
    else
    {
        alert("该select中 不存在该项");
    }    
}

//6.设置select中value="paraValue"的Item为选中
document.all.objSelect.value = objItemValue;

//7.得到select的当前选中项的value
var currSelectValue = document.all.objSelect.value;

//8.得到select的当前选中项的text
var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;

//9.得到select的当前选中项的Index
var currSelectIndex = document.all.objSelect.selectedIndex;

//10.清空select的项
document.all.objSelect.options.length = 0;

Read More →

防君子,不防小人--咱也谈谈Base64编码

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。

Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。

这样说会不会太抽象了?不怕,我们来看一个例子

Read More →
Search
最新评论
推荐日志
微信扫一扫