乖乖的史努比

昨天是51黄金大假的第一天,本来打算出去旅游一下,但想到人多,天气热,消费高这些问题,还是选择就在附近玩玩。下午陪MM出去逛街购物,买了一套5个史努比狗狗,好乖的狗狗哦。

今年是我的本命年,再过几天就是偶的生日了,加上今天又是狗年,吼吼。。。。。。所以努努比狗狗是恰当的礼物了,在德克士吃了很大一个鸡块,真的好大哦,好香的鸡块,口水都要流出来了,哈哈。


1.jpg

2.jpg

Posted in 我的生活 at May 2, 2006. by 傻猫 .    Views: 2635    No Comments

测试图片

测试图片上传功能

测试图片水印功能。


2004921180701.jpg

Posted in 休闲娱乐 at May 1, 2006. by 傻猫 .    Views: 2362    No Comments

写了两个小工具

最近学了不少程序方面的技巧,包括数据库三层结构的搭建,以前全是写的C/S两层模式的程序,了解三层结构后,确实要高级得多。

将所有事件全封装在中间件上,客户端通过中间件访问数据库,从安全方面,从效率和速度上都有很大的优势。

另外显示数据的容器用StringGrid而不用DBGrid也是一大优势,前者功能强大,后者就要弱很多,技巧性。灵活性方面,DBgrid的劣势就显露出来了。

最近写了一个动态菜单,通过数据库信息来动态生成菜单。

另外写了一个数据库日志清理工具,随着使用SQL的时间越来越长,数据表的系统日志就会越来越大,这个工具就可以清理LOG文件。


menu.jpg

log.jpg

Posted in Web开发 at April 28, 2006. by 傻猫 .    Views: 5100    4 Comments

成都历险记

8年前,初中毕业后,一个人来到这座陌生的城市求学.

5年前,完成学业,踏入社会,第一份打字员的工作,每月400元的工资让我心喜若狂.我,我终于开始赚钱了.

在打字复印店里做了9个月后,慢慢地,越来越不能适应环境,过完春节后,在老板的一再挽留下,挥袖离开.

在打字复印店里,让我学会了如何使用打印机,复印机,传真机.并学会了简单的维护维修.也学会了操作系统的安装(ps:当时有两台电脑,其中之一经常出问题,所以也给了我练手的机会.呵呵)

4年前,我进入好棒食品公司,一边做电脑方面的工作,另一方面也进车间做工.他们主要生产调味品,全手工制作,还出口美国.工资每月也就6,7百.其中有两个月要赶货,连续加班.从早上7点就开始上班,晚上要做到8点左右.

那是夏天的时候,每天的衣服都要湿透好几次.或许是太苦的原因吧,我决定再去上学.

进入电子科大自考班后,在学校玩游戏比较多吧,每次考试基本上都是60分,全班六零炮最多的就是我.班上有近120人,我认识的可能也就20个人吧,由于是自考,老师上课时,想去就去,不想去就在寝室睡觉.

我自己都有很多次睡觉不去上课的经历,班主任是位女老师,到寝室来教我们去上课,把被子包住头不理她,反正她也不会来掀开被子.

游混的日子中,上课听老师讲课不是我的最爱.

我喜欢自己弄本书来看,喜欢在网上游,喜欢自己学点东西. 就在那段时候,我自己搞游戏私服,有传奇2,传奇3.

收获最大的是传奇3, 由于它的数据库跟传奇2不一样, 要用到SQL2000. 花了我周末两天时间,才把它数据库调通,由此我也学会了SQL2000的基本操作. 平时喜欢下载一些Delphi源代码来看,慢慢地, 开始搞点小程序.

最有代表的是那个时候写的<网页助手>,一个收集了近千种网页特效的工具软件.

自考毕业后, 准确地说,还不算毕业,因为还有几本功课还没考过, 毕业证还没有拿到. 我凭着一股初生牛犊不怕虎的劲进入艾普网络公司.

或许是我太幸运了吧, 在招聘会遇到了公司很好的谢总. 他给我机会让我到公司面试.

到公司后又遇到了跟我年龄稍微大点的波哥, 他给了我机会让我做公司的网站. 两个星期的时候, 我在网上找了一个韩国模板,把公司网站改了一下版. 从版面,美工各方面较以前相比是唤然一新.

所以公司让我留了下来.后来又给公司搞了一个管理软件.

在艾普的点点滴滴让我成长, 走过将近两年时间, 让我各方面都长进了很多.有空再把其中的经历慢慢道来.

三个星期前, 我离开了艾普,进入了一个蓝冰软件公司.

进入软件公司作为一名程序员,心里无比的高兴,同时又再一次站在了起跑线上,等待更多的挑战.

天生我才必有用, 站在巨人的肩上, 才能让我看得更高更远.

Posted in 我的生活 at April 27, 2006. by 傻猫 .    Views: 4308    2 Comments

黄桷兰的芳香又回来了

