學 Win32 彙編[34] – 宏彙編(1)

從接觸 C 語言時, 我就不大喜歡宏; 但為了看懂別人的代碼也不得不去瞭解.宏可定義在來源程式的任意位置, 但一般放在 .data 前面.有些簡單的宏可以用 equ、textequ 或 = 來代替, 但宏有更複雜的功能."宏" 的本質是 "替換", 但又像極了 "子過程";所以即有宏過程(macro procedure)、也有宏函數(macro function).它既以有參數(可以是: 常數、變數、寄存器、指令、運算式), 有時也需要像子過程一樣聲明.宏可以指定哪些參數是必須的,

什麼是COM?

                                       什麼是COM?   所謂COM(Componet Object Model,元件物件模型),是一種說明如何建立可動態互變組件的規範,此規範提供了為保證能夠互操作,客戶和組件應遵循的一些二進位和網路標準。通過這種標準將可以在任意兩個組件之間進行通訊而不用考慮其所處的作業環境是否相同、使用的開發語言是否一致以及是否運行於同一台電腦。COM的優點?    

_disable_logging如何禁止日誌的產生

 在我們的實際的工作中,非歸檔模式下(注:歸檔模式會導致日誌損壞)使用_disable_logging可以禁止日誌的產生,在此條件下可以很大的提高某些特殊操作(例如批量載入或者Benchmark測試等)的效能.禁止完成的參考樣本:首先我們需要啟動兩個Session,一個用來管理,一個用來測試。1.Session 1 ,使用SYS使用者串連資料庫,當前_disable_logging沒有設定,資料庫處於正常的狀態。$ sqlplus "/ as sysdba"

使用拼音首字母序列實現檢索功能

事實上,解決這個問題的思路很簡單。那就是要找出漢字表中拼音首字母分別為“A”到“Z”的漢字內碼範圍,這樣對於要檢索的漢字,只需要檢查它的內碼位於哪一個首字母的範圍內,就可以判斷出它的拼音首字母。下面完成一個示範程式,選擇“File|New Application”功能表命令,在預設的表單中添加1個Label組件、1個Bevel組件、1個Edit組件和2個ListBox組件。完成對各個組件的屬性設定及布局之後,在Edit組件的OnChange事件中添加如下所示的代碼。 程式碼Procedure T

多標籤主介面使用TRzPageControl

// Author: CXG 2010-08-07 08:22:30unit uMain;{.$HINTS OFF}interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, Menus, RzTabs, RzSplit, RzPanel, ExtCtrls, ComCtrls, RzButton  ,ADODB, DB, ImgList,

儲存/恢複cxGrid布局

//恢複布局 IniFileName := ExtractFilePath(Application.ExeName) + 'Layout/' + Self.Name + '.ini'; if FileExists(IniFileName) then Self.tvResult.RestoreFromIniFile(IniFileName) //從布局檔案中恢複 else begin Self.tvResult.BeginUpdate; for i := 0 to

Delphi 中的 XMLDocument 類詳解(7) – 擷取節點名稱與節點的屬性名稱

unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Button1: TButton; Button2:

WinAPI: SetTextAlign – 設定繪圖環境的文本對齊

//聲明:SetTextAlign( DC: HDC; {裝置環境控制代碼} Flags: UINT {對齊選項}): UINT; {返回對齊選項值; 如果返回 GDI_ERROR 表示設定失敗}//Flags 參數的可選值:TA_NOUPDATECP = 0; {每一次文本輸出後, 不更新當前位置}TA_UPDATECP = 1; {每一次文本輸出後, 更新當前位置}TA_LEFT = 0; {起始於文本外接矩形左邊}TA_RIGHT

知道雙位元組碼, 如何擷取漢字 – 回複 “pinezhou” 的問題

問題來源: http://www.cnblogs.com/del/archive/2008/09/05/1284923.html#1818187{查看同一字串的雙位元組碼和 UniCode 碼}procedure TForm1.Button1Click(Sender: TObject);var str1: AnsiString; str2: UnicodeString; {string = UnicodeString} P: PINT;begin { "萬一" 對應的雙位元組碼是:

NHibernate使用入門(含NHbernate中CodeSmith的使用)

操作步驟:1.在資料庫中建立把.Net類持久化的類2.建立需要被持久化的.Net類3.建立對應檔,告訴NH應該如何去持久化這些類的屬性4.建立NH的設定檔,以後NH怎樣串連資料庫5.使用NH提供的API 一、下載NHibernate進入網站:http://www.hibernate.org/ 下載對應NHibernate包二、第一個入門例子:環境:windows 7 (64 bit)+vs2010+sql server 2008+CodeSmith Professional 5.2setup1:

EXP-00003: 未找到段 (11,419) 的儲存定義解決方案

