欢迎访问infoheader的Blog——年华似水浪淘沙
E-mail:infoheader@gmail.com
GTalk:infoheader@gmail.com
来自fanfou:

2009年1月28日星期三

摸鱼儿


  问世间、情是何物,直教生死相许?
  天南地北双飞客,老翅几回寒暑。
  欢乐趣,离别苦,就中更有痴儿女。
  君应有语,渺万里层云,千山暮雪,只影向谁去?

2009年1月15日星期四

2009年1月4日星期日

抽风啊抽风


(左图:从岳麓山上看岳麓书院)

  这两天一直有精神分裂的趋向……
  怎么就一直感觉精神恍惚呢。

  上个星期以为校园卡里没钱了,今天发现还有30多;昨天把车子丢了;今天也不顾明天就要考试,下午4点多去爬山,在山上游荡,一直到几乎没有什么人影,一直到觉得风有点冷,一直到没有心情……

  因为没有单车了,来回都是走路,一个来回要一个小时,路上几乎是什么也不想,头脑都是空的,走到头了忽然问自己我到底想什么了,自己也不知道……


(右图:爱晚亭,停车坐爱枫林晚即此)

  从山脚开始游荡,进了南大门右拐,看了爱晚亭,然后随即上山,漫无目的,看到岔路随便选一个走,于是上了一半又绕到了南大门的正上方那个岳麓山派出所,往上走了几步觉得没意思,找个石头坐了一会儿,注意到几棵百年古树。

  觉得这树的生命也真够长的,孤零零地在那里伫立着,也不知道孤单不孤单。到了现在那些树被保护起来,长歪了还要用支架撑着防止倒塌砸到游客。


(左图:上山的路,苍白的天空,还有一些枯树)

  倒是好多树还是绿色的,确实是南方的特点,然而毕竟是冬天,有些地方还是难免萧条。

  南方的冬天难以见到雪,现在气温还没有零下。可是为什么我总是告诉自己和别人我喜欢冬天?不知道。可能没有理由。可能有,但是已经淡忘了。我不喜欢用不知道回答自己,但是我找不到理由。

  有些问题是解释不清楚的。人本身就是不可以解释的。生命是复杂的,复杂到永远都无法精确地解释它。

  今天大概没有什么收获。如果有,那么可能就是去穿石坡湖看了看,看到一个老师带着孩子爬山,两个都人很用力,都把大衣脱下拿在手里,满脸通红。还看到一个老教授跑步上山,那样子似乎比我还年轻,还有活力。

  如果还有,那么就是右边这张爱晚亭的照片。 虽然位置不好,右边有人所以往左移了一些,但是总算是拍摄到大体上没人(其实有,被我有意挡在树后了)的风景图了。一个景点,如果人多了,就不再是风景了。

2009年1月3日星期六

V8 JavaScript引擎

什么是 V8?

V8 是 Google 的开源 JavaScript 引擎。

V8 采用 C++ 编写,可在 Google Chrome(来自 Google 的开源浏览器)中使用。

V8 根据 ECMA-262 第三版中的说明使用 ECMAScript,并在使用 IA-32 或 ARM 处理器的 Windows XP 和 Vista、Mac OS X 10.5 (Leopard) 以及 Linux 系统中运行。

V8 可以独立运行,也可以嵌入任何 C++ 应用程序中。

http://code.google.com/intl/zh-CN/apis/v8/

2008年12月30日星期二

VB表达式计算函数(修正1)

有问题请联系我。
感谢Aegisys[0GiNr]发现未检查减法运算的错误
感谢iceboy发现小数识别的错误


'函数:Calc(Exp As String) As Double
'用于计算包含括号、四则运算的字符串表达式

'infoheader版权所有,转载、使用请注明出处
'Blog:infoheader.blogspot.com
'E-mail:infoheader@gmail.com
'仅供技术交流使用,严禁用于商业用途

'叠代深度(调试用)
'Public Deep As Integer

Public CalcErr As String

Public Function Calc(ByVal Exp As String) As Double
CalcErr = ""
'去空格
Exp = Replace(Exp, " ", "")
'去掉最外括号
While Left(Exp, 1) = "(" And Right(Exp, 1) = ")"
Exp = Mid(Exp, 2, Len(Exp) - 2)
Wend
'括号配对检查
Dim I As Integer, CountL As Integer, CountR As Integer, Chr As String
For I = 1 To Len(Exp)
Chr = Mid(Exp, I, 1)
If Chr = "(" Then
CountL = CountL + 1
ElseIf Chr = ")" Then
CountR = CountR + 1
End If
Next
If CountL <> CountR Then
CalcErr = "括号不匹配"
Exit Function
End If
'计算
Calc = CalcA(Exp)
End Function

