黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客编程 >> 文章正文
[推荐]delphi基础学堂-详细讲解delphi
        ★★★★★
delphi基础学堂-详细讲解delphi
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2007-1-10
 
 
第八讲 消息和进程通信
 
一、基础补充
    1 image的使用
    把图象存为jpeg格式
    2 treeView的简单使用。
    treeView可以带来很好的视觉效果,但生成过程较烦琐。如果是简单应用,我们可以使用一种简单的方法。从文件中一次性读入整个树形结构。
    treeView1.loadFromFile('c:\tree.txt')
    treeView1.selected 返回被选中的节点。
    文本和绝对索引号
 
二、windows消息机制
    windows系统是靠消息的传递来工作的,消息无处不在。其核心结构:ID+wParam+lParam(消息号,参数1,参数2)。消息可以在不同的进程间传递。
    【例】发送消息和接受消息
    我们可以发送系统预先定义的消息,也可以发送自定义的消息。自定义的消息从WM_User开始。
    接收消息就是把一个消息号和一个函数连接起来,使得当那个消息发生的时候,相应的函数就被调用了。
    ◇postmessage和sendMessage是有区别的。postMessage是把消息仍在消息队列后就返回,而sendMessage要一直等到消息被处理才返回。也就是说,用sendMessage实现的是类似与同步处理的操作。
    ◇如果在祖先类中也映射了同一个消息,则本类中的定义优先。如果希望在本类中调用祖先类曾经映射过的函数,方法是: inherited;
    通过消息操作,我们可以模拟鼠标,键盘的动作,用程序来支配一个已知的程序去完成某些动作。比如菜单操作,点击按钮等等。为了监视某一个程序中的消息流,可以使用消息监视工具,如微软公司提供的spy++。
    【例】监视扑克游戏的消息流。通过程序“指挥”该游戏发牌,翻牌等等。
    ◇监视消息时,可以选择消息的输出格式,如果是为了原样照发,可以选择原始格式,否则可以使用解码过的消息格式。
 
三、delphi的消息处理流程
首先是调用Wndproc虚方法。然后依次调用每一个类中的消息映射。
这两种方法都可以调用inherited来重复调用祖先的方法。
 
四、WM_copyData方法实现进程通信
    进程间的内存空间是独立的,这使得不同的进程可以独立运行,互不干扰。但同时也有一个缺点,就是怎样在不同进程间传递数据信息呢?当然可以使用文件,但怎样把这个文件的名字通知对方呢?进程间的通信有多种方法,比如命名管道,内存映射文件等。但最简单的方法是使用一个windows消息:WM_copyData。
 
五、TCP/IP实现进程通信
TCP/IP是一个协议族,而不是一个协议。IP是网络层协议,传递的数据单位是包,目的是在两个主机间透明地传递包。IP的下层是链路层。UDP是用户报文协议的简称。它传递的单位是报文。
UDP是不可靠的协议,在传输中可能会丢包,或重包。但UDP协议占用资源少,机制简单。TCP是可靠的报文传输协议。它可以建立在UDP基础上,也可以建立在IP的基础上。
delphi提供了TNMUDP来支持UDP协议。
delphi提供了TClientSocket和TServerSocket来支持TCP协议的使用
 
六、internet
   delphi不是专门开发静态和动态网页的工具,但使用它提供的组件可以完成这些工作。
 
第九讲 杂项
 
一、程序构造提示
1。文档-视图结构在构造程序过程中被广泛地使用。
我们应当严格地区分数据和数据的表达这两件事情。在窗台上放花或不放花来充当联络信号是表达,它的文档只有一个比特,是0或是1。在构造程序的时候,首先要实现对文档的操作,只要完成了对内部数据结构的控制,就完成了工程的大部分。至于如何显示这个文档,则是个相对容易的问题。
例子:自定义的表格   菜单,按钮的同步表现
2。构造程序时的常量替换法。
鸡兔问题的启发
二、使用Windows资源
资源就是一个二进制的文件。其中提供了命名的数据。它们可以是字符串或图片或声音等。
delphi中一直在使用资源 {$R *.res}
使用资源的优点是:可以在不重新编译的情况下,只要改写资源后连接就可以更新程序。这在不同语言文字间翻译上很有用。
例如:调用一副扑克牌中某一张的图案。
三、使用delphi全局对象
     application
applicatoin 是TApplication类生成的对象,它代表着应用程序本身。其中比较重要的属性
如下:
    application.exename 代表当前运行的可执行文件的带路径全名
    从中解析出纯文件名的方法是: extractFileName   extractFileDir
    icon 代表当前应用的图标。 它出现在主窗口的左上角,也出现在
☆screen
☆printer

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 

文章录入:cainiaowang    责任编辑:cainiaowang 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    VIP 专 区
    抽根憋闷烟的心声
    学习网页制作的理由
    加入终身会员的理由!!!
    学习黑客编程的5大理由
    学习免杀的6大理由
    学习软件破解的理由
    会员账号开通查询
    常见问题解答
    汇款向导
    学员报名咨询
    最 新 热 门
    Visual C++编程窃取QQ密码12-08
    编程实现重起网卡等设备12-07
    一个邮件群发的Delphi代码!12-06
    Delphi下Internet的编程技巧11-20
    Delphi黑客编程-如何映射虚拟盘11-15
    用DETOURS库获取NT管理员权限11-08
    一篇关于vb代码质量提高的文章10-30
    解析Asp.net木马文件操作10-04
    盗QQ源码10-01
    如何映射肉鸡磁盘(Delphi黑客编程09-24
    打造无DLL版穿墙Downloader(Delp09-22
    调用指定的Windows程序(Delphi编09-19
    相 关 文 章
  • 在Delphi编程中使用C语言代码

  • 熊猫烧香核心源码-Delphi编程

  • DELPHI如何利用BHO更改网页内容?

  • Delphi中远程控制的实现

  • Delphi编程-图片的淡入淡出效果

  • Delphi”程序级触发器”功能的实现

  • Delphi编写网络程序的安全措施

  • Delphi编写OICQ自动登陆工具

  • 一个邮件群发的Delphi代码!

  • Delphi 在游戏中创建窗体

  • delphi多线程程序示例

  • 在Delphi中获取和修改文件的时间

  • Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886