2008年5月3日星期六
喜怒无常
在上中学的时候,每当自己做错事或者发脾气,会在日记中反省,或者在操场上静思,修炼得脾气不错,大学的毕业留言册上,大多数同学的评价是笑眯眯,幽默风趣,完全是一副正派形象。毕业后这么多年,把好脾气都磨没了。发现自己越发喜怒无常,控制不住,并且不想控制,更想发泄一通。
也许是被压抑太多,本性又是最不愿受约束的人,自我压抑的结果就像是把恶因包成一团裹在体内,终究会膨胀发作,除非能够将之消弭于无形。可是消弭恶因也许需要很大法力或者其他的东西,恶因不是那么容易感化的,就像裘千仞,假如我是裘千仞,也许更是杀人如麻,把力量倾泻在生命肉体之上,体内恶因才能得以宣泄,然后再自责,人性的善恶交战,也许每个人都在不安中度过一生,只是程度不同或者自我敏感不同。
成功的人士总是说:人要战胜只是自己而已。战胜自己就意味着自我修炼,思想的自我修炼。我也知道,只是谈何容易啊?
罢了,我便如此了,又能如何?
对各地人之印象,纯个人偏见
北方人,特别是东北人,嘴皮子功夫普遍比较强,说话一套一套的,有逻辑,但是大多数时候都很空洞,个人偏见:语言的巨人,行动的矮子,所以一见到能说会道的东北人,个人首先戴上有色眼镜看待了。北方人喝酒豪爽确实是,不过在酒桌上比较不适应的一点是,喝起酒来就敢和你称兄道弟,一副相见恨晚的样子,汗!
北京人:北京人嘴皮子功夫全世界一流,优越感全中国一流,所以吹牛水平也高,个人比较不喜欢北京人,因为实在讨厌那种优越感,有些北京人(其实大部分北京人)也就是在北京定居下来了,摇身一变成为北京人,假装也带点京腔,行为和语言最恶心。
河南人:似乎口碑不好,接触也不多,没有什么特别印象。
江苏,浙江人:这两个省份都是经济大省,基本上都是能干肯干能吃苦,不过精明小气跟上海人差不多,酒桌上,浙江人比江苏人豪爽些,跟江苏人喝酒那叫一个不痛快,他半瓶啤酒能对你一斤白酒(夸张点),完了好像他还是舍命陪君子,不过他们本地人之间也许不是这样吧。办事跟喝酒差不多,谈合作先想跟你合作有多大利值不值,经过盘算不值的话一般就没有积极性,完全是你求对方的姿态。
广东人:比较喜欢广东人,喝酒也是,不是朋友,不会跟你称兄道弟,客气做到,一旦交情深了,喝酒非常爽快,虽然酒量不大,喝啤酒,一小杯一小杯的干,感觉痛快。办事灵活,谈合作就跟喝酒一样,来者不拒,都有可能成为朋友,所以一开始都是客客气气都能合作,一步步来看着办。
福建人:跟广东人类似,但是因为比广东穷,所以比广东人心狠。据说在海外福建人的名声比较不好,唐人街里的黑社会多是福建人。
2008年5月2日星期五
开始发烧路
3天后就到货了,期待中。。。
2008年4月29日星期二
一个很好用的类
With TDS2Excel.Create(TDataSet(ADOQuery1)) do
Try
Save2File(SaveDialog1.FileName, True);
finally
Free;
end;
只用了5分钟就给程序添加了导出excel功能,剩下的时间就用来发这篇文章了:)
===========================================
unit UntObject;
interface
Uses
DB, Classes;
var
CXlsBof: array[0..5] of Word = ($809, 8, 0, $10, 0, 0);
CXlsEof: array[0..1] of Word = ($0A, 00);
CXlsLabel: array[0..5] of Word = ($204, 0, 0, 0, 0, 0);
CXlsNumber: array[0..4] of Word = ($203, 14, 0, 0, 0);
CXlsRk: array[0..4] of Word = ($27E, 10, 0, 0, 0);
CXlsBlank: array[0..4] of Word = ($201, 6, 0, 0, $17);
Type
TDS2Excel = Class(TObject)
Private
FCol: word;
FRow: word;
FDataSet: TDataSet;
Stream: TStream;
FWillWriteHead: boolean;
FBookMark: TBookmark;
procedure IncColRow;
procedure WriteBlankCell;
procedure WriteFloatCell(const AValue: Double);
procedure WriteIntegerCell(const AValue: Integer);
procedure WriteStringCell(const AValue: string);
procedure WritePrefix;
procedure WriteSuffix;
procedure WriteTitle;
procedure WriteDataCell;
procedure Save2Stream(aStream: TStream);
Public
procedure Save2File(FileName: string; WillWriteHead: Boolean);
Constructor Create(aDataSet: TDataSet);
end;
implementation
uses SysUtils;
Constructor TDS2Excel.Create(aDataSet: TDataSet);
begin
inherited Create;
FDataSet := aDataSet;
end;
procedure TDS2Excel.IncColRow;
begin
if FCol = FDataSet.FieldCount - 1 then
begin
Inc(FRow);
FCol :=0;
end
else
Inc(FCol);
end;
procedure TDS2Excel.WriteBlankCell;
begin
CXlsBlank[2] := FRow;
CXlsBlank[3] := FCol;
Stream.WriteBuffer(CXlsBlank, SizeOf(CXlsBlank));
IncColRow;
end;
procedure TDS2Excel.WriteFloatCell(const AValue: Double);
begin
CXlsNumber[2] := FRow;
CXlsNumber[3] := FCol;
Stream.WriteBuffer(CXlsNumber, SizeOf(CXlsNumber));
Stream.WriteBuffer(AValue, 8);
IncColRow;
end;
procedure TDS2Excel.WriteIntegerCell(const AValue: Integer);
var
V: Integer;
begin
CXlsRk[2] := FRow;
CXlsRk[3] := FCol;
Stream.WriteBuffer(CXlsRk, SizeOf(CXlsRk));
V := (AValue shl 2) or 2;
Stream.WriteBuffer(V, 4);
IncColRow;
end;
procedure TDS2Excel.WriteStringCell(const AValue: string);
var
L: Word;
begin
L := Length(AValue);
CXlsLabel[1] := 8 + L;
CXlsLabel[2] := FRow;
CXlsLabel[3] := FCol;
CXlsLabel[5] := L;
Stream.WriteBuffer(CXlsLabel, SizeOf(CXlsLabel));
Stream.WriteBuffer(Pointer(AValue)^, L);
IncColRow;
end;
procedure TDS2Excel.WritePrefix;
begin
Stream.WriteBuffer(CXlsBof, SizeOf(CXlsBof));
end;
procedure TDS2Excel.WriteSuffix;
begin
Stream.WriteBuffer(CXlsEof, SizeOf(CXlsEof));
end;
procedure TDS2Excel.WriteTitle;
var
n: word;
begin
for n := 0 to FDataSet.FieldCount - 1 do
WriteStringCell(FDataSet.Fields[n].FieldName);
end;
procedure TDS2Excel.WriteDataCell;
var
n: word;
begin
WritePrefix;
if FWillWriteHead then WriteTitle;
FDataSet.DisableControls;
FBookMark := FDataSet.GetBookmark;
FDataSet.First;
while not FDataSet.Eof do
begin
for n := 0 to FDataSet.FieldCount - 1 do
begin
if FDataSet.Fields[n].IsNull then
WriteBlankCell
else begin
case FDataSet.Fields[n].DataType of
ftSmallint, ftInteger, ftWord, ftAutoInc, ftBytes:
WriteIntegerCell(FDataSet.Fields[n].AsInteger);
ftFloat, ftCurrency, ftBCD:
WriteFloatCell(FDataSet.Fields[n].AsFloat);
else
WriteStringCell(FDataSet.Fields[n].AsString);
end;
end;
end;
FDataSet.Next;
end;
WriteSuffix;
if FDataSet.BookmarkValid(FBookMark) then FDataSet.GotoBookmark(FBookMark);
FDataSet.EnableControls;
end;
procedure TDS2Excel.Save2Stream(aStream: TStream);
begin
FCol := 0;
FRow := 0;
Stream := aStream;
WriteDataCell;
end;
procedure TDS2Excel.Save2File(FileName: string; WillWriteHead: Boolean);
var
aFileStream: TFileStream;
begin
FWillWriteHead := WillWriteHead;
if FileExists(FileName) then DeleteFile(FileName);
aFileStream := TFileStream.Create(FileName, fmCreate);
Try
Save2Stream(aFileStream);
Finally
aFileStream.Free;
end;
end;
end.
{ 背景:今天要把DataSet导入Excel,查询以前的贴子,一部分用Ole,速度太慢,
一部分用ADO连接到Excel文件,也很慢,一气之下把DBGrigEh的导出部分改了出来,
欢迎大家指教、改进。
功能:将数据集的数据导入Excel;
用法:With TDS2Excel.Create(TDataSet(ADOQuery1)) do
Try
Save2File(SaveDialog1.FileName, True);
finally
Free;
end;
作者:Caidao (核心代码来自Ehlib)
时间:2003-04-09
地点:汕头
}
2008年4月28日星期一
自由跑
所以,需要提倡一种自由跑,想跑就多跑,不想跑就少跑,随自己心情而定,快乐跑步而不是为完成跑步而跑步。随性而跑,比如上班路上跑一段,心情高兴跑一跑,心情不好跑一跑。这样就不会有压力了。
自由跑还有一个权限,就是想跑就跑,不想跑就不跑。这个看个人情况而定吧,在本人这么懒惰的情况下,这个权限不能放开,每天得跑,跑多少,自由跑!
2008年4月25日星期五
再说抵制的力量
网民抵制的力量还是不小的,因为这个群体的数量已经很庞大了。还有很重要的一点是,网民的思想行为会影响到不上网的人群,现在即使不上网的人,也都知道有上网这回事。所以网络上的前卫思潮也会影响到不上网的人。
抵制的力量就在于思潮传播速度极快,传播面很广。就跟池塘里的蓝藻似的,每天的生长面积都翻倍。
所以,实名制是难免的。
2008年4月23日星期三
打造超超静音电脑b(2)
上图,本来是自己拍的,结果相机没电了,充电器也找不着了(基本上是一种混乱无整理的生活,完全不符合本人稳重的形象)
再说一下电脑配置:
cpu AMD le1600,2.2G主频,原装风扇,45W TDP;160G 希捷硬盘;1G内存;七彩虹780G主板,集成显卡,航嘉冷静王标准版电源,采用12厘米风扇。
因为打造静音电脑的前提条件就是采用低功耗配件,P4或赛扬D 那样的发热大户,要采用低转速风扇,困难大了点。
机器装回来就把cpu主频降到2.0G了,同时把cpu核心电压调到1.05V(降压),运行非常稳定。至于性能,我是感觉不出来差别,这款cpu的性能不错,比赛扬系列强很多,跟P4 3.0差不多吧。降频有助于降低cpu发热量。这是打造超超静音电脑的第一步。
第二步:把风扇调速器传到cpu风扇上,然后旋转调节按钮,风扇转速从原来的2500转调整到1700转,运行一个下午,又进一步降低到1200转,本来装了一个speedfan,好像不支持这种新出的主板,就又卸载了。在COMS查看,cpu温度22度,主板温度50度,主板集成超强的HD3200显卡,可能是温度较高的原因,不过整机运行稳定,说明可行。在这个转速下,cpu风扇声音非常小了,得凑近听才能听到噪音。
第三步:调电源风扇cpu,稍微麻烦一些。把电源拆下来,打开外壳(保修没有了,不过关系不大,呵呵),电源的cpu风扇没有可拔插的接头,一红一黑电源线是焊在电路板上的,看了一下,是+12V供电,也就是和输出线的黄线是一样的。把风扇电源线剪断,穿到外面来,然后把电源外壳装回去。从电源输出线里找出软驱接头,把黄线和黑线抽出来,对应接到风扇调速器的红线和黑线上(调速器上还有一根黄线,是测转速的,在电源风扇上用不着,空着),调速器的另一端接到刚才剪断的电源风扇线上,用到了透明胶带和电烙铁。通电测试,凑近电源,一边听声音一边调速,直到明显感觉噪音下降,试试电源出风口,还是有明显风感,应该问题不大。
这样就完成了,剩下的工作就是看电脑稳定性了。
在本文发布的时候,电脑在此状态下运行了一天时间,非常稳定,在半夜12点的时候,不刻意去听察觉不到电脑运行的声音,效果非常理想。白天的话更是听不到电脑噪音。
所花费用:两个风扇调速器8元*2=16元,快递12元,非常廉价。

