信號量同步多線程

windows.WaitForSingleObject(FEventHandle, 180000);...... FEventHandle := Windows.CreateEvent(nil, false, False, PChar(@FEventName));...... if FEventHandle <> THandle(nil) then Windows.CloseHandle(FEventHandle);......if FEventHandle <>

程式表單及控制項自適應解析度

unit untFixForm;interfaceusesClasses, SysUtils, Controls, Forms;typeTFontedControl = class(TControl)public    property Font;end;TFontMapping = record    SWidth : Integer;    SHeight: Integer;    FName: string;    FSize: Integer;end;procedure FixForm(

shl and shr

格式:運算元 Shl/Shr 移動位元說明:運算元與傳回值都是整數例子:16(10) = 10000(2)     16(10) Shr 1 = 10000(2) Shr 1 = 1000(2) = 8(10)     16(10) Shr 2 = 10000(2) Shr 2 = 100(2) = 4(10)說明:一個整數(I)按位左移一位,相當於把它乘以2,即 I * 2     一個整數(I)按位右移一位,相當於把它除以2,即 I Div 2     一個整數(I)按位左移2

清空和填充內存

FillMemory、ZeroMemory 一目瞭然的兩個函數, 但其實它們都是調用了 FillChar;清空不過就是填充Null 字元(#0: 編號為 0 的字元), 說來說去是一回事.為了下面的測試, 先寫一個以十六進位方式查看記憶體的函數: function GetMemBytes(var X; size: Integer): string;var pb: PByte; i: Integer;begin pb := PByte(X); for i := 0 to size - 1

給結構體指針分配內存

使用結構或結構數組, 一般是不需要主動分配記憶體的, 譬如: var pts: TPoint;begin pts.X := 1; pts.Y := 2; ShowMessageFmt('%d,%d', [pts.X, pts.Y]); {1,2}end;//結構數組:var Arr: array[0..2] of TPoint; i: Integer;begin for i := 0 to Length(Arr) - 1 do begin Arr[i].X := i;

給數組指針分配內存

靜態數組, 在聲明時就分配好記憶體了, 譬如: var arr1: array[0..255] of Char; arr2: array[0..255] of Integer;begin ShowMessageFmt('數組大小分別是: %d、%d', [SizeOf(arr1), SizeOf(arr2)]); {數組大小分別是: 512、1024}end;對靜態數組指標, 雖然在聲明之處並沒有分配記憶體, 但這個指標應該分配多少記憶體是有定數的.這種情況, 我們應該用 New 和

框架格式的組織和發送

var i , x : Integer ;    y :array[0..17] of byte ;begin   y[0] := $fe ;   y[1] := $fe ;   y[2] := $fe ;   y[3] := $fe ;   y[4] := $68 ;   y[5] := $99 ;   y[6] := $99 ;   y[7] := $99 ;   y[8] := $99 ;   y[9] := $99 ;   y[10] := $99 ;   y[11] := $68 ; 

MIS系統許可權控制的一個簡便方法

MIS系統許可權控制的一個簡便方法MIS系統許可權控制的一個簡便方法收藏 新一篇: 創MIS系統的許可權又多又複雜,很多人是在使用者資料表中設定多個欄位,每個欄位代表一個許可權,或者設定一個字串,不同的字元組合表示使用者的不同許可權。簡單一點的,可以預先設定幾個角色,根據角色來行使預設許可權,但又不夠靈活。現介紹一個簡單靈活的許可權分配控制的方法,並無高深見解,只是很多人忽略了它。如果您正在設計許可權控制模式,不妨接著往下看。此方法非常簡潔,擴充性很好。僅用一個 integer

多層開發注重效率的注意點

多層開發注重效率的注意點 1.不同資料型態的傳遞負荷成本注意不要任意的使用 Variant,因為 Variant 雖然好用,但是相對上它使用的成本也非常的高。例如如果你使用 Variant 來代表整數的話,那麼整數本身只佔4 個位元組,但是使用 Variant 來代表它則需要 20 個位元組。當這樣的 Variant在網路上傳遞時是比直接傳遞整數來得緩慢。 2.減少網路的

indy之道

TIdAntiFreeze工作原理:在內部定時停止堆棧調用、然後調用Application.ProcessMessages。Indy支援線程pooling。可以用TIdThreadMgrPool組件利用線程pooling數以百計的線程對於一個忙碌的伺服器,可能需要數以百計、千計的線程。人們普遍誤解     如此多的線程將立刻使系統當掉。其實不然。   對於多數伺服器而言,線程存在期的多數時間用於等待資料。在等待    

hash表的使用

在Delphi中有一個THashedStringlist類,使用這個類可以實現Hash表的操作.使用這個類需要引用IniFiles標頭檔.Hash表正是為了提高檢索速度而設計出來的.  例如:我們定義的資料結構是:以下是引用片段:  RTest = record   Key:Integer;   Name:String[20];   Sex:Boolean;   Age:Integer;   end;   PTest = ^RTest ;   1:建立Hash表.

將FastReport存入數據庫,讀出並更新

 以下代碼在D7+ACCESS+FastReport 3.15版中測試通過.1.將FastReport存入數據庫中:在窗體的"Insert"按鈕的OnClick事件中插入下面代碼:(Insert_rep: TADOQuery.設置SQL語句:select * from reportdata.注:ReportData為放置數據庫的表,其中有欄位ID(標志),REPORT(報表內容))procedure TForm1.Button4Click(Sender:

位元影像顯示地圖

 client.ini[screen]x=1024y=768map.mdbmap_id map_chk_station map_x_min map_x_max map_y_min map_y_max1 1號監測站 574  613  283  3212 2號監測站 517  563  127  1623 4號監測站 854  899  34  74procedure TFormMain.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

用Indy建立收發電子郵件的例子

1、建立工程,在表單中加入IdSMTP1、IdMessage1和IdPOP31(Indy控制項標籤組)控制項各一個。       2、設定    IdSMTP1.Host := 'SMTP.163.com';(我用的是163檢試,具體也可選擇其它伺服器)    IdSMTP1.Username := 'caoyan528';(此處即表示郵箱的帳號名,例如郵箱為:aaaaaa@163.com,則Username即為aaaaaa)    IdSMTP1.Password := 'XXXXXXXX';

FillMemory()、ZeroMemory(),fillchar()

 FillMemory、ZeroMemory 一目瞭然的兩個函數, 但其實它們都是調用了 FillChar;清空不過就是填充Null 字元(#0: 編號為 0 的字元), 說來說去是一回事.為了下面的測試, 先寫一個以十六進位方式查看記憶體的函數:-------------------------------------------------------------------------------- function GetMemBytes(var X; size: Integer):

Delphi控制網路攝影機

Delphi對網路攝影機的控制很簡單,在System,windows和messages三個單元內已定義了所有的底層訊息函數,我們只需要合理的調用它們就行了。我把網路攝影機的有關操作做成一個控制項,這樣就可以拖動表單上直接使用了。{************************************ *    Camera Control for Delphi7    * *          Made by Rarnu           * *        Credit 2006.08.

電子地圖概念

地圖圖層想象圖層是透明的,而每一層都包含了地圖的不同部分。這些圖層是一層層疊加,這樣您就可以看到整個地圖資訊。多個圖層集合組成電腦地圖設想這些圖層是透明的,每一圖層包含地圖的一個不同的部分。這些圖層疊加在一起,使您同時可以看到地圖的所有方面。例如,第一個圖層包含國家邊界,第二個圖層有代表首都的符號,第三個圖層包含高速公路。將這些透明的圖層疊加在一起就組織起一個完整的地圖。地圖圖元有四個基本的圖元樣式:地區對象:覆蓋給出地區的封閉對象。包括多邊形、橢圓形以及矩形。例如,國家的邊界、郵遞區號劃分區的

殺進程和取檔案最近使用時間

unit uFTPclient;interfaceuses  SysUtils,Windows,Tlhelp32;const   FILE_CREATE_TIME=0;    //檔案建立時間   FILE_MODIFY_TIME=1;    //修改時間   FILE_ACCESS_TIME=2;    //最後訪問時間type  TFileTimes   =   (ftLastAccess,   ftLastWrite,   ftCreation);//檔案是否正被使用function

給字元指標(PChar、PWideChar、PAnsiChar)分配記憶體, 最佳選擇是: StrAlloc.

 StrAlloc 雖然最終也是調用了 GetMem, 但 StrAlloc 會在指標前面添加 Delphi 需要的 4 個管理位元組(記錄長度).StrAlloc 分配的記憶體, 用 StrDispose 釋放, 用 StrBufSize 擷取大小.用 FreeMem 釋放可以嗎? 這樣會少釋放 4 個位元組.這種類型的指標一般用於 API 函數的參數, 譬如擷取視窗標題:-------------------------------------------------------------

soap和web services

現在影響世界最重要的技術就要算是I n t e r n e t / I n t r a n e t了,I n t e r n e t / I n t r a n e t不但改變了許多人的生活,也影響了世界運轉的方式。各種商機和軟/硬體的發展也由I n t e r n e t / I n t r a n e t主導。I n t e r n e t / I n t r a n e t的出現也為軟體的開發方式帶來了多元的形式,軟體人員開始使用各種工具來開發I n t e r n e t / I n

總頁數: 61357 1 .... 4807 4808 4809 4810 4811 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.