摘要:
1.Client端 阻塞模式常用在单通道Server自动响应收发数据里面,比如ClientA向ServerB发送报文,并且ClientA只需要它发送的这条数据ServerB对它有一个响应。其实c++ builder 里面阻塞模式的收发数据主要理解TWinSocketStream这个流。void __fastcall TForm1::btn_1Click(TObject *Sender){ /... 阅读全文
摘要:
TDateTime为实现TDateTime数据类型和使用TDateTime数据类型的日期-时间运行库例程的C++类。 TDateTime类继承了double型的val数据成员,其中包含了日期-时间值。TDateTime值的整数部分为自从12/30/1899以来的天数。其小数部分为天的时间。 下列为一些TDateTime值的例子以及对应的日期和时间: 值 日期和时间0 12/30/1899 12:00 am2.75 1/ 1/1900 6:00 pm -1.25 12/29/1899 6:00 am35065 1/ 1/1996 12:00 am 要计算两个日期间的天的小数部... 阅读全文
摘要:
1、预备知识临界区非常适合同一进程中对数据的串行访问,它的速度很快。然而,也许你想要使某些应用程序与机器中的其它事件或者其它进程取得同步,这时你就要使用一些核心对象来同步线程。核心对象包括: .进程 .线程 .文件 .文件变化通知(File Change notification) .控制台输入(Console input) .互斥量(Mutex) .信号量(Semaphore) .事件(Event)每个对象在任何时候都可以处于两种状态之一:有信号(Signaled)和无信号(not signaled)。线程能被置于睡眠状态直到一个对象变成有信号的。线程主要使用下面两个函数来使自己睡眠,以便等 阅读全文
摘要:
一、一般用法我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.用法:#i nclude<cstdio>#i nclude<climits>using namespace std; #define STR(s) #s#define CONS(a,b) int(a##e##b)int main(){ printf(STR(vck)); // 输出字符串"vck" printf("%d\n", CONS(2,3)); // 2e3 输出:2000 return 0;}二、当宏参数是另一个宏的时候需要注意的是凡宏定义里有用& 阅读全文
摘要:
Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线程。当一个进程中用到超过一个线程时,就是所谓的“多线程”。那么这个所谓的“一段代码”是如何定义的呢?其实就是一个函数或过程(对Delphi而言)。如果用Windows API来创建线程的话,是通过一个叫做Creat 阅读全文
摘要:
1.#pragma alignment alignment pragma用于显示一条当前内存对齐(alignment)和枚举(enum)字节大小的消息。例如: W8035: The alignment is 8 bytes, the enum size is 4 bytes该消息必须在打开编译器选项“show general messages”或编译器开关“-wmsg”后才能显示。2.#pragma anon_struct #pragma anon_struct on 允许编译类中内嵌的匿名结构#pragma anon_struct off 禁止编译类中内嵌的匿名结构例如:#pragma an 阅读全文
摘要:
TThread是一个抽象类,可以创建几个独立的线程。类关系 TObject在一个多线程的应用程序中创建一个TThread的后子类代表一个线程。每一新子类的TThread对象的实例是一个新的线程。从TThread派生的多线程实例可以构成Delphi的多线程应用程序。 当一个应用程序运行时,应用程序就被载入内存准备执行。此时,它成为包含一个或多个线程的进程,每个线程含有数据、代码和系统资源。线程执行应用程序的部分内容,并由系统分配CPU时间。同一进程的所有线程共享同一地址空间,可以访问进程的全局变量。线程通过以下工作改善应用的性能:管理多通信设备的输入。 区分任务的优先级。优先级高的处理紧急的.. 阅读全文
摘要:
关于头文件和源文件的分别首先,我们可以将所有东西都放在一个.cpp文件内.然后编译器就将这个.cpp编译成.obj,obj是什么东西?就是编译单元了.一个程序,可以由一个编译单元组成,也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读的话,就请使用多个编译单元吧.(一个函数不能放到两个编译单元里面,但两个以上就可以分别放在一个单元,也就是cpp里面) 那么就是一个.cpp对应一个.obj,然后将所有的obj链接起来(通过一个叫链接器的程序),组成一个.exe,也就是程序了. 如果一个.cpp要用到另一个.cpp定义的函数怎么办? 只需在这个.cpp种写上他的函数声明就可以了.其余. 阅读全文
摘要:
下载:QQ对战平台挤房器处女作,有什么建议联系我QQ290387340 阅读全文
摘要:
系统级热键,不论程序是否有焦点,都能起作用。就像QQ截图上用 ctrl alt A 鍵一样。步骤:注册热键:RegisterHotKey(this->Handle,1008,NULL,VK_F2)//将F2注册为系统级热键RegisterHotKey(this->Handle,1009,NULL,VK_F3)RegisterHotKey是一个API函数,原型:BOOL RegisterHotKey( HWND hWnd, // 接收通知的窗口句柄 int id, // 热键的标识符,区别于其它热键区间(0x0000 0xBFFF) 一个共享的dll标识符区间(0xC000 0xFF 阅读全文