Time of Update: 2018-12-04
由於一個項目要和第三方軟體做介面,第三方軟體是Unix的作業系統,所以用了Socket來傳輸資料。具體結構是這樣的:本項目作為伺服器端,第三方軟體是用戶端,並且有多個用戶端。通常情況下,要開多個線程來處理多個用戶端,並且一個用戶端要佔用一個連接埠,每個用戶端在訪問服務端時,伺服器端要找到當前閒置連接埠返回給用戶端進行調用。msdn上提供了這種的解決方案:http://www.microsoft.com/china/msdn/archives/library/dncscol/html/csharp
Time of Update: 2018-12-04
{ 2002.07.22 關於如何發送和接收系統訊息 作者:王珍義 nickname:LargeWang(老王) QQ: 33728007 歡迎光臨鵬業軟體 www.pengesoft.com.cn 以下代碼Delphi7.0通過,編譯後啟動兩個進程,然後在一個視窗中點擊Button1試試。}unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Time of Update: 2018-12-04
在《強大的DELPHI RTTI--兼談需要瞭解多種開發語言》一文中,我說了一下我用DELPHI的RTTI實現了資料集的簡單對象化。本文將詳細介紹一下我的實現方法。 首先從一個簡單的例子說起:假設有一個ADODataSet控制項,串連羅斯文資料庫,SQL為: select * from Employee 現在要把它的內容中EmployeeID, FirstName, LastName,BirthDate四個欄位顯示到ListView裡。傳統的代碼如下: With
Time of Update: 2018-12-04
我實現了個,傳輸的檔案大小都沒問題,但是除了文本類型的檔案開啟後查看正常外,其它的檔案比如PDF,rar檔案等都無法開啟。問題我已經找到並解決了,問題的原因是:因為考慮到XML的編碼問題,所以我對傳輸的檔案資料部分的內容進行了加密,在用戶端解密,但是可能是加密解密過程中丟失了某些資訊,所以才會無法開啟。現在我已經把加密解密過程換成採用Mime編碼和解碼。編碼:ItemChildNode.NodeValue :=
Time of Update: 2018-12-04
(轉)VC中使用TAB Control控制項(2009-06-21 10:49:43)標籤:控制項 雜談 分類:vc學習VC中使用TAB Control控制項 假如我現在有個SDI程式,View是Form View,想在上面放個Tab Control,包含兩個Page。現在讓我們來看看應該怎樣處理。首先當然要增加一個Tab Control資源,然後利用Class
Time of Update: 2018-12-04
去年我花了很多時間嘗試用DELPHI進行基於XML的WEB應用開發。起初的設想是很美好的,但結果做出來的東西很簡陋。一部分原因就在於XML到Object之間的資料繫結實現太麻煩(另一部分是因為對XSLT不熟,學習它花了很多時間)。 之前我一直是用DELPHI提供的XML Data binding來做的,基本做法是:先用工具(如XMLSPY)做好一個XML Schema(XSD),然後用XML Data
Time of Update: 2018-12-04
procedure TForm1.MakeWordFile(const UserID : string);var Bookmark: TBookmark; RangeW: Word97.Range; v1: Variant; ov1: OleVariant; Row1: Word97.Row; sQANDD : string;//問題與痛點 sMemo : string;//備忘 sSender:string;//提交人 sPOSTDATE :string;//提交日期
Time of Update: 2018-12-04
HWND是Windows系統中對所有視窗的一種標識,即視窗控制代碼。這是一個SDK概念。 CWnd是MFC類庫中所有視窗類別的基類。微軟在MFC中將所有視窗的通用操作都封裝到了這個類中,如:ShowWindow等等,同時它也封裝了視窗控制代碼即m_hWnd成員。 由HWnd得到CWnd*:CWnd wnd;HWnd
Time of Update: 2018-12-04
IOCP以其高效的效能受到伺服器開發人員的青睞,本人有幸在當前的項目中使用了該非同步模型,修改調試之餘,總結出開發過程中的經驗若干,供大家借鑒。 首先是需要注意的是OVERLAPPED結構。想必該結構大多數人都是自訂新的結構體,將OVERLAPPED成員放置在第一位,然後後置其他成員。 在函數 WSASend, WSARecv, PostQueuedCompletionStatus 以及GetQueuedCompletionStatus
Time of Update: 2018-12-04
本代碼是給予DelphiX的,各位朋友可以去www.2ccc.com上下載步驟:(1)在建立立的工程的主表單上放置以下空間:DXImageList, DXDraw, DXSpriteEngine, DXTimer(2)設定要顯示的圖片:DXImageList -> Items -> 建立一個 TPictureCollectionItem 命名為 BackGroundPicture -> 選擇該項的 Picture 屬性 ->
Time of Update: 2018-12-04
由於對MFC的不熟悉,中間遇到了很多的問題,現總結一二CDialog::OnInitDialog() 在我們自己建立的主對話方塊的初始化函數內有這麼一句,這個函數主要用來對建立的對話方塊執行個體化,雖然是不用我們自己寫,但是若MFC使用不當,也會導致這個函數遇到許多問題,比如:
Time of Update: 2018-12-04
摘要: 在對多線程並發的編程環境下,死結是我們經常碰到的和經常需要解決的問題。所謂死結,即:由於資源佔用是互斥的,當某個線(進)程提出申請資源後,使得有關進程在無外力協助下,永遠分配不到必需的資源而無法繼續運行,這就產生了一種特殊現象死結,如: 線程#1在獲得Lock A後,需要獲得Lock B,而同時,線程#2在Lock B後,需要獲得Lock A。對於線程#1和#2,由雩都不能獲得滿足的條件,而無法繼續執行,死結就形成了。
Time of Update: 2018-12-04
如何從一位菜鳥蛻變成為高手,靈活使用的SQL語句是必不可少的。本文收集了部分比較經典,常用的SQL語句供大家參考,希望對大家有所協助。 說明:複製表(只複製結構,源表名:a 新表名:b) SQL: select * into b from a where 1<>1 說明:拷貝表(拷貝資料,源表名:a 目標表名:b) SQL: insert into b(a, b, c) select d,e,f from b; 說明:顯示文章、提交人和最後回複時間
Time of Update: 2018-12-04
由於項目需要,不得不介入到以前從沒有接觸過的3D編程,我選擇了DX9,當然這也是項目需要,既然是要求快速上手,那麼就最好選擇RAD的開發工具了,顯然用MS的東西比較保險一些,我這個人怕麻煩,最怕出一些莫名其妙的錯誤了,所以這裡C#是比較好的選擇了,當然如果你用VB的話也不錯,反正這兩個差不多,個人偏愛C#一些。 廢話少說,切入正題。 要使用DX,那麼第一件事情就是建立裝置。比起DirectDraw,3D的裝置建立還是稍微簡單一些的: public Device ( System.Int3
Time of Update: 2018-12-04
把這兩個概念放在一起,確實不是很工整。但對於熱衷設計的我們,只要有用就行。 首先來解釋這兩個概念。
Time of Update: 2018-12-04
在實際的項目開發過程中,有時我們需要利用ActiveX組件控制其所在的IE視窗,如隱藏工具條和狀態列、全屏等,以使程式的工作區域最大。 1. 用Delphi建立一個ActiveXForm工程,添加對SHDocVw單元的引用;2. 在Interface段聲明一個自訂的訊息常量,如下所示:const WM_UPDATE = WM_USER + 1;3. 在類的私人段定義如下變數和函數: private FWebBrowser: IWebBrowser2;
Time of Update: 2018-12-04
在上一篇文章(TBB:pipeline,軟體流水線的威力)最後提出了幾個問題,我們逐個來看看TBB::Pipeline是怎麼解決的。 為什麼Pipeline可以保證資料執行的順序?既然TBB歸根到底是通過多線程執行任務,為什麼不會在讀入先後兩個字串後,後讀入的字串先被下一個task處理?Pipeline裡是不是有一個類似於FIFO
Time of Update: 2018-12-04
摘要 本文對VoIP原理和基本實現流程做了介紹,並對乙太網路環境下音頻時延構成進行了分析。實驗結果證明乙太網路環境下音頻時延主要由緩衝區時延和API調用時延構成,其中最主要的部分是API調用時延。論文提出了採用DirectSound介面函數降低API調用時延的方法,並對進一步降低API時延策略進行了探討。 隨著網路技術的快速發展,VoIP技術得到了廣泛的應用。特別是在區域網路環境下,VoIP憑藉其應用便捷,價格低廉的優點,已經成為了人們即時交流的主要方式之一。從實際應用效果來看,時延成為影響V
Time of Update: 2018-12-04
使用DELPHI做多層開發的朋友們都應該對Scktsrvr.exe這個程式不陌生的,Borland公司在DELPHI中給出了它的原始碼。這是一個900來行的程式,程式不算長,現在我只選其中部分仔細讀一讀。走的線路大致是,從伺服器接到用戶端串連,處理用戶端的一個請求(這兒選了用戶端向伺服器發出的'取應用伺服器列表'請求)伺服器接受了用戶端串連後,因為ServerSocket採用的是阻塞模式,伺服器執行了下面這個線程來服務用戶端://SCKTMAIN.PASprocedure
Time of Update: 2018-12-04
設計模式分為三類:1.建立型;2.結構型;3.行為型。建立型:Abstract Factory(抽象工廠)——對象建立型模式 Builder(產生器)——對象建立型模式 Factory Method(Factory 方法)——對象建立型模式 Prototype(原型)——對象建立型模式 Singleton(單件)——對象建立型模式 結構型: Adapter(適配器)——類對象結構型模式 Bridge(橋接)——對象結構型模式 Composite(組成)——對象結構型模式