博文
学习C#引用参数的体会(2007-02-12 01:10:00)
摘要:下面我总结下我对out和ref引用参数的看法:
1.out和ref引用参数的相同点:都是通过引用传递参数给函数;
2.out和ref引用参数的不同点是:用ref引用传递参数,该参数必须经过初始化,并且不能在调用它的函数中初始化,以下例子是错误的:
namespace refConsoleApp
{
class MyRefClass
......
学习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)
......
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......
一个让人心酸心痛的故事(2006-07-03 18:46:00)
摘要:我希望大家都能看到这个帖子,并不期待它是否能成为所谓的精华,但有些东西,有些道理,却往往可以从一个短小精悍的故事里面体会得到。这是一篇让人看完后心很冷的故事。真的希望这真的只是个故事。。。。。。因为心真的很难过。。。 山间公路上三名持枪歹徙居然盯上 漂亮的女司机,强迫中巴停下,要带女司机下车去玩玩,女司机情急呼救,全车乘客噤若寒蝉。 只有一中年瘦弱男子应声奋起,却被打伤在地。男子气极.奋起大呼全车人制止暴行,却无人响应.任凭女司机被拖至山林草丛。半个时辰后,三歹徒与衣衫不整的女司机归来。车又将行.女司机要被打伤流血的瘦弱男子下车。 男子不肯,倔持起来。 喂,你下车吧,我的车不拉你! 中年男子急了,说:你这人怎么不讲道理,我想救你还错吗? 你救我?你救我什么了?女司机矢口否认,引得几个乘客窃笑。 中年男子气极,恨自已身无大侠之力!救人未救成,可也不该得此亡被驱逐下车的结果呀,他坚决不下。再说我买票了,我有权坐车! 司机扬起脸无情地说:不下车,我就不开。 没想到的是,满车刚才还对暴行熟视无睹的乘客们.却却如刚刚睡醒般,齐心协力地劝那男子下车:你快下去吧,我们还有事呢,耽搁不起!有几位力大的乘客甚至想上前拖这中年男子下车,使人想起莫泊桑笔 下《羊脂球》里的情节。 三个歹徒咧着嘴笑.得意地笑了。其中有个黑皮无赖毫不知耻地说:哥们把她玩恣了!另外两个歹徒也胡言乱语:她是我对象,关你*事!一场争吵,直到那男子的行李从车窗扔出,他随后被推搡而下。 汽车又平稳地行驶在山路上,女司机掠了一下头发,按响了录音机。 车快到山顶,拐过弯去就要下山了,车左侧是劈山开的路,右侧是百丈悬崖。汽车悄悄地加速了,女司机脸上十分平静,双手紧握着方向盘,眼睛里淌出晶莹的泪水。一歹徒似乎觉察到了什么,说:慢点开,慢点开, 你***想干什么? 女司机并不说话,车速越来越快。歹徒企图扑上去抢方向盘,汽车却像离弦的箭向悬崖冲去...... 第二天,当地报纸报道:伏虎山区昨日发生惨祸,一中巴摔下山崖。车上司机和十三名乘客无一生还。 半路被赶下车的中年人看到报纸哭了。谁也不知道他哭什么,为什么哭。......
给PB初学者的建议(2006-05-17 10:46:00)
摘要:给初学者提点建议:
如果是学习计算机软件专业的,则不要刻意模仿别人的程序,不要急于编写程序。最重要的两点,加强对相关概念的理解,强化记忆PB中常用的函数、事件、语句和属性。所以,对于案例之类的书,我觉得完全可以不看,它只会让你的依赖性更强,抹杀你自己的编程创造力。
所以,边学、边看书、边自己动手编写,即使很短的语句,也要自己动手用一下,想法为它构造一个小程序。这样你的编程创造力才会逐渐加强,你才能将所学内容都应用起来。
高中的物理定理、数学中的公式,我们都能理解、掌握,但是不见得什么样的习题我们都可以解答得出来。编程序也是这样,它就是我们的习题,需要我们综合运用PB的知识,再加上我们大学里面系统学习的算法、软件工程思想等,这样才能将我们的每一个习题解答好。所以,如果你学习的目标是编写程序,就应该在每一个基本功上下功夫,尝试着使用每一个刚刚学习到的知识点。
举一个最简单的例子,带参数打开一个窗口,参数是数字,不大于一个Tab控件拥有的Tabpage数,要求直接显示该数字所指示的TabPage页。比如,参数为3,则自动打开第3个Tabpage。传递参数使用OpenWithParm,接收参数使用Message.StringParm,打开指定的Tabpage使用SelectTab。这个小小问题的解决,能看出你对Open事件触发时机的理解。所以,模仿做程序不会提高你的编程能力,理解才是真谛。
另外,我觉得PB中最重要的是理解事件的触发时机,其次是掌握数据窗口(包括数据窗口对象和数据窗口控件),另外还需要非常透彻的掌握80个左右的常用函数和语句就可以了。
希望对朋友们的学习有所帮助,欢迎切磋。
......
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;//......