不经意地,搜索到一张黄桷兰的图片,让我顿时欣喜若狂。看着那碧绿水灵的叶子,妩媚洁白的花朵,我似乎又隐隐嗅到了那直沁心脾的清香。
  爱黄桷兰,就是缘于爱黄桷兰的清香,丝毫不做作的清香。忽而浓,忽而淡,在浓和淡之间让人捉摸不定,但又感觉的的确确地在透过口鼻,浸进肺腑,又在经络里弥漫开来,一种心旷神怡的清爽油然而生。
  每到黄桷兰开花的季节,大街小巷就会出现许多走窜着贩卖黄桷兰的花农,挽着一个编织得细密的竹蓝,用一块潮湿的毛巾覆盖了约莫半蓝子的花朵。竹蓝的边沿插上一枝剃尽了叶子的竹枝,挑上数挂细线穿成的花串,人还未走近,一阵清香就会迎面拂来。
  那些串成串的花朵,常被爱美的人们用来挂在胸口的纽扣上熏染自己。如若再配上一两叶青嫩的黄桷兰树叶,走起路来绿和白一起晃动,越发的相得益彰了。


 

黄桷兰:木兰科、木兰属、落叶乔木。

黄桷兰怎样栽培管理?

黄桷兰是早春色、香俱全的观花树种,栽植时,要掌握好时机,不能过早、也不能过晚,以早春发芽前10天或花谢后展叶前栽植最为适宜。移栽时,无论苗木大小,根须均需带着泥团,并注意尽量不要损伤根系。以求确保成活。栽植前,应在穴内施足充分腐熟的有机肥作底肥。栽好后封土压紧,并及时浇足水。

黄桷兰花较喜肥,但忌大肥;生长期一般施两次肥即可有利于花芽分化和促进生长。一次是在早春时施,再一次是在5-6月份进行。肥料多用充分腐熟的有机肥。新栽植的树苗可不必施肥,待落叶后或翌年春天再施肥。黄桷兰的根系肉质根,不耐积水。开花生长期宜保持土壤稍湿润。入秋后应减少浇水,延缓黄桷兰生根,促使枝条成熟,以利越冬。冬季一般不浇水,只有在土壤过干时浇一次水。黄桷兰枝干伤口愈合能力较差,故一般不进行修剪。但为了树形的合理,对徒长枝、枯枝、病虫枝以及有碍树形美观的枝条,仍应在展叶初期剪除。此外,花谢后,如不留种,还应将残花和蓇葖果穗剪掉,以免消耗养分,影响来年开花。

黄桷兰多为地栽,盆栽时宜培植成桩景。

 


1.jpg

2.jpg

3.jpg

Posted in 我的生活 at April 20, 2006. by 傻猫 .    Views: 5253    No Comments

唉,圈养的金鱼又死了

以前也有过好几次,去年买过好几条金鱼,每次都是一对一对的,到西天极乐世界也很快,买回来没多久,就死咯。

有被太阳晒死的,有被食物撑死的(饲料放的太多),有被丑死的(N久没换水),这次更怪了,刚刚买回来的时候,我就跟MM开玩话说,这条大的金鱼代表偶,这条小的金鱼代表你,看看那个的命更长,买回来没隔几个小时,那条小金鱼就上天了,555555555

小金鱼上天后,我发现那条大的身上有很明显的伤痕,难道他们曾经有过一场恶战么?

这几天,我每天早上起来/晚上下班回来第一件事情就是给金鱼换水,卖金鱼的老板说的,要经常换水,不然就容易死。

前天去一个朋友家里,他们也喂了好几天金鱼,她给偶说,不能换的太勤了,水太冷它可能受不了的,经常换水让他每次都要适合环境,要放到通风的地方,一个星期换一次水就可以,她还特地买了一条吃金鱼屎的鱼,叫什么名字我记不起来了,居然在家里搞起了生态循环了,呵呵。

这时想到金鱼老板说的话,我......倒......

 


015o.jpg

Posted in 我的生活 at April 20, 2006. by 傻猫 .    Views: 3324    No Comments

delphi中TreeView的一些应用

一. 如何初始化一个TreeView?


弄一个窗口,放上一个TreeView和一个Button,分别取名为TV1和Btn1。如果需要
在每个节点前有个图,请在窗口上放上一个ImageList,取名为ImageList1,双击
它,加入六个图标。还要记得记得将TV1的Images属性改为ImageList1噢。双击按
钮Btn1,在里面填入以下代码,然后按F9运行,点击Btn1就可以看到效果了。


