http://www.cnblogs.com/rogee/archive/2010/09/17/1829574.html
delphi控件屬性和事件 復制代碼 常用【屬性】 Action:該屬性是與組件關聯的行為,允許應用程序集中響應用戶命令 Anchors:與組件連接的窗體的位置點 Align:確定組件的對齊方式 AutoSize:確定組件是否自動調整其大小 BiDiMode:(所有組件) 為從右向左寫的語言提供支持 BoundsRect:定義組件邊框矩形(只適用於運行時) Borderwidth:(窗口化組件)邊框的寬度 BorberStyle:設置組件邊框形狀(樣式) Brush:可確定組件的風格和顏色 Caption:使用該屬性可指定標注組件的文本字符串 ClassName:該方法可得到對象的類名,我一直用它來得到數據庫中字段的類型,在 其它的方面還沒有用到 ClientHeight:可讀取和設置組件客戶區域的像素高度 ClientRect:可返回組件客戶區的大小,為一個矩形 ClientWidth:可讀取和設置組件客戶區域的像素寬度 Color:組件的背景顏色 Components:列出了該組件中所有的子組件,並可以對它們進行訪問 ComponentIndex:(所有組件)當前組件在其主組件所有的從組件列表中的位置 (只適用於運行時) ComponentCount:顯示該組件擁有的子組件數 (只適用於運行時) Constraints:(所有組件)在改變大小操作期間限定組件)的最大與最小尺寸 ConstrolCount:(所有組件)當前組件的子組件數目(只適用於運行時) Controls:(所有組件)當前組件的子組件數組(只適用於運行時) Create:構造一個對象實例,分配內存,並不初始化 Ctrl3D:設置組件邊框是否為3D模式,若BORDERSTYLE設置為BSNONE則此屬性無效 Cursor:指定指針的圖像(鼠標經過組件時光標所顯示的形狀) Destroy:銷毀一個對象實例 DragCursor:拖動時,鼠標的形狀 DragKing:可獲取或設置組件是拖動還是停靠操作,分別對應Drag和Dock DragMode:設置組件拖動模式。值dmManual和dmAutomatic,分別對應手工和自動 Enable:設定組件是否能使用,當設為FALSE時組件會呈灰色 Font:設定組件內文字的字型、字體大小、顏色等 Free:刪除對象實例,並釋放內存,如果對象不空,則自動調用析構函數 Height:設置組件顯示的高度 HelpContent 用來為幫助說明文件中的索引值建立關聯 Hint:設置當指針在該組件上時,顯示的幫助信息。此屬性必須在ShowHint屬性為True時生效 ImeName:設置輸入法名 Left:設定組件與父組件左邊框間的距離 Name:指定組件的名字,以反映當前應用程序的用途 Parent:確定組件的父組件 ParentColor:是否使用父組件的顏色,默認為True; ParentFont:是否使用父組件的字體,默認為True; PopupMenu:設定鼠標右鍵(彈出式)快捷菜單 ShowHint:是否顯示Hint中的信息 TabBorder 設定組件在按下TAB鍵后焦點(FOCUS)移動的順序 TabOrder:該屬性在其父組件的標簽順序中指定組件的順序 TabStop:確定用戶是否允許用Tab鍵訪問組件,若設為FALSE,則按TAB鍵后焦點並不 會在此組件上停留 Tag:該屬性沒有預先定義含義,為開發人員方便面提供 Text:只讀,組件內部的文本 Top:確定組件的頂部位置(組件與父組件上邊框間的距離) TransParent:設置該組件是否透明 Visible:設定組件是否可見,此屬性只在執行時起作用 Width:設置組件顯示的寬度 WordWrap:當文本的長度大於組件的寬度時,是否自動換行 【方法】 Assign:該方法復制Source參數指定的對象數據給自身 BeginDrag:開始拖動組件,該方法只有在DragMode為dmManual時生效 BringToFront:該方法將組件放置在其父組件內所有其它的組件的前面 ClientToScreen:可將一個當前組件的當前坐標系統的Point點轉換為與屏幕坐標相應的點 EndDrag:該方法結束拖動組件,該方法只有在DragMode為dmManual時生效 FindComponent:該方法返回在Components屬性數組中的名稱與Aname參數中的字符串匹配的組件,使用該方法可確定組件是否擁有另一個組件,該方法不區分大小寫 Focused:該方法確定窗口組件是否輸入焦點 GetTextLen:計算組件文本的長度 Hide:隱藏組件 Refresh:可立即刷新組件 SendToBack:把一個窗口組件放置到其它組件的后面 SetBounds:可同時修改組件的所有邊界屬性 SetFocus:設置組件具有焦點 Show:顯示組件 Update:更新組件 【事件】 OnCanResize:當組件試圖改變大小時觸發(當組件有所改變時觸發的事件) onClick:(鼠標單擊事件)當在此組件上按下鼠標左鍵時觸發的事件 OnConstrainedResize:在OnCanResize后觸發,可調整試圖調整大小的組件的約束 OnContexPopup:當彈出式菜單彈出時觸發 OnDblClick:(鼠標雙擊事件)當在此組件上雙擊鼠標左鍵時觸發的事件 OnDragDrop:釋放一個正在拖動的組件時觸發 OnDragOver:當一個組件在另一個組件上拖動時觸發 OnEndDock:當結束停靠時觸發 OnEndDrag:當結束拖動時觸發 OnEnter:當組件接受輸入焦點時觸發(當切換到其它組件使該組件失去焦點時觸發 的事件,但當切換到另一窗體或另一應用程序時此事件不會觸發) onExit:當組件的焦點離開該組件時觸發 OnGetSiteInfo:該事件返回組件的停靠信息 onKeyDown:當按下任一鍵時產生(當在擁有焦點的組件上按下某個鍵時觸發的事件 ,按鍵包括所有的英文、數字鍵、方向鍵、功能鍵等) onKeyPress:當用戶按下單個字符鍵時產生(當在擁有焦點的組件上按下某個鍵時觸 發的事件,但按鍵只包括所有的英文、數字鍵、TAB、BACKSPACE、ENTER、ESC) onKeyUp:當釋放按下的鍵時產生(當使用者放開鍵盤上的按鍵時觸發的事件) onMouseDown:當鼠標鍵在某個組件按下時觸發的事件(其參數包括哪個鼠標鍵被按 下、是否有特殊鍵(CTRL、ALT、SHIFT)被按下以及鼠標當前的坐標) onMouseEnter:當鼠標在該組件上時觸發 onMouseLeave:當鼠標離開該組件上時觸發 onMouseMove:當鼠標在組件內移動時觸發的事件 onMouseUp:當鼠標鍵在組件上方放開時所觸發的事件 onMouseWheel:當鼠標滾輪滾動時觸發 onMouseWheelDown:當鼠標滾輪向下滾動時觸發 onMouseWheelUp:當鼠標滾輪向上滾動時觸發 OnResize:當改變組件大小后觸發 OnStartDock:當開始停靠時觸發 OnStartDrag:當開始拖動時並DragKing為dkDrag時觸發, ONPAINT 在組件需要被重畫時觸發的事件,此時可進行自定義畫法 ========================================================================= ■■■■■■■■■■■■■■■詳細屬性和事件■■■■■■■■■■■■■■ ========================================================================= opendialog對話框屬性 DefaultExt:當用戶未輸入文件擴展名時它用於指明默認的擴展名。 FileName:它為string型用於記錄最后一個被選中的文件的全路徑名。默認為空。 Filter(過濾器)特性: 它用於設置打開對話框中顯示的文件類型,實在打開的對話框中僅顯示與該特性所列的相匹配的文件。在程序設計階段用戶可以在對象觀察器中,單擊Filter特性值框中的“...”按鈕,將彈出Filter Editor 對話框,可以在此設置預顯示文件的擴展名,既設置過濾器。用戶還可以在程序代碼中動態的設置該特性值。例如: Filter:='delphi uint Files|*.pas;*.dpr'; FilterIndex特性: 該特性為integer類型,在設置了多個過濾器時,用於確定在打開對話框中文件類型下拉列表中初始顯示的過濾器的序號,其默認值為1。 InitilDir:用它指明對話框的默認目錄。 Title:用它指明OpenDialog 組件標題欄中的字符串,默認值為“打開”。 ========================================================================== 窗體組件(FORM)常見屬性及事件 屬性 說明 Active 指示此窗體是否擁有FOCUS ActiveControl 指示窗體中目前擁有FOCUS的組件 ActiveMdichild 指示主窗體中目前擁有FOCUS的子窗體 ActiveOleControl 用於取得或設定此窗體上的OLE控制,以響應FOCUS改變 BorderIcons 指定哪些ICON顯示在窗體的TITLE BAR上 BorderSytle 用以指定窗體BORDER外觀及行為 Canvas 提供使用者可在窗體上CLIENT內自行顯示的畫板,一般在ONPAINT事件中使用 ClientHandle 提供可存取系統內部使用的MDI CLIENT WINDOW HANDLE ClientHeight 窗體客戶區高度 ClientRect 窗體客戶區所對應的矩形 ClientWidth 窗體客戶區寬度 DEFAULTMONITOR 指定此窗體所顯示的預設的顯示器,用於多顯示器環境下 DESIGNER 此窗體的設計界面,一般不用用戶設定 DropTARGET 用以指定窗體是否為目前DRAG AND Drop動作的目標 FLOATING 用以指示此窗體是否正在停泊在另一個視窗內 FORMSTATE 用於指示此窗體所處狀態 FORMSTYLE 用於指示窗體的樣式 HELPFILE 用於指定HELP文件 ICON 指定窗體最小化時所顯示的ICON KEYPREVIEW 指定此窗體是否需在目前的ACTIVE組件之前取得鍵盤輸入 MDICHILDCOUNT 用於取得子窗體數目 MDICHILDREN 用於取得子窗體(數組) MENU 用於指定窗體主菜單 MODALRESULT 當窗體作用為MODAL對話框時,作為對話框的效果 MONITOR 用於指示窗體所顯示的顯示器 OLDCreateORDER 指定ONCreate和ONDESTROY事件何時發生 OLEFORMOBJECT 對包含在此窗體內的OLE對象指定OLEFORM界面 PARENT 設定此窗體的PARENT PARENTBIDIMODE 指定是否此窗體使用PARENT的BIDIMODE PIXELSPERINCH 表示此窗體設計時系統上字形的比例 POSITION 表示此窗體的大小及位置 PRINTSCALE 表示此窗體打印的比例 SCALED 用於指定窗體的大小是否依據PIXELSPERINTCH屬性來指定 TILEMODE 用於指定TILE方法被調用時子窗體如何排列 VISIBLE 用於設定此窗體是否被顯示 WINDOWMENU 如果窗體是一個MDI PARENT窗體,用於指定視窗的菜單 WINDOWSTATE 用於指定窗體如何顯示於屏幕中 事件 說明 ONPAINT 當窗體必須重畫時發生 ONHELP 當窗體收到HELP請求時發生 ONDRAGDrop 當一個對象拉進此窗體並丟下時發生 ONDRAGOVER 當一個對象拉進此窗體時發生 ONCONSTRAINEDRESIZE 在ONCANRESIZE事件發生后發生 ONCANRESIZE 當企圖改變窗體尺寸時確認是否改變 ONRESIZE 當窗體尺寸改變時發生 ONSTARTDOCK 當對象開始停泊時發生 ONENDDOCK 當對象停泊結束時發生 ONUNDOCK 當窗體解除停泊時發生 ONDOCKDrop 當其它窗體停泊到此組件時發生 ONDOCKOVER 當其它窗體向此組件停泊接近時發生 ONGETSITEINFO 當有關停泊消息傳回此窗體時發生 ONCreate 當窗體創建時發生 ONCLOSE 當窗體即將關閉時發生 ONCLOSEQUERY 在窗體即將關閉時確認是否真的關閉窗體 ONDESTROY 當窗體釋放時發生 ONSHOW 當窗體顯示時發生 ONHIDE 當窗體隱藏時發生 ONACTIVATE 當窗體獲得FOCUS時發生 ONDEACTIVATE 當窗體失去FOCUS時發生 菜單組件(MAINMENU、POPUPMENU)常見屬性 屬性 說明 AUTOMERGE 用於指定主窗體的主菜單是否與其它的窗體主菜單合並 HANDLE 主菜單的視窗代碼 BIDIMODE 用於指定選項名是由左至右讀或由右至左讀 IMAGES 用於指定選項旁可顯示的圖像內容 ITEMS 選項的內容 OWNERDRAW 用於指定選否是否可自行顯示 PARENTBIDIMODE 用於指定是否繼承父控件的BIDIMODE屬性 WINDOWHANDLE 使用此菜單的視窗代號 菜單項屬性 說明 ACTION 用於指定此選項對應的動作 BITMAP 用於指定在此選項旁的圖像內容 BREAK 用於指定是否從此選項開始建立新的分欄 CAPTION 選項顯示的名稱 CHECKED 用於指定此選項是否CHECKED COMMAND 用於指定選項對應的WINDOWS COMMAND ID COUNT 用於指示此選項的子選項數目 DEFAULT 用於指示此選項是否為子菜單的預設項目 EANBLED 用於指示此選項是否可用 GROUPINDEX 用於指定此選項所隸屬的邏輯群組,以控制主菜單之間的合並或單選鈕互斥的效果 HANDLE 對應此選項的Drop-DOWN菜單的WINDOWS MENU HANDLE HELPCONTEXT 對應此選項的HELP CONTEXT ID HINT 用於設定鼠標移入選項范圍時的提示信息 IMAGEINDEX 用以指定哪個圖像顯示於選項旁 ITEMS 此選項的子菜單項目數 MENUINDEX 此選項的父菜單內的選項索引值 PARENT 此選項的父菜單的選項 RADIOITEM 用於設定此選項是否與同組其它選項互斥 SHORTCUT 用於設定此選項的快捷鍵 VISIBLE 用於設定此選項是否可見 標簽(LABEL)常用屬性: 屬性 說明 ALIGNMENT 用於設定標簽內文本的對齊方式(水平方向) AUTOSIZE 用於設定標簽組件是否根據組件內文本自動調整大小 FOCUSCONTROL 用於設定鍵入標簽內快捷鍵后應接受FOCUS的組件 LAYOUT 用於設定標簽文本如何放置(垂直方向) SHOWACCELCHAR 用於設定是否允許標簽內文本是否顯示畫有下划線的快捷鍵值 TRANSPARENT 用於設定組件是否透明 WORDWRAP 用於設定組件文本寬於組件寬度時是否自動換行 編輯框(EDIT、MASKEDIT)的屬性: 屬性 說明 AUTOSelect 用於設定組件獲得FOCUS后是否自動選取所有文本 AUTOSIZE 用於設定組件內增加輸入文字時,是否自動加長組件長度 BORDERSTYLE 用於設定組件邊框風格 CANUNDO 用於設定組件內文本是否可UNDO CHARCASE 用於設定組件內文本大小寫狀況 HIDESelectION 用於設定組件失去FOCUS時,選取文本是否有效 MAXLENGTH 用於設定組件內輸入文本的最大長度 MODIFIED 可用於判定組件內文本是否發生更改 OEMCONVERT 決定是否將編輯框內文字ASCII碼轉換成OEM,再由OEM轉換為ASCII PASSWORDCHAR 設定密碼輸入時取代的字符 READONLY 設定編輯框內容是否可修改 SELLENGTH 指示編輯框內選定文本長度 SELSTART 指示編輯框內選定文本的起始位置 SELTEXT 指示編輯框內選定文本 EDITMASK 指示MASKEDIT掩碼字符串 按鈕(BUTTON、BITBTN、SPEED BUTTON)常見屬性: 普通BUTTON屬性 說明 CANCEL 設定此按鈕是否為取消鈕(取消鈕即在程序執行時若按ESC鍵可執行此按鈕的單擊事件) DEFAULT 指按下ENTER鍵后是否執行此按的單擊事件 MODALRESULT 通常用於對話框窗體中,當按下此鈕時,此屬性值即成為此按鈕隸屬的MODAL窗體的MODALRESULT CAPTION 設定或取得此按鈕上顯示的標題 BITBTN屬性 說明(圖形式按鈕) GLYPH 用以設定此按鈕上出現的圖像 KIND 用以指定按鈕的類型 LAYOUT 用以設定圖像在按鈕上顯示的位置 MARGIN 用以設定按鈕邊與圖像邊之間的距離(以象素為單位) NUMGLYPHS 用以設定按鈕圖像的數目 SPACION 用以設定圖像與文本之間的距離(以象素為單位) STYLE 用以設定按鈕外觀 SPEED BUTTON屬性 說明(快速按鈕) ALLOWALLUP 用以設定是否包含此快速鈕的組中是否能同時保持UP狀態 DOWN 用以設定此快速鈕是否已被選取 FLAT 用以設定此快速鈕是否顯示3D邊的效果 GROUPINDEX 用以設定快速鈕的組 TRANSPARENT 用以設定快速鈕是否透明 ========================================== 備注組件(MEMO)的常見屬性和事件: 屬性 說明 LINES 用於取得組件中文本(為數組,因此可支持取單行文本) TEXT 用於取得組件中文本(字符串) READONLY 用於設定組件文本是否可修改 SCROLLBARS 用於設定組件滾動條模式 WANTRETURNS 用於設定輸入的ENTER鍵是否作為文本內容 WORDWRAP 用於設定文本是否自動換行 SELSTART 指示選中文本的起始位置 SELLENGTH 指示選中文本的長度 WANTTABS 用於設定輸入的TAB鍵是否作為文本內容 SELTEXT 指示選中文本 事件 說明 MEMO.LINES.ADD() 在當前行增加一行文本 MEMO.LINES.APPEND() 在末追加一行文本 MEMO.LINES.Insert 在指定位置增加一行文本 MEMO.LINES.Delete 刪除指定行文本 MEMO.LINES.LOADFROMFILE 從指定文件導入文本到組件 MEMO.LINES.LOADFROMSTREAM 從指定流導入文本到組件 MEMO.LINES.SAVETOFILE 將組件文本存為指定文件 MEMO.LINES.SAVETOSTREAM 將組件文本存為指定流 MEMO.CLEAR 清除組件所有文本 MEMO.CUTTOCLIPBOARD 將選定文本剪切到剪貼板 MEMO.COPYTOCLIPBOARD 將選定文本復制到剪貼板 MEMO.PASTEFROMCLIPBOARD 從剪貼板粘貼文本到當前位置 復選框(CHECKBOX)常見屬性: 屬性 說明 ALIGNMENT 設定復選框標題位置 ALLOWGRAYED 決定復選框是否存在GRAYED狀態 CHECKED 決定復選框狀態 STATE 指示復選框狀態 單選按鈕(RADIOBUTTON)常見屬性: (提供互斥選項,因此通常用於成組實現,可用GROUPBOX或RADIOGROUP實現) 屬性 說明 ALIGNMENT 設定單選框標題位置 CHECKED 決定單選框狀態 組框(GROUPBOX)常見屬性:(用於作容器) 屬性 說明 CAPTION 組框標題,通常用於指示組件用途 單選分組框(RADIOGROUP)常見屬性: 屬性 說明 CAPTION 指示單選組合名稱 COLUMNS 指示單選按鈕又單行或多行為單位顯示 ITEMS 單選按鈕標題內容(以行為單位) ITEMINDEX 指示當前選定的單選按鈕的索引值 列表框(LISTBOX)常見屬性: 屬性 說明 CANVAS 提供自定義顯示列表框項目內容的畫板,用於ONDRAWITEM事件 COLUMNS 設定多重列列表框的列數 EXTENDEDSelect 指定是否可使用SHIFT鍵進行連選 ITEMHEIGHT 設定列表框項目的高度 ITEMINDEX 指定選取的項目的索引值 ITEMS 項目的字符串內容 MULTISelect 設定是否允許多重選取 SELCOUNT 列表框中選定項目數目 SelectED 指示某個項目是否被選取 SORTED 指定列表框中項目擊者是否按字母順序排序 STYLE 指示列表框顯示模式 TOPINDEX 指示列表框頂端項目的索引值 組合框(COMBOBOX)常見屬性: 屬性 說明 CANVAS 提供自定義顯示組合框項目內容的畫板,用於ONDRAWITEM事件 CHARCASE 設定組合框內文字字母大小寫狀況 DropDOWNCOUNT 設定組合框下攔菜單最大顯示項目個數 DropPEDDOWN 用於判定組合框是否處於下拉菜單的狀態 ITEMINDEX 指示下拉菜單中目前被選取的項目的索引值 ITEMS 下拉菜單項目內容 MAXLENGTH 設定組合框中編輯部分可輸入的字符最大個數 SELLENGTH 指示組合框編輯部分被選取文本長度 SELTEXT 指示組合框中編輯部分被選取文本 SELSTART 指示組合框中編輯部分被選取文本起始位置 STYLE 指示組合框顯示模式 滾動條(SCROLLBAR)常見屬性: 屬性 說明 MAX 指示滾動條最大值 MIN 指示滾動條最小值 POSITION 指示滑動塊當前位置 LARGECHANGE 指示鼠標按滾動條框至滑動塊之間區域時移動值 SMALLCHANGE 指示鼠標按下滾動條兩端箭頭時移動值 KIND 指示滾動條類型(水平型或垂直型) PAGESIZE 指示按下PAGEUP或PAGEDOWN時變化量 圖像框組件(IMAGE)常見屬性: 屬性 說明 AUTOSIZE 本組件是否調整成為與讀取圖像同等大小 INCREMENTALDISPALY 讀較大型圖像文件時是否逐步顯示 PICTURE 指向圖像文件對象,能常為文件名 STRETCH 是否將圖像自動調整為本組件預設大小 圖像列表框(IMAGELIST)常見屬性: 屬性 說明 BKCOLOR 指定背景顏色 BLENDCOLOR 前景混合顏色 COUNT 組件中圖像個數 DRAWINGSTYLE 指示本組件繪出圖像時采用的方式 HEIGHT 組件內各圖像的高度值 IMAGETYPE 繪制圖像時是否加上MASK圖像 MASKED 設定是否可以加上MASK WIDTH 組件內各圖像的寬度值 工具欄組件(TOOLBAR)常見屬性: 屬性 說明 AUTOSIZE 設定工具欄是否自動調整大小以容納BAND BUTTONCOUNT 工具欄中按鈕個數 BUTTONHEIGHT 工具欄中的按鈕高度 BUTTONS 以INDEX表示在工具欄中的按鈕 BUTTONWIDTH 工具欄中的按鈕寬度 DISABLEDIMAGES 當工具按鈕DISABLED時顯示的圖像列表 FLAT 是否設定浮出效果 HOTIMAGES 當鼠標指向工具欄按鈕時顯示的圖像列表 IMAGES 提供顯示在工具欄按鈕上的圖像列表 INDENT 設定工具欄左側間隔大小 LIST 設定標題文字是否顯示在圖形的右方 ROWCOUNT 指定工具欄的行數 SHOWCAPTIONS 設定工具按鈕是否顯示文字 WARPABLE 設定工具欄排列按鈕時是否自動換行 TOOLBUTTON屬性 說明 ALLOWALLUP 設定同組工具按鈕是否可以都未被選取 DOWN 設定按鈕是否可停在被按下的狀態 DropDOWNMENU 當工具按鈕按下時所出現的菜單 GROUPED 設定同組工具按鈕 IMAGEINDEX 關聯的圖像在圖像列表框中的索引值 INDETERMINATE 是否提供工具欄第三種情況 MARKED 設定按鈕是否有陰影 STYLE 設定按鈕樣式 WRAP 設定在此工具按鈕新增者是否為另一新欄 酷欄(COOLBAR)常見屬性: 屬性 說明 ALIGN 設定COOLBAR的對齊方式 AUTOSIZE 設定酷欄是否自動調整大小以容納BAND BANDBORDERSTYLE 設定BAND的邊界風格 BANDS 顯示COOLBAR內所有的BAND BITMAP 設定BAND的背景圖像 FIXEDORDER 設定是否可自行調整BAND的順序 FIXEDSIZE 設定是否以單一設度限定酷欄內所有的BAND IMAGES 提供BANDS所需要的圖像 SHOWTEXT 設定BAND是否顯示文字 VERTICAL 設定BAND的排列方式(水平排列或垂直排列) DOCKSITE 是否允許停泊 狀態欄組件(STATUSBAR)常見屬性: 屬性 說明 PANELS 設定狀態欄組件區域 SIMPLEPANEL 設定狀態欄單個區域 SIMPLETEXT 設定狀態欄單個區域的文本 ALIGNMENT 設定區域文本對齊方式 TEXT 設定區域顯示文本 WIDTH 設定區域寬度 進度條組件(PROGRESSBAR)常見屬性和事件: 屬性 說明 MAX 設定POSITION最大值 MIN 設定POSITION最小值 orIENTATION 設定組件顯示的方向 POSITION 設定進度條當前位置 SMOOTH 設定進度條的進度指針為平滑或間隔方式 STEP 設定調用STEPIT方法時所增加的量 事件 說明 STEPBY(INTEGER) 進度條增加值(由參數指定增量) STEPIT 進度條增加值(由STEP屬性指定增量) 軌跡條組件(TRACKBAR)常見屬性: 屬性 說明 FRQUENCY 設定本控制刻度間的間隔值 LINESIZE 設定按方向鍵時移動量 MAX 設定POSITION最大值 MIN 設定POSITION最小值 orIENTATION 設定本組件顯示的方向 PAGESIZE 設定PAGEUP或PAGEDOWN的移動量 POSITION 設定本組件當前位置 SELEND 設定選定范圍的最后位置 SELSTART 設定選定范圍的開始位置 SLIDERVISIBLE 設定本組件中滑塊是否顯示 TICKMARKS 設定刻度顯示的方向位置 TICKSTYLE 設定組件刻度記號的配置方式 多頁標簽(PAGECONTROL)常見屬性 屬性 說明 MULTILINE 設定組件是否依標簽數目自定調整行數 ACTIVEPAGE 當前組件選中標簽 TABPOSITION 設定組件標簽所有位置 STYLE 設定組件標簽樣式 CAPTION 設定指定標簽標題 PAGEINDEX 指示標簽的位置 TABVISIBLE 設定指定標簽是否顯示 ============================================================ 名稱 類型 說明 abort 函數 引起放棄的意外處理 abs 函數 絕對值函數 addexitproc 函數 將一過程添加到運行時庫的結束過程表中 addr 函數 返回指定對象的地址 adjustlinebreaks 函數 將給定字符串的行分隔符調整為cr/lf序列 align 屬性 使控件位於窗口某部分 alignment 屬性 控件標簽的文字位置 allocmem 函數 在堆棧上分配給定大小的塊 allowgrayed 屬性 允許一個灰度選擇 ansicomparestr 函數 比較字符串(區分大小寫) ansicomparetext 函數 比較字符串(不區分大小寫) ansilowercase 函數 將字符轉換為小寫 ansiuppercase 函數 將字符轉換為大寫 append 函數 以附加的方式打開已有的文件 arctan 函數 余切函數 assignfile 函數 給文件變量賦一外部文件名 assigned 函數 測試函數或過程變量是否為空 autosize 屬性 自動控制標簽的大小 backgrounddi2001.jpg 屬性 背景色 beginthread 函數 以適當的方式建立用於內存管理的線程 bevelinner 屬性 控件方框的內框方式 bevelouter 屬性 控件方框的外框方式 bevelwidth 屬性 控件方框的外框寬度 blockread 函數 讀一個或多個記錄到變量中 blockwrite 函數 從變量中寫一個或多個記錄 borderstyle 屬性 邊界類型 borderwidth 屬性 邊界寬度 break 命令 終止for、while、repeat循環語句 brush 屬性 畫刷 caption 屬性 標簽文字的內容 changefileext 函數 改變文件的后綴 chdir 函數 改變當前目錄 checked 屬性 確定復選框選中狀態 chr 函數 返回指定序數的字符 closefile 命令 關閉打開的文件 color 屬性 標簽的顏色 columns 屬性 顯示的列數 comparestr 函數 比較字符串(區分大小寫) concat 函數 合並字符串 continue 命令 繼續for、while、repeat的下一個循環 copy 函數 返回一字符串的子串 cos 函數 余弦函數 ctl3d 屬性 是否具有3d效果 cursor 屬性 鼠標指針移入后的形狀 date 函數 返回當前的日期 datetimetofiledate 函數 將delphi的日期格式轉換為dos的日期格式 datetimetostr 函數 將日期時間格式轉換為字符串 datetimetostring 函數 將日期時間格式轉換為字符串 datetostr 函數 將日期格式轉換為字符串 dayofweek 函數 返回星期的數值 dec 函數 遞減變量值 decodedate 函數 將日期格式分解為年月日 decodetime 函數 將時間格式分解為時、分、秒、毫秒 delete 函數 從字符串中刪除子串 deletefile 命令 刪除文件 diskfree 函數 返回剩余磁盤空間的大小 disksize 函數 返回指定磁盤的容量 dispose 函數 釋放動態變量所占的空間 disposestr 函數 釋放字符串在堆棧中的內存空間 ditherbackgrounddi2001.jpg?使背景色的色彩加重或減少50% dragcursor 屬性 當鼠標按下時光標的形狀 dragmode 屬性 按動的作用方式 dropdowncount 屬性 容許的顯示數據項的數目 editmask 屬性 編輯模式 enabled 屬性 是否使標簽呈現打開狀態 encodedate 函數 將年月日合成為日期格式 encodetime 函數 將時、分、秒、毫秒合成為時間格式 endmargin 屬性 末尾邊緣 eof 函數 對有類型或無類型文件測試是否到文件尾 eoln 函數 返回文本文件的行結束狀態 erase 命令 刪除外部文件 exceptaddr 函數 返回引起當前意外的地址 exclude 函數 從集合中刪除一些元素 exceptobject 函數 返回當前意外的索引 exit 命令 立即從當前的語句塊中退出 exp 函數 指數函數 expandfilename 函數 返回包含絕對路徑的字符串 extendedselect 屬性 是否允許存在選擇模式,true時,multiselect才有意義 extractfiledir 函數 返回驅動器和路徑 extractfileext 函數 返回文件的后綴 extractfilename 函數 返回文件名 extractfilepath 函數 返回指定文件的路徑 fileage 函數 返回文件已存在的時間 fileclose 命令 關閉指定的文件 filecreate 命令 用指定的文件名建立新文件 filedatetodatetime 函數 將dos的日期格式轉換為delphi的日期格式 fileexists 函數 檢查文件是否存在 filegatattr 函數 返回文件的屬性 filegetdate 函數 返回文件的dos日期時間標記 fileopen 命令 用指定的存取模式打開指定的文件 filepos 函數 返回文件的當前指針位置 fileread 命令 從指定的文件讀取 filesearch 命令 在目錄中搜索指定的文件 fileseek 函數 改變文件的指針 filesetattr 函數 設置文件屬性 filesetdate 函數 設置文件的dos日期時間標記 filesize 函數 返回當前文件的大小 filewrite 函數 對指定的文件做寫操作 fillchar 函數 用指定的值填充連續字節的數 findclose 命令 終止findfirst/findnext序列 findfirst 命令 對指定的文件名及屬性搜索目錄 findnext 命令 返回與文件名及屬性匹配的下一入口 floattodecimal 函數 將浮點數轉換為十進制數 floattostrf 函數 將浮點數轉換為字符串 floattostr 函數 將浮點數轉換為字符串 floattotext 函數 將給定的浮點數轉換為十進制數 floattotextfmt 函數 將給定的浮點數轉換為十進制數 flush 函數 將緩沖區的內容刷新到輸出的文本文件中 fmtloadstr 函數 從程序的資源字符串表中裝載字符串 fmtstr 函數 格式化一系列的參數,其結果以參數result返回 font 屬性 設置字體 format 函數 格式化一系列的參數並返回pascal字符串 formatbuf 函數 格式化一系列的參數 formatdatetime 函數 用指定的格式來格式化日期和時間 formatfloat 函數 指定浮點數格式 frac 函數 返回參數的小數部分 freemem 函數 按給定大小釋放動態變量所占的空間 getdir 返回指定驅動器的當前目錄 getheapstatus 返回內存管理器的當前狀態 getmem 建立一指定大小的動態變量,並將指針指向該處 getmemorymanager 返回內存管理器的入口點 glyph 函數 按鈕上的圖象 halt 停止程序的執行並返回到操作系統 hi 返回參數的高地址位 high 返回參數的上限值 hint 屬性 提示信息 int 返回參數的整數部分 include 添加元素到集合中 insert 在字符串中插入子串 inttohex 將整型數轉換為十六進制數 inttostr 將整型數轉換為字符串 ioresult 返回最新的i/o操作完成狀態 isvalidident 測試字符串是否為有效的標識符 items 屬性 默認顯示的節點 kind 屬性 擺放樣式 largechange 屬性 最大改變值 layout 屬性 圖象布局 length 函數 返回字符串的動態長度 lines 屬性 缺省顯示內容 ln 函數 自然對數函數 lo 函數 返回參數的低地址位 loadstr 函數 從應用程序的可執行文件中裝載字符資源 lowercase 函數 將給定的字符串變為小寫 low 函數 返回參數的下限值 max 屬性 最大值 maxlength 屬性 最大長度 min 屬性 最小值 mkdir 命令 建立一子目錄 move 函數 從源到目標復制字節 multiselect 屬性 允許同時選擇幾個數據項 name 屬性 控件的名字 new 函數 建立新的動態變量並設置一指針變量指向他 newstr 函數 在堆棧上分配新的字符串 now 函數 返回當前的日期和時間 odd 測試參數是否為奇數 onactivate 事件 焦點移到窗體上時觸發 onclick 事件 單擊窗體空白區域觸發 ondblclick 事件 雙擊窗體空白區域觸發 onclosequery 事件 使用者試圖關閉窗體觸發 onclose 事件 窗體關閉后才觸發 oncreate 事件 窗體第一次創建時觸發 ondeactivate 事件 用戶切換到另一應用程序觸發 ondragdrop 事件 鼠標拖放操作結束時觸發 ondragover 事件 有其他控件從他上面移過觸發 onmousedown 事件 按下鼠標鍵時觸發 onmouseup 事件 釋放鼠標鍵時觸發 onmousemove 事件 移動鼠標時觸發 onhide 事件 隱藏窗體時觸發 onkeydown 事件 按下鍵盤某鍵時觸發 onkeypress 事件 按下鍵盤上的單個字符鍵時觸發 onkeyup 事件 釋放鍵盤上的某鍵時觸發 onpaint 事件 窗體上有新部分暴露出來觸發 onresize 事件 重新調整窗體大小觸發 onshow 事件 在窗體實際顯示之前瞬間觸發 ord 返回序數類的序數 outlinestyle 屬性 類型 outofmemoryerror 引起outofmemory意外 pageindex 屬性 頁索引 pages 屬性 頁 paramcount 函數 返回在命令行上傳遞給程序的參數數量 paramstr 函數 返回指定的命令行參數 pen 屬性 畫刷設置 pi 函數 返回圓周率pi picture 屬性 顯示圖象 pictureclosed 屬性 設置closed位圖 pictureleaf 屬性 設置leaf位圖 pictureminus 屬性 設置minus位圖 pictureopen 屬性 設置open位圖 pictureplus 屬性 設置plus位圖 pos 函數 在字符串中搜索子串 pred 函數 返回先前的參數 random 函數 返回一隨機函數 randomize 函數 用一隨機數初始化內置的隨機數生成器 read 函數 對有格式的文件,讀一文件組件到變量中; 對文本文件,讀一個或多個值到一個或多個變量中 readln 函數 執行read過程,然后跳到文件下一行 readonly 屬性 只讀屬性 reallocmem 函數 分配一動態變量 rename 函數 重命名外部文件 renamefile 函數 對文件重命名 reset 函數 打開已有的文件 rewrite 函數 建立並打開一新的文件 rmdir 函數 刪除空的子目錄 round 函數 將實數值舍入為整型值 runerror 函數 停止程序的執行 scrollbars 屬性 滾動條狀態 seek 函數 將文件的當前指針移動到指定的組件上 seekeof 函數 返回文件的文件結束狀態 seekeoln 函數 返回文件的行結束狀態 selectedcolor 屬性 選中顏色 setmemorymanager 函數 設置內存管理器的入口點 settextbuf 函數 給文本文件指定i/o緩沖區 shape 屬性 顯示的形狀 showexception 函數 顯示意外消息與地址 sin 函數 正弦函數 sizeof 函數 返回參數所占的字節數 smallchange 屬性 最小改變值 sorted 屬性 是否允許排序 sqr 函數 平方函數 sqrt 函數 平方根函數 startmargin 屬性 開始邊緣 state 屬性 控件當前狀態 str 函數 將數值轉換為字符串 stralloc 函數 給以null結束的字符串分配最大長度-1的緩沖區 strbufsize 函數 返回存儲在由stralloc分配的字符緩沖區的最大字符數 strcat 函數 將一字符串附加到另一字符串尾並返回合並的字符串 strcomp 函數 比較兩個字符串 strcopy 函數 將一個字符串復制到另一個字符串中 strdispose 函數 釋放堆棧上的字符串 strecopy 函數 將一字符串復制到另一個字符串並返回結果字符串尾部的指針 strend 函數 返回指向字符串尾部的指針 stretch 屬性 自動適應控件的大小 strfmt 函數 格式化一系列的參數 stricomp 函數 比較兩個字符串(不區分大小寫) stringtowidechar 函數 將ansi字符串轉換為unicode字符串 strlcat 函數 將一字符串中的字符附加到另一字符串尾並返回合並的字符串 strlcomp 函數 以最大長度比較兩個字符串 strlcopy 函數 將一個字符串中的字符復制到另一個字符串中 strlen 函數 返回字符串中的字符數 strlfmt 函數 格式化一系列的參數,其結果中包含有指向目標緩沖區的指針 strlicomp 函數 以最大長度比較兩個字符串(不區分大小寫) strlower 函數 將字符串中的字符轉換為小寫 strmove 函數 將一個字符串中的字符復制到另一個字符串中 strnew 函數 在堆棧上分配一個字符串 strpas 函數 將以null結束的字符串轉換為pascal類的字符串 strpcopy 函數 將pascal類的字符串復制為以null結束的字符串 strplcopy 函數 從pascal類的最大長度字符串復制為以null結束的字符串 strpos 函數 返回一個字符串在另一個字符串中首次出現指針 strrscan 函數 返回字符串中最后出現字符的指針 strscan 函數 返回字符串中出現首字符的指針 strtodate 函數 將字符串轉換為日期格式 strtodatetime 函數 將字符串轉換為日期/時間格式 strtofloat 函數 將給定的字符串轉換為浮點數 strtoint 函數 將字符串轉換為整型 strtointdef 函數 將字符串轉換為整型或默認值 strtotime 函數 將字符串轉換為時間格式 strupper 函數 將字符串中的字符轉換為大寫 style 屬性 類型選擇 suce 函數 返回后繼的參數 swap 函數 交換參數的高低地址位 tabs 屬性 標記每一項的內容 tabindex 屬性 標記索引 text 屬性 顯示的文本 texttofloat 函數 將字符串(以null結束的格式)轉換為浮點數 time 函數 返回當前的時間 timetostr 函數 將時間格式轉換為字符串 trim 函數 從給定的字符串中刪除前導和尾部的空格及控制字符 trimleft 函數 從給定的字符串中刪除首部的空格及控制字符 trimright 函數 從給定的字符串中刪除尾部的空格及控制字符 trunc 函數 將實型值截取為整型值 truncate 函數 截去當前文件位置后的內容 unselectedcolor 屬性 未選中顏色 upcase 將字符轉換為大寫 uppercase 將給定的字符串變為大寫 val 函數 將字符串轉換為整型值 vararraycreate 函數 以給定的界限和維數建立變體數組 vararraydimcount 函數 返回給定變體的維數 vararrayhighbound 函數 返回給定變體數組維數的上界 vararraylock 函數 鎖定給定的變體數組 vararraylowbound 函數 返回給定變體數組維數的下界 vararrayof 函數 返回指定變體的數組元素 vararrayredim 函數 通過改變上限來調整變體的大小 vararrayunlock 函數 解鎖指定的變體數組 varastype 函數 將變體轉換為指定的類型 varcase 函數 將變體轉換為指定的類型並保存他 varclear 函數 清除指定的變體 varcopy 函數 將指定的變體復制為指定的變體 varformdatetime 函數 返回包含日期時間的變體 varisarray 函數 測試變體是否為數組 varisempty 函數 測試變體是否為unassigned varisnull 函數 測試變體是否為null vartodatetime 函數 將給定的變體轉換為日期時間 vartype 函數 將變體轉換為指定的類型並保存他 visible 屬性 控件的可見性 wantreturns 屬性 為true時,按回車鍵產生一個回車符; 為false時,按下ctrl+enter才產生回車符 write 命令 對有格式的文件,寫一變量到文件組件中; 對文本文件,寫一個或多個值到文件中 writeln 命令 執行write過程,然后輸出一行結束標志 widecharlentostring 函數 將ansi字符串轉換為unicode字符串 widecharlentostrwar 函數 將unicode字符串轉換為ansi字符串變量 widechartostring 函數 將unicode字符串轉換為ansi字符串 widechartostrvar 函數 將unicode字符串轉換為ansi字符串變量 =========================================================== ◇[DELPHI]產生鼠標拖動效果 通過MouseMove事件、DragOver事件、EndDrag事件實現,例如在PANEL上的LABEL: var xpanel,ypanel,xlabel,ylabel:integer; PANEL的MouseMove事件:xpanel:=x;ypanel:=y; PANEL的DragOver事件:xpanel:=x;ypanel:=y; LABEL的MouseMove事件:xlabel:=x;ylabel:=y; LABEL的EndDrag事件:label.left:=xpanel-xlabel;label.top:=ypanel-ylabel; ◇[DELPHI]取得WINDOWS目錄 uses shellapi; getwindowsdirectory(windir,sizeof(windir)); 或者從注冊表中讀取,位置: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion SystemRoot鍵,取得如:C:\WINDOWS trunc() ◇[DELPHI]關於文件、目錄操作 Chdir('c:\abcdir');轉到目錄 Mkdir('dirname');建立目錄 Rmdir('dirname');刪除目錄 GetCurrentDir;//取當前目錄名,無'\' Getdir(0,s);//取工作目錄名s:='c:\abcdir'; Deletfile('abc.txt');//刪除文件 Renamefile('old.txt','new.txt');//文件更名 ExtractFilename(filelistbox1.filename);//取文件名 ExtractFileExt(filelistbox1.filename);//取文件后綴 ◇[DELPHI]處理文件屬性 attr:=filegetattr(filelistbox1.filename); if (attr and faReadonly)=faReadonly then ... //只讀 if (attr and faSysfile)=faSysfile then ... //系統 if (attr and faArchive)=faArchive then ... //存檔 if (attr and faHidden)=faHidden then ... //隱藏 ◇[DELPHI]執行程序外文件 WINEXEC//調用可執行文件 winexec('command.com /c copy *.* c:\',SW_Normal); winexec('start abc.txt'); ShellExecute或ShellExecuteEx//啟動文件關聯程序 function executefile(const filename,params,defaultDir:string;showCmd:integer):THandle; ExecuteFile('C:\abc\a.txt','x.abc','c:\abc\',0); ExecuteFile('http://tingweb.yeah.net','','',0); ExecuteFile('mailto:tingweb@wx88.net','','',0); ◇[DELPHI]取得系統運行的進程名 var hCurrentWindow:HWnd;szText:array[0..254] of char; begin hCurrentWindow:=Getwindow(handle,GW_HWndFrist); while hCurrentWindow <> 0 do begin if Getwindowtext(hcurrnetwindow,@sztext,255)>0 then listbox1.items.add(strpas(@sztext)); hCurrentWindow:=Getwindow(hCurrentwindow,GW_HWndNext); end; end; ◇[DELPHI]關於匯編的嵌入 Asm End; 可以任意修改EAX、ECX、EDX;不能修改ESI、EDI、ESP、EBP、EBX。 ◇[DELPHI]關於類型轉換函數 FloatToStr//浮點轉字符串 FloatToStrF//帶格式的浮點轉字符串 IntToHex//整數轉16進制 TimeToStr DateToStr DateTimeToStr FmtStr//按指定格式輸出字符串 formatDateTime('YYYY-MM-DD,hh-mm-ss',DATE); ◇[DELPHI]字符串的過程和函數 Insert(obj,target,pos);//字符串target插入在pos的位置。如插入結果大於target最大長度,多出字符將被截掉。如 Pos在255以外,會產生運行錯。例如,st:='Brian',則Insert('OK',st,2)會使st變為'BrOKian'。 Delete(st,pos,Num);//從st串中的pos(整型)位置開始刪去個數為Num(整型)個字符的子字串。例如,st:='Brian',則Delete(st,3,2)將變為Brn。 Str(value,st);//將數值value(整型或實型)轉換成字符串放在st中。例如,a=2.5E4時,則str(a:10,st)將使st的值為' 25000'。 Val(st,var,code);//把字符串表達式st轉換為對應整型或實型數值,存放在var中。St必須是一個表示數值的字符串,並符合數值常數的規則。在轉換過程中,如果沒有檢測出錯誤,變量code置為0,否則置為第一個出錯字符的位置。例如,st:=25.4E3,x是一個實型變量,則 val(st,x,code)將使X值為25400,code值為0。 Copy(st.pos.num);//返回st串中一個位置pos(整型)處開始的,含有num(整型)個字符的子串。如果pos大於st字符串的長度,那就會返回一個空串,如果pos在255以外,會引起運行錯誤。例如,st:='Brian',則Copy(st,2,2)返回'ri'。 Concat(st1,st2,st3……,stn);//把所有自變量表示出的字符串按所給出的順序連接起來,並返回連接后的值。如果結果的長度 255,將產生運行錯誤。例如,st1:='Brian',st2:=' ',st3:='Wilfred',則Concat(st1,st2,st3)返回'Brian Wilfred'。 Length(st);//返回字符串表達式st的長度。例如,st:='Brian',則Length(st)返回值為5。 Pos(obj,target);//返回字符串obj在目標字符串target的第一次出現的位置,如果target沒有匹配的串,Pos函數的返回值為0。例如,target:='Brian Wilfred',則Pos('Wil',target)的返回值是7,Pos('hurbet',target)的返回值是0。 ◇[DELPHI]關於處理注冊表 uses Registry; var reg:Tregistry; reg:=Tregistry.create; reg.rootkey:='HKey_Current_User'; reg.openkey('Control Panel\Desktop',false); reg.WriteString('Title Wallpaper','0'); reg.writeString('Wallpaper',filelistbox1.filename); reg.closereg; reg.free; ◇[DELPHI]關於鍵盤常量名 VK_BACK/VK_TAB/VK_RETURN/VK_SHIFT/VK_CONTROL/VK_MENU/VK_PAUSE/VK_ESCAPE /VK_SPACE/VK_LEFT/VK_RIGHT/VK_UP/VK_DOWN F1--F12:$70(112)--$7B(123) A-Z:$41(65)--$5A(90) 0-9:$30(48)--$39(57) ◇[DELPHI]操作Cookie response.cookies("name").domain:='http://www.086net.com'; with response.cookies.add do begin name:='username'; value:='username'; end ◇[DELPHI]增加到文檔菜單連接 uses shellapi,shlOBJ; shAddToRecentDocs(shArd_path,pchar(filepath));//增加連接 shAddToRecentDocs(shArd_path,nil);//清空 ◇[DELPHI]判斷鼠標按鍵 if GetAsyncKeyState(VK_L(M,R)Button)<>0 then ... //左鍵 ◇[DELPHI]設置窗體的最大顯示 onformCreate事件 self.width:=screen.width; self.height:=screen.height; ◇[DELPHI]按鍵接受消息 OnCreate事件中處理:Application.OnMessage:=MyOnMessage; procedure Tform1.MyOnMessage(var MSG:TMSG;var Handle:Boolean); begin if msg.message=256 then ... //ANY鍵 if msg.message=112 then ... //F1 if msg.message=113 then ... //F2 end; ◇[雜類]隱藏共享文件夾 共享效果:可訪問,但不可見(在資源管理、網絡鄰居中) 取共享名為:direction$ 訪問://computer/dirction/ ◇[DELPHI]隨機產生文本色 randomize;//隨機種子 memo1.font.color:=rgb(random(255),random(255),random(255)); ◇[DELPHI]文件名的非法字符過濾 for i:=1 to length(s) do if s in ['\','/',':','*','?','<','>','|'] then ◇[DELPHI]轉換函數的定義及說明 datetimetofiledate (datetime:Tdatetime):longint; 將Tdatetime格式的日期時間值轉換成DOS格式的日期時間值 datetimetostr (datetime:Tdatetime):string; 將Tdatatime格式變量轉換成字符串,如果datetime參數不包含日期值,返回字符串日期顯示成為00/00/00,如果datetime參數中沒有時間值,返回字符串中的時間部分顯示成為00:00:00 AM datetimetostring (var result string; const format:string; datetime:Tdatetime); 根據給定的格式字符串轉換時間和日期值,result為結果字符串,format為轉換格式字符串,datetime為日期時間值 datetostr (date:Tdatetime) 使用shortdateformat全局變量定義的格式字符串將date參數轉換成對應的字符串 floattodecimal (var result:Tfloatrec;value: extended;precision,decimals: integer); 將浮點數轉換成十進制表示 floattostr (value:extended):string 將浮點數value轉換成字符串格式,該轉換使用普通數字格式,轉換的有效位數為15位。 floattotext (buffer:pchar;value:extended; format:Tfloatformat;precision, digits:integer):integer; 用給定的格式、精度和小數將浮點值value轉換成十進制表示形式,轉換結果存放於buffer參數中,函數返回值為存儲到buffer中的字符位數,buffer是非0結果的字符串緩沖區。 floattotextfmt (buffer:pchar;value:extended; format:pchar):integer 用給定的格式將浮點值value轉換成十進制表示形式,轉換結果存放於buffer參數中,函數返回值為存儲到buffer中的字符位數。 inttohex (value:longint;digits:integer): string; 將給定的數值value轉換成十六進制的字符串。參數digits給出轉換結果字符串包含的數字位數。 inttostr (value:longint):string 將整數轉換成十進制形式字符串 strtodate (const S:string):Tdatetime 將字符串轉換成日期值,S必須包含一個合法的格式日期的字符串。 strtodatetime (const S:string):Tdatetime 將字符串S轉換成日期時間格式,S必須具有MM/DD/YY HH:MM:SS[AM|PM]格式,其中日期和時間分隔符與系統時期時間常量設置相關。如果沒有指定AM或PM信息,表示使用24小時制。 strtofloat (const S:string):extended; 將給定的字符串轉換成浮點數,字符串具有如下格式: [+|-]nnn…[.]nnn…[<+|-><E|e><+|->nnnn] strtoint (const S:string):longint 將數字字符串轉換成整數,字符串可以是十進制或十六進制格式,如果字符串不是一個合法的數字字符串,系統發生ECONVERTERROR異常 strtointdef (const S:string;default: longint):longint; 將字符串S轉換成數字,如果不能將S轉換成數字,strtointdef函數返回參數default的值。 strtotime (const S:string):Tdatetime 將字符串S轉換成TDATETIME值,S具有HH:MM:SS[AM|PM]格式,實際的格式與系統的時間相關的全局變量有關。 timetostr (time:Tdatetime):string; 將參數TIME轉換成字符串。轉換結果字符串的格式與系統的時間相關常量的設置有關。 ◇[DELPHI]處理“右鍵菜單”方法 var reg: TRegistry; begin reg := TRegistry.Create; reg.RootKey:=HKEY_CLASSES_ROOT; reg.OpenKey('*\shell\check\command', true); reg.WriteString('', '"' + application.ExeName + '" "%1"'); reg.CloseKey; reg.OpenKey('*\shell\diary', false); reg.WriteString('', '操作(&C)'); reg.CloseKey; reg.Free; showmessage('DONE!'); end; ◇[DELPHI]發送虛擬鍵值ctrl V procedure sendpaste; begin keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0); keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), 0, 0); keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0); end; ◇[DELPHI]當前的光驅的盤符 procedure getcdrom(var cd:char); var str:string; drivers:integer; driver:char; i,temp:integer; begin drivers:=getlogicaldrives; temp:=(1 and drivers); for i:=0 to 26 do begin if temp=1 then begin driver:=char(i+integer('a')); str:=driver+':'; if getdrivetype(pchar(str))=drive_cdrom then begin cd:=driver; exit; end; end; drivers:=(drivers shr 1); temp:=(1 and drivers); end; end; ◇[DELPHI]字符的加密與解密 function cryptstr(const s:string; stype: dword):string; var i: integer; fkey: integer; begin result:=''; case stype of 0: setpass; begin randomize; fkey := random($ff); for i:=1 to length(s) do result := result+chr( ord(s) xor i xor fkey); result := result + char(fkey); end; 1: getpass begin fkey := ord(s[length(s)]); for i:=1 to length(s) - 1 do result := result+chr( ord(s) xor i xor fkey); end; end; □◇[DELPHI]向其他應用程序發送模擬鍵 var h: THandle; begin h := FindWindow(nil, '應用程序標題'); PostMessage(h, WM_KEYDOWN, VK_F9, 0);//發送F9鍵 end; □◇[DELPHI]得到圖像上某一點的RGB值 procedure Tform1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var red,green,blue:byte ; i:integer; begin i:= image1.Canvas.Pixels[x,y]; Blue:= GetBvalue(i); Green:= GetGvalue(i): Red:= GetRvalue(i); Label1.Caption:=inttostr(Red); Label2.Caption:=inttostr(Green); Label3.Caption:=inttostr(Blue); end; ◇[DELPHI]如何判斷字符串是否是有效EMAIL地址 function IsEMail(EMail: String): Boolean; var s: String;ETpos: Integer; begin ETpos:= pos('@', EMail); if ETpos > 1 then begin s:= copy(EMail,ETpos+1,Length(EMail)); if (pos('.', s) > 1) and (pos('.', s) < length(s)) then Result:= true else Result:= false; end else Result:= false; end; DELPHI]取機器BIOS信息 with Memo1.Lines do begin Add('MainBoardBiosName:'+^I+string(Pchar(Ptr($FE061)))); Add('MainBoardBiosCopyRight:'+^I+string(Pchar(Ptr($FE091)))); Add('MainBoardBiosDate:'+^I+string(Pchar(Ptr($FFFF5)))); Add('MainBoardBiosSerialNo:'+^I+string(Pchar(Ptr($FEC71)))); end; ◇[DELPHI]網絡下載文件 uses UrlMon; function DownloadFile(Source, Dest: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0; except Result := False; end; end; if DownloadFile('http://www.borland.com/delphi6.zip, 'c:\kylix.zip') then ShowMessage('Download succesful') else ShowMessage('Download unsuccesful') ◇[DELPHI]解析服務器IP地址 uses winsock function IPAddrToName(IPAddr : String): String; var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr)); HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); if HostEnt<>nil then result:=StrPas(Hostent^.h_name) else result:=''; end; ◇[DELPHI]取得快捷方式中的連接 function ExeFromLink(const linkname: string): string; var FDir, FName, ExeName: PChar; z: integer; begin ExeName:= StrAlloc(MAX_PATH); FName:= StrAlloc(MAX_PATH); FDir:= StrAlloc(MAX_PATH); StrPCopy(FName, ExtractFileName(linkname)); StrPCopy(FDir, ExtractFilePath(linkname)); z:= FindExecutable(FName, FDir, ExeName); if z > 32 then Result:= StrPas(ExeName) else Result:= ''; StrDispose(FDir); StrDispose(FName); StrDispose(ExeName); end; ◇[DELPHI]控制TCombobox的自動完成 {'Sorted' property of the TCombobox to true } var lastKey: Word; //全局變量 //TCombobox的OnChange事件 procedure Tform1.AutoCompleteChange(Sender: TObject); var SearchStr: string; retVal: integer; begin SearchStr := (Sender as TCombobox).Text; if lastKey <> VK_BACK then // backspace: VK_BACK or $08 begin retVal := (Sender as TCombobox).Perform(CB_FINDSTRING, -1, LongInt(PChar(SearchStr))); if retVal > CB_Err then begin (Sender as TCombobox).ItemIndex := retVal; (Sender as TCombobox).SelStart := Length(SearchStr); (Sender as TCombobox).SelLength := (Length((Sender as TCombobox).Text) - Length(SearchStr)); end; // retVal > CB_Err end; // lastKey <> VK_BACK lastKey := 0; // reset lastKey end; //TCombobox的onKeyDown事件 procedure Tform1.AutoCompleteKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin lastKey := Key; end; ◇[DELPHI]如何清空一個目錄 function EmptyDirectory(TheDirectory :String ; Recursive : Boolean) : Boolean; var SearchRec : TSearchRec; Res : Integer; begin Result := False; TheDirectory := NormalDir(TheDirectory); Res := FindFirst(TheDirectory + '*.*', faAnyFile, SearchRec); try while Res = 0 do begin if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then begin if ((SearchRec.Attr and faDirectory) > 0) and Recursive then begin EmptyDirectory(TheDirectory + SearchRec.Name, True); RemoveDirectory(PChar(TheDirectory + SearchRec.Name)); end else begin DeleteFile(PChar(TheDirectory + SearchRec.Name)) end; end; Res := FindNext(SearchRec); end; Result := True; finally FindClose(SearchRec.FindHandle); end; end; ◇[DELPHI]安裝程序如何添加到Uninstall列表 操作注冊表,如下: 1.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall鍵下建立一個主鍵,名稱任意。 例HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyUninstall 2.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyUnistall下鍵兩個串值, 這兩個串值的名稱是特定的:DisplayName和UninstallString。 3.給串DisplayName賦值為顯示在“刪除應用程序列表”中的名稱,如'Aiming Uninstall one'; 給串UninstallString賦值為執行的刪除命令,如 C:\WIN97\uninst.exe -f"C:\TestPro\aimTest.isu" ◇[DELPHI]截獲WM_QUERYENDSESSION關機消息 type Tform1 = class(Tform) procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION; procedure CMEraseBkgnd(var Message:TWMEraseBkgnd);Message WM_ERASEBKGND; private { Private declarations } public { Public declarations } end; procedure Tform1.WMQueryEndSession(var Message: TWMQueryEndSession); begin Showmessage('computer is about to shut down'); end; ◇[DELPHI]得到硬盤序列號 var SerialNum : pdword; a, b : dword; Buffer : array [0..255] of char; begin if GetVolumeInformation('c:\', Buffer, SizeOf(Buffer), SerialNum, a, b, nil, 0) then Label1.Caption := IntToStr(SerialNum^); end; ======================================================= 復制代碼 作者:Rogee 出處:Http://Rogee.cnblogs.com/ 心得:BLOG是什么,它是一個記錄學習過程的東西