Public Function CalcA(ByVal Exp As String) As Double
'Deep = Deep + 1
'(1+2)*3+4*5+2=?
'(1+2)*(3+4)+5=?
'(1+2)*((3+4)*5)+3=?
'11111012222211100

DoEvents '防止死机
Dim LvS As Integer

'循环变量
Dim I As Integer, J As Integer

'对于纯数值
Dim Temp As String, Temp2 As String
Temp = Str(Val(Exp))
Temp2 = Replace(Temp, ".", "0.")
Exp = Trim(Exp)
If Trim(Temp) = Exp Or Trim(Temp2) = Exp Then
CalcA = Val(Exp)
GoTo LAB_END
ElseIf Exp = "" Then '对于空(负号)
CalcA = 0
GoTo LAB_END
End If

'Dim AscN As Integer
'For I = 1 To Len(Exp)
' AscN = Asc(Mid(Exp, I, 1))
' If AscN > 57 Or AscN < ascn =" 47" ascn =" 44" calca =" Val(Exp)" i =" 1" lvs =" I" currentlv =" 0:" lvmb =" False" i =" LvS" currentlv =" CurrentLv"> LvM Then
LvM = CurrentLv
LvMS = I '最大级别启始点
LvMB = True
End If
ElseIf Mid(Exp, I, 1) = ")" Then
CurrentLv = CurrentLv - 1
If LvMB Then
LvME = I '最大级别结束点
LvMB = False
End If
End If
'Lv(I) = CurrentLv '存储级别(优化备用)
Next
'计算最高级括号
Exp = Left(Exp, LvMS - 1) & CalcA(Mid(Exp, LvMS + 1, LvME - LvMS - 1)) & Right(Exp, Len(Exp) - LvME)
CalcA = CalcA(Exp)
GoTo LAB_END

LAB_A2:
'对于没有括号的表达式
'加减法跳转
Dim AscS As Integer
For I = 1 To Len(Exp)
If Mid(Exp, I, 1) = "+" Then GoTo LAB_B1
If Mid(Exp, I, 1) = "-" And I > 1 Then
AscS = Asc(Mid(Exp, I - 1, 1))
If AscS >= Asc("0") And AscS < i =" 1" exp =" CalcA(Left(Exp," calca =" CalcA(Exp)" exp =" Str(CalcA(Left(Exp," calca =" CalcA(Exp)" i =" 1" exp =" Str(CalcA(Left(Exp," calca =" CalcA(Exp)" exp =" Str(CalcA(Left(Exp," calca =" CalcA(Exp)" deep =" Deep">

2008年12月27日星期六

VB表达式计算函数

今天自己写的一个函数,没想到会用了将近两个小时……
还没有进行优化,估计这个函数的效率不怎么样。
没有错误检查功能。如果表达式有问题,那么结果是不可预知的。
写完后调试了半天,检查出多处错误。
如果发现还存在问题请告诉我。
感谢声明:感谢Aegisys[0GiNr]发现未检查减法运算的错误

'函数:Calc(Exp As String) As Double
'用于计算包含括号、四则运算的字符串表达式

'infoheader版权所有,转载、使用请注明出处
'Blog:infoheader.blogspot.com
'E-mail:infoheader@gamil.com
'仅供技术交流使用,严禁用于商业用途


Public Function Calc(Exp As String) As Double
'去空格
Exp = Replace(Exp, " ", "")
'去掉最外括号
While Left(Exp, 1) = "(" And Right(Exp, 1) = ")"
Exp = Mid(Exp, 2, Len(Exp) - 2)
Wend
Calc = CalcA(Exp)
End Function

Public Function CalcA(Exp As String) As Double
'Deep = Deep + 1
'(1+2)*3+4*5+2=?
'(1+2)*(3+4)+5=?
'(1+2)*((3+4)*5)+3=?
'11111012222211100

DoEvents '防止死机
Dim LvS As Integer

'循环变量
Dim I As Integer, J As Integer

'对于纯数值
If Trim(Str(Val(Exp))) = Trim(Exp) Then
CalcA = Val(Exp)
GoTo LAB_END
ElseIf Exp = "" Then '对于空(负号)
CalcA = 0
GoTo LAB_END
End If

