博文

学习C#引用参数的体会(2007-02-12 01:10:00)

摘要:下面我总结下我对out和ref引用参数的看法:
              1.out和ref引用参数的相同点:都是通过引用传递参数给函数;
              2.out和ref引用参数的不同点是:用ref引用传递参数,该参数必须经过初始化,并且不能在调用它的函数中初始化,以下例子是错误的:
                              namespace refConsoleApp
                                 {
                                      class MyRefClass
           ......

阅读全文(8884) | 评论:1

学习C#委托用法的体会(2007-02-12 01:08:00)

摘要:委托是一种可以把引用封装成命名或者匿名函数的类型.委托的声明制定了一个函数签名,其中包含一个返回类型和参数列表.示例:delegate void SampleDelegate(string message).这里声明要用到关键字delegate.接着声明该委托类型的变量,初始化这个变量为与委托有相同签名的函数引用.最后可以使用委托变量调用这个函数.
     下面来说一下与委托有关联的命名函数与匿名函数:当你用一个命名方法来实例化一个委托的时候,该方法会作为一个参数来传递,示例:
      //声明一个委托
       delegate void Del(int x);
      //定义一个命名函数
      void DoWork(int k)
        { /*                  */}
       //使用该命名方法作为参数来实例化委托
        Del d=obj.DoWork;
      以下给出完整的示例:
//声明一个委托
delegate void Del(int i,double j);
class MathClass
{
   //声明相同签名的函数
   void MultiplyNumbers(int m,double n)
   ......

阅读全文(3830) | 评论:0

XML的学习笔记一(2006-08-22 01:34:00)

摘要:   一.对xml的感性认识        这几天在学习xml(Extensible Markup  Language)可扩展标记语言,对xml的逻辑结构也挺感兴趣的,xml就象我以前学过的数据结构里面的树一样,它有根<root></root>,树枝<child></child>和树叶<subchild></subchild>。 下面根据我的理解写一下完整的xml文档: <?xml version="1.0" encoding="gb2312"?> <root>   <child>     <subchild>......</subchild>  </child> </root>  注意:一个完整的xml文档只有一个根元素,其他的子元素必须在根元素中成对嵌套。第一行是xml的版本信息以及它的编码方式(允许出现中文字符)。第一行和第二行<root>省略了DTD (文挡类型定义)有效校验。       二.xml与html的区别      xml可以自己定义标记,不是预定义的。其自由与可扩展性远远超过html。xml重点是用描述数据与存放数据,而html用来显示数据,因为html可以将数据格式化。xml在浏览器显示是一个没有经过格式化的纯文档类型,这往往不是用户想要看到的浏览结果.那就要通过css(层叠样式表)和xsl(可扩展样式语言)将xml里面存放的数据格式化显示出来,达到用户所要看的表现结果.从这一点可以看出,xml实现了文档内容与表现形式的分离以及同一个文档不同的表现形式.   为了更好的了解它,下面以我看过的一部电影为题材写了以下的代码,这里只提供参考(有不正确的地方恳请指正):  <?xml version="1.0" encoding="gb2312"?>
<?xml-styleshee......

阅读全文(2871) | 评论:0

一个让人心酸心痛的故事(2006-07-03 18:46:00)

摘要:我希望大家都能看到这个帖子,并不期待它是否能成为所谓的精华,但有些东西,有些道理,却往往可以从一个短小精悍的故事里面体会得到。这是一篇让人看完后心很冷的故事。真的希望这真的只是个故事。。。。。。因为心真的很难过。。。   山间公路上三名持枪歹徙居然盯上 漂亮的女司机,强迫中巴停下,要带女司机下车去玩玩,女司机情急呼救,全车乘客噤若寒蝉。   只有一中年瘦弱男子应声奋起,却被打伤在地。男子气极.奋起大呼全车人制止暴行,却无人响应.任凭女司机被拖至山林草丛。半个时辰后,三歹徒与衣衫不整的女司机归来。车又将行.女司机要被打伤流血的瘦弱男子下车。 男子不肯,倔持起来。 喂,你下车吧,我的车不拉你! 中年男子急了,说:你这人怎么不讲道理,我想救你还错吗? 你救我?你救我什么了?女司机矢口否认,引得几个乘客窃笑。 中年男子气极,恨自已身无大侠之力!救人未救成,可也不该得此亡被驱逐下车的结果呀,他坚决不下。再说我买票了,我有权坐车! 司机扬起脸无情地说:不下车,我就不开。 没想到的是,满车刚才还对暴行熟视无睹的乘客们.却却如刚刚睡醒般,齐心协力地劝那男子下车:你快下去吧,我们还有事呢,耽搁不起!有几位力大的乘客甚至想上前拖这中年男子下车,使人想起莫泊桑笔 下《羊脂球》里的情节。 三个歹徒咧着嘴笑.得意地笑了。其中有个黑皮无赖毫不知耻地说:哥们把她玩恣了!另外两个歹徒也胡言乱语:她是我对象,关你*事!一场争吵,直到那男子的行李从车窗扔出,他随后被推搡而下。 汽车又平稳地行驶在山路上,女司机掠了一下头发,按响了录音机。 车快到山顶,拐过弯去就要下山了,车左侧是劈山开的路,右侧是百丈悬崖。汽车悄悄地加速了,女司机脸上十分平静,双手紧握着方向盘,眼睛里淌出晶莹的泪水。一歹徒似乎觉察到了什么,说:慢点开,慢点开, 你***想干什么? 女司机并不说话,车速越来越快。歹徒企图扑上去抢方向盘,汽车却像离弦的箭向悬崖冲去...... 第二天,当地报纸报道:伏虎山区昨日发生惨祸,一中巴摔下山崖。车上司机和十三名乘客无一生还。 半路被赶下车的中年人看到报纸哭了。谁也不知道他哭什么,为什么哭。......

阅读全文(2897) | 评论:1

给PB初学者的建议(2006-05-17 10:46:00)

摘要:给初学者提点建议:

  如果是学习计算机软件专业的,则不要刻意模仿别人的程序,不要急于编写程序。最重要的两点,加强对相关概念的理解,强化记忆PB中常用的函数、事件、语句和属性。所以,对于案例之类的书,我觉得完全可以不看,它只会让你的依赖性更强,抹杀你自己的编程创造力。

   所以,边学、边看书、边自己动手编写,即使很短的语句,也要自己动手用一下,想法为它构造一个小程序。这样你的编程创造力才会逐渐加强,你才能将所学内容都应用起来。

   高中的物理定理、数学中的公式,我们都能理解、掌握,但是不见得什么样的习题我们都可以解答得出来。编程序也是这样,它就是我们的习题,需要我们综合运用PB的知识,再加上我们大学里面系统学习的算法、软件工程思想等,这样才能将我们的每一个习题解答好。所以,如果你学习的目标是编写程序,就应该在每一个基本功上下功夫,尝试着使用每一个刚刚学习到的知识点。

   举一个最简单的例子,带参数打开一个窗口,参数是数字,不大于一个Tab控件拥有的Tabpage数,要求直接显示该数字所指示的TabPage页。比如,参数为3,则自动打开第3个Tabpage。传递参数使用OpenWithParm,接收参数使用Message.StringParm,打开指定的Tabpage使用SelectTab。这个小小问题的解决,能看出你对Open事件触发时机的理解。所以,模仿做程序不会提高你的编程能力,理解才是真谛。

   另外,我觉得PB中最重要的是理解事件的触发时机,其次是掌握数据窗口(包括数据窗口对象和数据窗口控件),另外还需要非常透彻的掌握80个左右的常用函数和语句就可以了。

   希望对朋友们的学习有所帮助,欢迎切磋。
......

阅读全文(2453) | 评论:0

java的计算器(用jb+jc写的)(2006-05-07 12:10:00)

摘要:本人这个计算器包括了图标的设置以及运用windows控制台命令调用.chm帮助文档,若有不妥之处,还请高手们指正!==================================================================== import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.awt.Toolkit;
import javax.swing.JOptionPane;
import java.io.*;
import java.lang.*;
public class CalculatorTest extends JFrame{
  JPanel contentPane;
  JMenuItem jMenuHelpAbout,jMenuPaste,jMenuCopy,jMenuHelpTopic,jMenuScience;
  JTextField jTextField1,jTextField2;
  JButton memoryClean,num7,num8,num9,multiple,memoryRecall,num4,num5,num6,divide,
  Clean,Clean1,Clean2,memorySet,num1,num2,num3,minus,equal,memoryAdd,num0,negative,
  point,add,sqrt,mod,dao;
  String copy;//复制变量
  private double num;//按下运算按钮时,jTextField1的数值被记录到私有变量num中
  private double memory;//记录临时需要记录的数值
  private int operator;//记录运算符种类,加、减、乘、除依次是1、2、3、4
  private boolean isNewNum;//......

阅读全文(3999) | 评论:1