摘要: 我们的项目是用DotNet实现Socket连接,用多线程处理多用户。我就谈一下在实现过程中遇到的问题。下面是我服务器的简化实现。  private Socket clientSocket;    public void Start()  {  Thread thread=new Thread(new ThreadStart(MainService));  thread.Start();  }  v... 阅读全文
posted @ 2010-04-18 12:04 7069202a 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 打印基本流程 有了前面的知识,现在我们就可以打印了。Windows打印是有着固定的流程的,流程也比较简单。按照固定的顺序调用打印API即可:StartDoc() -> StartPage() -> 打印具体内容 -> EndPage() -> EndDoc()。如果要打印多页,循环StartPage()至EndPage()即可。 示例代码: DOCINFO doc; Zer... 阅读全文
posted @ 2010-04-18 12:02 7069202a 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 前段时间需要将日志信息通过打印机打印出来。  总结了一下其中的一些用法:  1:用CPrintDialog 可以呼出窗口让用户选择打印机或者采用默认的打印机直接打印。  StartPage…..EndPage 完成一页文档的打印。 如需改变DC设置,需要调用ReSetDC()  多次调用这两个函数,可以实现打印多页  2:TextOut坐标的确定。  TextOut中的坐标是DC中的... 阅读全文
posted @ 2010-04-18 11:59 7069202a 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比较成熟... 阅读全文
posted @ 2010-04-18 11:58 7069202a 阅读(243) 评论(0) 推荐(0) 编辑
摘要: CString位于头文件afx.h中。   CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。  使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手册,但囊括了大部分... 阅读全文
posted @ 2010-04-18 11:57 7069202a 阅读(1019) 评论(0) 推荐(0) 编辑
摘要: 前天同事问我在CFileDialog中多选时按确定按钮后DoModal函数的返回值是IDCANCEL。我说不太可能吧。他的代码大致如下:  static TCHAR BASED_CODE szFilter[] = _T("TXT(*.txt)|*.txt||");  CFileDialog dlg(TRUE,_T("txt"), NULL,OFN_HIDEREADONLY|OFN_ALLOWMUL... 阅读全文
posted @ 2010-04-18 11:57 7069202a 阅读(198) 评论(0) 推荐(0) 编辑