博文

整理出来的得到汉字拼音的代码(2005-05-10 13:53:00)

摘要: using System;
using System.Text;


namespace HXBTools.Util
  {
   /// <summary>
  ///
  /// </summary>
  public class py
   {
   public py()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
   }

   public static char GetPyChar(char c)
    {
    return GetPyChar("" + (char)c);
   }

   public static char GetPyChar(string strName)
    {
    short code;
    if (strName == "" )
     return ' ';

    code = GetGB2312Code(strName);
  &......

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

ActiveX、OLE和COM介绍(2005-05-10 13:49:00)

摘要:ActiveX、OLE和COM介绍

熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多人们还是比较模糊的。
在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术定义。它们的主要区别是:
1)组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用;
2)组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序;
3)组件为模块重用,而对象为代码重用。
现在,比较流行的组件模型有COM(Component Objiect Module,对象组件模型)/DCOM(Distributed COM,分布式对象组件模型)和CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)。到这里,已经出现了与本文相关的主题COM,而CORBA与本文无关,就不作介绍。之所以从组件与对象的区别说起,是想让大家明确COM和CORBA是处在整个体系结构的最底层,如果暂时对此还不能理解,不妨继续往下看,最后在回过头看一看就自然明白了。
现在开始阐述ActiveX、OLE和COM的关系。首先,让大家有一个总体的概念,从时间的角度讲,OLE是最早出现的,然后是COM和ActiveX;从体系结构角度讲,OLE和ActiveX是建立在COM之上的,所以COM是基础;单从名称角度讲,OLE、ActiveX是两个商标名称,而COM则是一个纯技术名词,这也是大家更多的听说ActiveX和OLE的原因。
既然OLE是最早出现的,那么就从OLE说起,自从Windows操作系统流行以来,“剪贴板”(Clipboard)首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是“死”数据,应用程序开发者得自行编写、解析数据格式的代码,于是动态数据交换(Dynamic Data Exchange,DDE)的通信协定应运而生,它可......

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

C#程序调用外部程序(2005-05-10 13:48:00)

摘要:/*
*  编程语言:Visual  Studio  .NET  C#  (Beta  2)
*  作        者:迪泊威
*  功        能:通过C#程序调用  Windows  记事本程序  编辑一个
*  名为  test.txt  的文本文件。
*
*  在整个程序中  System.Diagnostics.Process.Start(Info)  
*  为主要语句。
*  如果只是单独执行一个外部程序,可用一条如下代码即可:
*  System.Diagnostics.Process.Start(
*  "外部程序名","启动参数");
*/

using  System;

class  test
{
static  void  Main()
{

//声明一个程序信息类
System.Diagnostics.ProcessStartInfo  Info  =  new  System.Diagnostics.ProcessStartInfo();

//设置外部程序名
Info.FileName  =  "notepad.exe&qu......

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

Window 消息大全使用详解(2005-05-10 13:36:00)

摘要:消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,

它在Windows单元中是这样声明的:
type
TMsg = packed record
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量标识符
wParam: WPARAM ; // 32位消息的特定附加信息
lParam: LPARAM ; // 32位消息的特定附加信息
time: DWORD; / /消息创建时的时间
pt: TPoint; / /消息创建时的鼠标位置
end;

消息中有什么?
是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:
hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。
message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。
wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。
lParam 通常是一个指向内存中数据的指针。由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,
因此,它们之间可以相互转换。

WM_NULL = $0000;
WM_CREATE = $0001;
应用程序创建一个窗口
WM_DESTROY = $0002;
一个窗口被销毁
WM_MOVE = $0003;
移动一个窗口
WM_SIZE = $0005;
改变一个窗口的大小
WM_ACTIVATE = $0006;
一个窗口被激活或失去激活状态;
WM_SETFOCUS = $0007;
获得焦......

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

用Visual C#来做组件(2005-05-10 13:32:00)

摘要: 用Visual C#来做组件,其实是一件很容易的事情。至少比用VISUAL C++要容易的多。在本文中,笔者将为您详细介绍如何来做一个组件。我们可以通过二个步骤来完成这个过程:1.制作一个组件;2.在客户端测试这个组件。
一.制作一个组件
1.首先建立一个新类库工程文件
选择File->New->Project->Visual C# Projects->Class Library。填入工程文件名称,并且通过Browse按钮选择文件要存放的目录。然后点击OK。
2.工程文件和他所包含的文件
此时的工程文件中的Solution Explorer已经加了两个C#的类。分别是AssemblyInfo.cs和Class1.cs我们只要关心的是Class1.cs就可以了,AssemblyInfo.cs可以不管它。
3.namespace mcMath(名称空间 mcMath)
双击Class1.cs,就会看到namespace mcMath,我们在客户端调用组件的时候,会涉及到这个namespace:
public long Add (long val1, long val2)
{

return 0;
}
public bool Extra
{
get
{
return true;
}
set
{
}
}

至此,在确认上面的事情都已经完成后,编译这个工程文件时就可以在bin/debug目录里面找到mcMath.dll,它就是组件。但此时的组件没有任何功能,下面我们将进一步的完善它。
4.加入一个方法
从View menu中打开ClassView,我们看到的Class1没有任何方法和属性。现在我们给它加上一个方法和一个属性。
点中Class1,右击,选择Add->Add Method...
这时会弹出VISUAL C#的方法制作向导窗口。你可以在此向导的帮助下,为你的组件加入方法的名称、访问类型、返回值、参数,甚至是注释。用Add和Remove按钮可以方便的从参数列表中增加或删除参数。我们在......

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