Time of Update: 2018-12-07
Win32 彙編工具主要有 MASM 和 TASM; 我選擇前者, 理由是使用範圍廣, 便於交流.根據介紹, 我先下載了 MASM32(http://www.masm32.com/), 發現不錯, 但不是我最想要的.後來找到了 RadASM(官方地址: http://www.oby.ro/rad_asm/index.html)我最終選擇了 cao_cong 做的 RadASM 漢化整合套件(http://www.hanzify.org/?Go=Show::List&ID=9417),
Time of Update: 2018-12-07
; Test2_1.asm.386.model flat, stdcallinclude windows.incinclude user32.incinclude kernel32.incincludelib user32.libincludelib kernel32.lib.data szCaption db 'Hi', 0 szMsg db 'Hello World!', 0.codestart: invoke MessageBox, NULL, addr
Time of Update: 2018-12-07
在熟悉指令、偽指令和彙編文法的過程中, 首先需要的是輸出顯示的手段.我剛開始學習時使用的是控制台輸出, 最後發現既然是 Win32 彙編還是用 Debug 輸出更好.下面是之前嘗試出的控制台輸出的幾種辦法:1、使用 MASM 提供的 StdOut 函數;2、使用系統 API: 3、使用微軟 C 標準庫 msvcrt.dll 中的 printf 函數.使用 MASM 的 StdOut 函數:; Test3_1.asm; 測試代碼前應先建立一個控制台工程: 檔案 -> 建立工程 ->
Time of Update: 2018-12-07
由於 Debug 輸出是使用的標準的 Win32 視窗, 所以 include 和 includelib 的檔案較多.這樣建立工程時就不需要是控制台程式了, 工程建立方法:檔案 -> 建立工程 -> 工程類型: Win32 App (no res) ...PrintString: 輸出字串變數; Test4_1.asm.386.model flat, stdcallinclude windows.incinclude kernel32.incinclude
Time of Update: 2018-12-07
類型描述類型縮寫位元位元組數浮點數有效位數值範圍位元組BYTEDB81 0..255有符號位元組SBYTEDB81 -128..127字WORDDW162 0..65535有符號字SWORDDW162 -32768..32767雙字DWORDDD324 0..4294967295有符號雙字SDWORDDD324 -2147483648..2147483647遠字FWORDDF486 四字QWORDDQ648 十位元組TBYTEDT8010 單精確度浮點數REAL432461.18*10-38..
Time of Update: 2018-12-07
聲明數組執行個體:; Test6_1.asm.386.model flat, stdcallinclude windows.incinclude kernel32.incinclude masm32.incinclude debug.incincludelib kernel32.libincludelib masm32.libincludelib debug.lib.data ;聲明並初始化有三個元素的 DWORD 數組; 該數組每個元素是 4 位元組
Time of Update: 2018-12-07
例一; Test7_1.asm.386.model flat, stdcallinclude windows.incinclude kernel32.incinclude masm32.incinclude debug.incincludelib kernel32.libincludelib masm32.libincludelib debug.lib.data v1 db 'ABCDEFG', 0 v2 db "ABCDEFG", 0 v3 db
Time of Update: 2018-12-07
算術運算子名稱優先順序()圓括弧1+,-正、負2*,/乘、除3MOD模數3+,-加、減4算術運算子樣本:; Test8_1.asm.386.model flat, stdcallinclude windows.incinclude kernel32.incinclude masm32.incinclude debug.incincludelib kernel32.libincludelib masm32.libincludelib debug.lib.codestart:
Time of Update: 2018-12-07
procedure TForm1.FormCreate(Sender: TObject);begin { DisplayFormat } with TIntegerField.Create(Self) do begin FieldName := 'Integer'; DisplayFormat := '#, 元'; DataSet := ClientDataSet1; end; with TDateField.Create(Self) do begin
Time of Update: 2018-12-07
運行時的設計方法:設計時的準備工作:ClientDataSet1、DataSource1、DBGrid1 並關聯, 這用於主表;ClientDataSet2、DataSource2、DBGrid2 並關聯, 這將成為主表的一個欄位(或叫巢狀表格);還可以放個 Splitter1 來協調 DBGrid 的大小.procedure TForm1.FormCreate(Sender: TObject);begin { 主表: 定義了兩個欄位, 其中 "銷售明細" 是 DataSet 欄位 }
Time of Update: 2018-12-07
Required、Precision、MaxValue、MinValue:begin { Required: 必要欄位 } with TIntegerField.Create(Self) do begin FieldName := 'ID'; Required := True; DataSet := ClientDataSet1; end; { Precision: 浮點數精度} with TFloatField.Create(Self) do begin
Time of Update: 2018-12-07
測試圖:測試代碼:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CheckLst, Grids, DBGrids, DB, DBClient;type TForm1 = class(TForm) ClientDataSet1: TClientDataSet; DataSource1:
Time of Update: 2018-12-07
測試使用了官方的範例檔案(主表: orders.xml; 從表: items.xml).//先在表單上添加: //ClientDataSet1、DataSource1、DBGrid1、ClientDataSet2、DataSource2、DBGrid2; 然後:procedure TForm1.FormCreate(Sender: TObject);begin { 關聯資料集 } DBGrid1.DataSource := DataSource1; DataSource1.DataSet
Time of Update: 2018-12-07
定義子過程的偽指令: PROC、ENDP; Test9_1.asm.386.model flat, stdcallinclude windows.incinclude kernel32.incinclude masm32.incinclude debug.incincludelib kernel32.libincludelib masm32.libincludelib debug.lib.code ;子過程 proc1: proc1 proc
Time of Update: 2018-12-07
TClientDataSet 可以直接存取的 XML 有自己的格式規範, 存取其他格式 XML 需要相應的對應檔(*.xtr).這種 *.xtr 檔案是用 XML Mapper(Delphi 內建, 可從開始菜單或 IDE -> Tools 啟動)製作的.一般會需要兩個 *.xtr 檔案, 一個用於讀取(例子中是: ToDp.xtr), 一個用於寫入(例子中是: ToXml.xtr).可以通過 *.xtr 檔案唯讀寫源 XML 中的部分資料, 如果讀取過於複雜的 XML 會產生嵌套的
Time of Update: 2018-12-07
自動成長欄位://建立方法一:begin with ClientDataSet1 do begin FieldDefs.Add('ID', ftAutoInc); FieldDefs.Add('Name', ftString, 11); CreateDataSet; end;end;//建立方法二:begin with TAutoIncField.Create(Self) do begin FieldName := 'ID';//
Time of Update: 2018-12-07
下載 PMark 1.0解壓後只有兩個檔案: PMark_1.exe(主程式)、Dict.dat(詞庫), 運行 PMark_1.exe 即可.程式自動產生的其他輔助檔案都可以隨時刪除.如果音標顯示異常, 是因為缺少音標字型檔, 隨便 下載 ksphonetic.ttf 一個放到 Windows\Fonts\ 下即可.Dict.dat 中的資料(近 14 萬條)主要來自《現代英漢綜合大辭典》, 因為是自動提取的, 難免有錯誤, 可隨時修改.程式使用非常簡單, 主要用到: ↑、↓、→、←
Time of Update: 2018-12-07
(該代碼來自國外網站, 給 "神奇的科比" 參考)代碼:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, MSHTML, ActiveX, StdCtrls; type TObjectProcedure = procedure of object; TEventObject =
Time of Update: 2018-12-07
問題來源: http://www.cnblogs.com/del/archive/2009/10/09/1579614.html#1779614這幾天家有病人, 幾天沒上網了; 看到這個問題我會, 順便回複了.發送代碼:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 =
Time of Update: 2018-12-07
問題來源: http://www.cnblogs.com/del/archive/2008/10/14/1310583.html#1673278unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton;