2005年06月08日

同学写了一个vb程序,说出现栈溢出。他查不错误,叫我过去看看
我看了半天,也不知道错在哪里。

是什么东西不停地在把数据写入栈呢?死循环吗?看了一下,程序更本没循环结构。函数调用死循环吗?也没有。断点后单步执行了一下,发现程序在一个属性的set里不出来了,直到栈溢出而发生异常。

看了一下,他定义的成员是整型的 aINC,但是属性INC中set 时,语句为INC = Value。我开始看的时候没注意到这里赋值语句里用了属性名。属性赋值时调用属性的set,但是set中继续调用set,如此循环下去了。怪不得它一直不停地在这里做,不出来了。改成aINC = Value就OK了。

不过感觉vb编译有些奇怪,不知道它是怎么编译的,程序根本没有执行到要赋值的语句,在编译时就栈溢出了。编译时对函数调用关系怎么搞的啊?不清楚

上个周末把组件作业做了,我做的是一个菜单项控件。多亏了有本参考书(vb.net彻底研究》)有一个菜单组件的范例,否则光靠我查msdn或是上网搜(我搜了n遍,没结果),我估计我是画不出控件来的。老师说很有新意,我感觉很惭愧,我只是不小心捡到一段我感兴趣的代码,小心看了一下,模仿做出来而已。惭愧。。。

感觉GDI这个东西确实很好玩,只是我不熟悉。

至于我真正自己做的一个针对RichTextBox控件的一个工具控件,老师几乎都没看啊。55555555555555伤心中。。。

我把这两个东西结合起来,做了一个文本编辑器。但是使我超级郁闷的是save的时候达不到我的要求啊。我看了很久msdnRichTextBoxSaveFile方法的介绍,就算存成RTF格式,还是不能把RichTextBox中带字体的格式保存。我知道这肯定是可以的,而且有方法,只是我没找到,或是我没想到。只好继续找方法了。。。

实现后界面如图:


界面

2005年06月03日

今天星期五,我星期五都没课的,偶尔去上一下他们信息安全的课

今天没课,我本来计划好看一下vb.net的书,把组件课的期末作业做好的。老师推荐用一下.net,所以尽管我对vb.net语法都不熟悉,但还是硬着头皮上了。我果然是不行,看了半天还是没把我设想的组件做出来。

今天中午去理发了,原来盖住耳朵的长头发成了平头。:) 同学都认不出来了,呵呵,好玩

接着做vb,我只好多看几个例子,多熟悉一下,明天至少要做出一个来。

2005年06月01日

今天来这里试一下blog

以前在其它地方注册过,但是没发过文章。现在是想真的试用一下blog

在搜索东西的时候搜到这里,觉得很好。

打算在这里安家了。

利用vb所提供的控件,做简单的图片浏览器

具体实现:

所用控件为:DriveDirFileimage

实现效果:


实现代码:

Option Explicit

 

 

Private Sub Dir1_Change()

    File1.Path = Dir1.Path

End Sub

 

 

Private Sub Drive1_Change()

    Dir1.Path = Drive1.Drive

End Sub

 

 

Private Sub File1_Click()

 

 

    Dim strFname As String

    If Right(Dir1.Path, 1) <> "\" Then

        strFname = Dir1.Path & "\" & File1.FileName

    Else

        strFname = Dir1.Path & File1.FileName

    End If

   

    Image1.Picture = LoadPicture(strFname)

   

End Sub

 

 

Private Sub Form_Load()

    Drive1.Drive = "c:"

    File1.Pattern = "*.bmp;*.jpeg;*.jpg;*.gif;*.ico"

End Sub