'Dim AscN As Integer
'For I = 1 To Len(Exp)
' AscN = Asc(Mid(Exp, I, 1))
' If AscN > 57 Or AscN < 43 Or AscN = 47 Or AscN = 44 Then GoTo LAB_NUM
'Next
'CalcA = Val(Exp)
'GoTo LAB_END
'LAB_NUM:

'括号跳转
For I = 1 To Len(Exp)
If Mid(Exp, I, 1) = "(" Then
LvS = I
GoTo LAB_A1
End If
Next
GoTo LAB_A2

LAB_A1:
'对于有括号的表达式
'存储级别(优化备用)
'Dim Lv() As Integer
'ReDim Lv(Len(Exp)) As Integer
'当前级别,最大级别,最大级别启始,结束,判定
Dim CurrentLv As Integer, LvM As Integer, LvMS As Integer, LvME As Integer, LvMB As Boolean

CurrentLv = 0: LvMB = False
'定级
For I = LvS To Len(Exp)
If Mid(Exp, I, 1) = "(" Then
CurrentLv = CurrentLv + 1
If CurrentLv > LvM Then
LvM = CurrentLv
LvMS = I '最大级别启始点
LvMB = True
End If
ElseIf Mid(Exp, I, 1) = ")" Then
CurrentLv = CurrentLv - 1
If LvMB Then
LvME = I '最大级别结束点
LvMB = False
End If
End If
'Lv(I) = CurrentLv '存储级别(优化备用)
Next
'计算最高级括号
Exp = Left(Exp, LvMS - 1) & CalcA(Mid(Exp, LvMS + 1, LvME - LvMS - 1)) & Right(Exp, Len(Exp) - LvME)
CalcA = CalcA(Exp)
GoTo LAB_END

LAB_A2:
'对于没有括号的表达式
'加减法跳转
Dim AscS As Integer
For I = 1 To Len(Exp)
If Mid(Exp, I, 1) = "+" Then GoTo LAB_B1
If Mid(Exp, I, 1) = "-" And I > 1 Then
AscS = Asc(Mid(Exp, I - 1, 1))
If AscS >= Asc("0") And AscS < Asc("9") Then GoTo LAB_B1
End If
Next
GoTo LAB_B2
LAB_B1:
'对于有加减法的表达式
For I = 1 To Len(Exp)
'计算加减法
If Mid(Exp, I, 1) = "+" Then
Exp = CalcA(Left(Exp, I - 1)) + CalcA(Right(Exp, Len(Exp) - I))
CalcA = CalcA(Exp)
GoTo LAB_END
ElseIf Mid(Exp, I, 1) = "-" Then
Exp = Str(CalcA(Left(Exp, I - 1)) - CalcA(Right(Exp, Len(Exp) - I)))
CalcA = CalcA(Exp)
GoTo LAB_END
End If
Next
LAB_B2:
'对于没有加减法的表达式
For I = 1 To Len(Exp)
'计算乘除法
If Mid(Exp, I, 1) = "*" Then
Exp = Str(CalcA(Left(Exp, I - 1)) * CalcA(Right(Exp, Len(Exp) - I)))
CalcA = CalcA(Exp)
GoTo LAB_END
ElseIf Mid(Exp, I, 1) = "/" Then
Exp = Str(CalcA(Left(Exp, I - 1)) / CalcA(Right(Exp, Len(Exp) - I)))
CalcA = CalcA(Exp)
GoTo LAB_END
End If
Next
LAB_END:
'Deep = Deep - 1
End Function

还有一个星期……

  就要放假回家了。怎么感觉这么快大一的一半就过完了呢……
  还是头一次用HTML写Blog,不太熟悉。
  这段时间学习上感觉没有太大的收获,比较失败。我想还是要多看点儿书吧。

2008年12月24日星期三

无题

  别人在想什么,有的时候我都懒得去想。这是一个无穷无尽的问题——你永远都得不到完整的解答。思想是一直在变化的,你变,别人也变。变化了就需要重新揣测别人的想法。于是一直需要揣测他人。这是一个深奥的问题,同时也很无聊——可是我们都要去做,实际上我们都在做。
  我有些佩服某些哲人了。从万变之中找到不变,确实是一种可行的方法,虽然这"不变"有不正确的风险。寻求本质是他们的目标。可是在我看来,对于我讲这是一件很困难的事情。或许我需要试着这样做。我们都是在独立思考,那么我当然可以有选择思考什么的权力。

无题

2008年12月20日星期六