我在orcle表備份時匯出帶有clob類型欄位表時會出現:EXP-00003: 未找到段 (11,419) 的儲存定義其它可正常匯出,未匯出的是關鍵表 問題描述:遠程伺服器串連另外一台資料庫伺服器時,想從遠程匯出資料,結果有幾張表提示exp_00003錯誤,那幾張都是關鍵表。後來才知道一定要在資料庫本機機子上才可以匯出,所以又案頭遠程到資料庫機子上,才順利匯出。在這強調大欄位表一定要到資料庫本地機子才可匯出。(下轉)對於本地Oracle用戶端版本為9.2.0.1,而資料庫伺服器版本為9.2.0.

兩個關於.NET讀取EXCEL檔案的問題

今天有個同事問我個問題,他在用C#“Microsoft.Jet.OLEDB.4.0”讀取EXCEL檔案的時候,發現了一個問題,是這樣的,他讀出來的EXCEL資料在DATAGRID中顯示的時候,只有文本的資料能夠讀出來,比如某一個儲存格裡面的資料是純數位話,那麼在DATAGRID裡面顯示的空的,什麼都沒有,他讓我看看,我找了好半天的原因沒有找到,後來實在沒有辦法,就換個方法讀,用COM組件,引用了EXCEL組件之後,Excel.Applicatioin ea=new

負載平衡策略

所有的負載平衡產品都需要一定的負載平衡策略來實現,負載平衡策略也被稱為負載平衡演算法。目前,最常用的負載平衡演算法主要有三種:輪循(Round-Robin)、最小串連數(Least Connections First)和快速響應優先(Faster Response Precedence)。² 輪循演算法,就是將來自網路的請求依次分配給叢集中的伺服器進行處理。²

WinAPI: midiInOpen – 開啟 MIDI 輸入裝置

提示: 因為其中的回呼函數是在停機時間內訪問的, 必須在 DLL 中; 要訪問的資料都必須是在固定的資料區段中; 除了PostMessagetimeGetSystemTimetimeGetTimetimeSetEventtimeKillEventmidiOutShortMsgmidiOutLongMsgOutputDebugString 外, 也不能有其他系統調用.//聲明:midiInOpen( lphMidiIn: PHMIDIIN; {用於返回裝置控制代碼的指標;

Delphi Regex文法(2): 或者與重複

// | 號的使用, | 是或者的意思var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007'; reg.RegEx := 'e|Delphi|0'; //使用了 | 記號 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: Cod◆G◆ar ◆ 2◆◆7

常用 API 函數(12): 控制項與訊息函數

AdjustWindowRect給定一種視窗樣式,計算獲得勘探區矩形所需的視窗大小AnyPopup判斷螢幕上是否存在任何彈出式視窗ArrangeIconicWindows排列一個父視窗的最小化子視窗AttachThreadInput連接線程輸入函數BeginDeferWindowPos啟動構建一系列新視窗位置的過程BringWindowToTop將指定的視窗帶至視窗列表頂部CascadeWindows以層疊方式排列視窗ChildWindowFromPoint返回父視窗中包含了指定點的第一個子視窗

理解 Delphi 的類(十) – 深入方法[12] – implementation 區中的方法

//要點12: implementation 區中的過程或函數, 只能在本單元調用unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender:

理解 Delphi 的類(十一) – 深入類中的方法[1] – 虛方法與動態方法

方法來到類中, 以前的特點基本都在;因為類一般是存在於一個繼承鏈中, 所以就有了一些新的概念, 譬如: 繼承、覆蓋;也有了很多新名稱, 譬如: 靜態方法、虛方法、動態方法、抽象方法、類方法、訊息方法.先從虛方法與動態方法開始吧//下面的類中就定義了兩個虛方法(virtual)、兩個動態方法(dynamic)TMyClass = class procedure Proc1(x,y: Real); virtual; function Fun1(x,y: Real): Real; virtual;

初學 Delphi 嵌入彙編[8] – 8 位寄存器、16 位寄存器與 32 位寄存器

王爽老師書上說, CPU 內部主要就是寄存器.現在我們在 32 位的系統下工作, 當然主要使用的是 32 位寄存器; 那它和 8 位、16 位的寄存器又有什麼關係呢?從網上找到一個簡潔明了的圖片:EAX 是 32 位的, 也就是 4 個位元組大小; 它的低兩位就是 AX;AX 是 16 位的, 又分 2 個位元組; 它的高位元組是 AH、低位元組是 AL;AH 與 AL 是 8 位的.這樣就相容了以前的 16 位與 8 位.同理, EBX 就包含著 BX BH BL;ECX 就包含著 CX

WinAPI: InflateRect – 改變矩形大小

//聲明:InflateRect( var lprc: TRect; {要修改的矩形} dx, dy: Integer {變化值}): BOOL;//舉例:procedure TForm1.FormPaint(Sender: TObject);var R: TRect;const s = '%d,%d,%d,%d';begin R := Rect(60, 60, 200, 150); DrawFocusRect(Canvas.Handle, R); Canvas.TextOut(

總頁數: 61357 1 .... 4267 4268 4269 4270 4271 .... 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.