2007年8月10日星期五
2007年8月8日星期三
2007年5月22日星期二
Iframe的javascript
2007年5月7日星期一
2007年2月7日星期三
2007年2月3日星期六
2007年1月27日星期六
关于SQL自定义函数
下面是一个常用的自定义函数,作用是让我们输入名字的时候,自己生成拼音的首字母:
CREATE function fn_GetPy(@str nvarchar(4000))
returns nvarchar(4000)
-- WITH ENCRYPTION
as
begin
declare @intLen int
declare @strRet nvarchar(4000)
declare @temp nvarchar(100)
set @intLen = len(@str)
set @strRet = ''
while @intLen > 0
begin
set @temp = ''
select @temp = case
when substring(@str,@intLen,1) >= '帀' then 'Z'
when substring(@str,@intLen,1) >= '丫' then 'Y'
when substring(@str,@intLen,1) >= '夕' then 'X'
when substring(@str,@intLen,1) >= '屲' then 'W'
when substring(@str,@intLen,1) >= '他' then 'T'
when substring(@str,@intLen,1) >= '仨' then 'S'
when substring(@str,@intLen,1) >= '呥' then 'R'
when substring(@str,@intLen,1) >= '七' then 'Q'
when substring(@str,@intLen,1) >= '妑' then 'P'
when substring(@str,@intLen,1) >= '噢' then 'O'
when substring(@str,@intLen,1) >= '拏' then 'N'
when substring(@str,@intLen,1) >= '嘸' then 'M'
when substring(@str,@intLen,1) >= '垃' then 'L'
when substring(@str,@intLen,1) >= '咔' then 'K'
when substring(@str,@intLen,1) >= '丌' then 'J'
when substring(@str,@intLen,1) >= '铪' then 'H'
when substring(@str,@intLen,1) >= '旮' then 'G'
when substring(@str,@intLen,1) >= '发' then 'F'
when substring(@str,@intLen,1) >= '妸' then 'E'
when substring(@str,@intLen,1) >= '咑' then 'D'
when substring(@str,@intLen,1) >= '嚓' then 'C'
when substring(@str,@intLen,1) >= '八' then 'B'
when substring(@str,@intLen,1) >= '吖' then 'A'
else rtrim(ltrim(substring(@str,@intLen,1)))
end
--对于汉字特殊字符,不生成拼音码
if (ascii(@temp)>127) set @temp = ''
--对于英文中小括号,不生成拼音码
if @temp = '(' or @temp = ')' set @temp = ''
select @strRet = @temp + @strRet
set @intLen = @intLen - 1
end
return lower(@strRet)
end
利用了汉字的默认的排序,所以学习母语很重要啊 ,呵呵 “拏” 你知道怎么读么 ?不查字典谁会知道啊?所以放在这里,以后要用再考出来
以前的提问
是要定义一个函数对象
#include
class GreaterThan {
public:
GreaterThan( int sz = 6 ) : _size( sz ){}
//这个就看不懂了,应该是构造函数吧,什么是_size(sz)
int size() { return _size; }
bool operator()( const string & s1 )
{ return s1.size() > _size; }
//这个是重载了运算符(),不会和上面的构造函数冲突吗
private:
int _size;
};
下面是函数对象的使用:
void process_vocab( vector<>*pvec )
{
int cnt = count_if( texts.begin(), texts.end(),
GreaterThan() );//怎么可以这样用呢
}
望高手指点一下。。。
这下是明白了,书快看完了
不过 大的方面好象都懂的样子
虽然还有关于类的几章没有看
谁怪 primter这么 全面呢
lei yu
类域中的名字必须在使用中必须被声明,这点很好理解的
但是有两种情况除外的:
为什么会这样呢,这个和名字解析机制有关系了
inline函数定义里面
class String {
public:
typedef int index_type;
char& operator[] ( index_type elem )
{
return _string[ elem ]; //看到没有,_string是在下面生成的
}
private:
char * _string;
};
这个让我想起了,以前在csdn上面的提问。 哈哈 原来是这个样子啊
该名字解析发生在类的完整域中就好像成员函数体是
在类体结束前被最后处理一样在这个点上类的所有成员都已经被声明了
被用做缺省实参的名字
class Screen {
public:
// bkground 指向在类定义中后来声明的静态成员
Screen& clear( char = bkground );//看到没有
private:
static const char bkground = '#';
};
不过缺省实参 必须是 静态的
2007年1月22日星期一
基于对象
传统的面向对象编程语言 例如 c++ java
对象是基于类的
对象是类的一个实例
比较而言,javascript是基于构造器函数的
这个函数 相当与构造函数
这个叫 :
构造器函数
更象是一个摸板 而不象类
与类的功能一样
封装了 属性 和 方法
一个“类”:
function Class1(x,y,z)
{
this.c_x =x;
this.c_y =y;
this.z_z =z;
}
实例化:
obj1 = new Class1(“
obj2 = new Class1();
这里面的参数值是undefined
访问:
obj1.x;
对象扩展:
Obj1.q=”
这个 q的属性 只有Obj1对象有,其他同类的对象没有
类扩展:
Obj1.prototype.r =”ff”;
修改了class1
还好javascript 没有多继承
对象方法
定义一个方法:
function display1()
{alert();}
修改”类”:
function Class1(x,y,z)
{
this.c_x =x;
this.c_y =y;
this.z_z =z;
this.gg = display1;
}
调用:
obj1 = new Class1(“
obj1.gg();
靠,方法是在外面定义的哦,但是要操作属性呢
2007年1月19日星期五
this 和 static
请看 函数 的连续调用
int main()
{
myScreen.clear().move(2,2).set('*').display();
bufScreen.reSize(5,5).display();
}
这些函数的共同特点是需要 返回自身的对象
也就是:
// 返回被调用的对象
return *this;
记住 this 是一个指针
Static
不需要对象只要 类名:: 就可以访问了
静态数据成员可以是其受属类
看好,不是引用也不是指针哦
class Bar {
public:
private:
static Bar mem1; // ok
Bar *mem2; // ok
Bar mem3; // 错误
};
缺省实参
可以直接做为缺省实参,而非的却不可以
extern int var;
class Foo {
private:
int var;
static int stcvar;
public:
// 错误: 被解析为非 static 的 Foo::var
// 没有相关的类对象
int mem1( int = var );
// ok: 解析为 static 的 Foo::stcvar
// 无需相关的类对象
int mem2( int = stcvar );
// ok: int var 的全局实例
int mem3( int = ::var );
};
静态成员函数可是没有this 指针的
2007年1月18日星期四
关于 const 的更深沉次
const函数竟然可以修改指针类型的数据成员
这个往往让c++初学者大吃一惊这个是一种不良的程序设计风格,程序员要保持警惕
const与非const成员函数可以互相重载
const对象只能调用声明为const的成员函数
const修饰的是对象而不是类声明为const往往是限制了好多东西
当然 构造函数和折构函数除外
因为const只在从构造完成时刻到析构开始时刻这段时间volatile也是一样
volatile对象只能调用volatile函数用于补救const 的mutable
mutable的成员函数是可以被修改的,即使是在const函数中2007年1月10日星期三
友元函数的存在
2007年1月3日星期三
一篇不错的数据库测试文章(MYSQL)转网上的
另:祝大家在新年里.男生象Oracle般健壮;女生象Vista般漂亮;桃花运象IE中毒般频繁;钱包如Gmail容量般壮大,升职速度赶上微软打补丁 (引)
2007年1月1日星期一
元旦快乐!
C++ : cout<<"祝大家元旦快乐";
QBasic : Print "祝大家元旦快乐"
Asp : Response.Write "祝大家元旦快乐"
PHP : echo "祝大家元旦快乐";
JScript: alert("祝大家元旦快乐")
VBScript:MsgBox "祝大家元旦快乐"
Jscript:document.write("祝大家元旦快乐")
Delphi: ShowMessage('元旦快乐!');
VB: Msg("元旦快乐!")
VC: MessageBox("圣元旦快乐!");
shell: echo 元旦快乐
perl: print '元旦快乐
java: System.out.println("元旦快乐");
powerBuilder:messagebox("", "祝大家元旦快乐")
C Sharp: System.Console.WriteLine("元旦快乐");
asm: .data
mess db '元旦快乐',0
.data?
StdOut dd ?