procedure TForm1.Btn1Click(Sender: TObject);
Const
MyDocDir = 'C:\My Documents';
PersonDir = '3hSoft';
Var
Var
I : Word;
SubNodeName : array [1..5] of ShortString;
RootNode, SubNode : TTreeNode;
P : PString;
begin
SubNodeName[1] := '便笺';
SubNodeName[2] := '发件箱';
SubNodeName[3] := '联系人';
SubNodeName[4] := '任务';
SubNodeName[5] := '日记';
TV1.Items.Clear;
TV1.Items.BeginUpdate;
New(P);
P^ := MyDocDir + '\' + PersonDir;
RootNode := TV1.Items.AddObject(Nil, '个人文件夹', P);
// 此 Node 的图标已对 Images 属性中取第 0 个了。
For I := 1 to 5 do
begin
New(P);
P^ := MyDocDir + '\' + PersonDir + '\' + SubNodeName[I];
SubNode := TV1.Items.AddChildObject(RootNode, SubNodeName[I], P)
;
;
// 如果不想使用图标的话请删除以下两行
SubNode.ImageIndex := I;
SubNode.SelectedIndex := I;
end;
TV1.Items.EndUpdate;
end;

 

二.在TreeView中如何设置选中结点


var
i:integer; {i为设置的选中结点的索引值}


begin
if i>treeview1.items.count then
treeview1.items[i].selected:=true;


treeview1.selected:=treeview1.items[i];

三。设置TreeView结点的图形


1. 设置TreeView的images属性为已存在的images对象

treeview1.images:=imagelist1;


2. 在加入结点后执行:

var
anode:TTreeNode;
begein
anode:=Treeview1.add(nil,'item1');
anode.imageindex:=0; {结点未选中时显示的图标}
anode.selectedindex:=1; {结点选中时显示的图标}
end
3. 如果结点图形在改变后未发生变化,可以执行:
treeview1.refresh;

 

四。如何批量处理TreeView结点


使用TreeView的items属性的BeginUpdate和EndUpdate方法,例:


TreeView1.items.BeginUpdate;
for i:=0 to TreeView1.items.count-1 do
begin
file ://将每个结点的文字改成为小写字母
TreeView1.items[i].text:=lowercase(TreeView1.items[i].text);
end;
TreeView1.items.EndUpdate;

五。实现TreeView结点拖拽的实例


下面的程序片段演示了如何实现拖拽treeview构件结点的例子

{鼠标按下时执行的语句}
procedure TForm1.Treeview1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin

{判断左键按下并且鼠标点在一个结点上开始实现拖拽}
if ( Button = mbLeft ) and
( htOnItem in Treeview1.GetHitTestInfoAt( X, Y ) ) then
begin
Treeview1.BeginDrag( False );
end;
end;

{鼠标拖动执行语句}
procedure TForm1.Treeview1DragOver( Sender, Source: TObject;
X, Y: Integer; State: TDragState; var Accept: Boolean);
var
Node : TTreeNode;
begin
if Source = Treeview1 then
begin
Node := Treeview1.GetNodeAt( X, Y ); {取当前结点}
if Node <> nil then {当前结点不为空才能实现拖拽,accept:=true}

Accept := true;
end;
end;

{鼠标释放时执行的语句}
procedure TForm1.Treeview1DragDrop( Sender, Source: TObject;
X, Y : Integer );
var
TempNode : TTreeNode;
AttachMode : TNodeAttachMode;
begin
if Treeview1.Selected = nil then
Exit;

AttachMode := naAddChild; {设置结点移动模式,设移动结点为子结点}


{ 注意在这里存在一个bug,当移动结点时,如果目标结点没有子结点,}
{ 则加入的新的子结点会失败,所以先在当前目标结点的下面 }
{ 加入一个临时子结点,移动完毕后,再将临时结点删除 }

Treeview1.Items.BeginUpdate;
try
TempNode := Treeview1.Items.AddChild( Treeview1.DropTarget,
'Temp' );
try
{ 移动选中的结点到目标结点 }
Treeview1.Selected.MoveTo( Treeview1.DropTarget, AttachMode );
finally
TempNode.Free; { 不要忘了释放临时结点 }
end;
finally
Treeview1.Items.EndUpdate;
end;
end;

Posted in 软件开发 at April 19, 2006. by 傻猫 .    Views: 6637    1 Comment

尝试银行存款机

以前用过很多次取款机(ATM),昨天去工商银行去存款,好在网上买本书,找遍磨子桥到数码广场的几条街,其它银行全都有,唯独没有工商银行,简直气煞我也.

回头在路边问了一非常热心的小贩,她告诉我就在川大对面有一个,我急忙跑过去,已经是8:15了,银行要8:30才开始营业,郁闷了,还要等一段时间,又怕一会到公司迟到.后来,偶发现银行旁边有好几个柜员机,进去一看,有一个存款机,哈哈,马上看了一下使用说明,放了三张钞票和银行卡进去,咕噜咕噜一阵声音后,柜员机点钞完毕,要偶确认.正确无误,嘿嘿.存完钱后,大摇大摆走出银行,直奔公司.

科学技术就是第一生产力啊,节省了时间,24小时营业,存款机太方便了,尽量不要出什么错误就OK啦.

Posted in 我的生活 at April 19, 2006. by 傻猫 .    Views: 3908    1 Comment