亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

DELPHI開發技巧

2019-11-18 18:09:39
字體:
來源:轉載
供稿:網友
 

先人的DELPHI基礎開發技巧

[DELPHI]網絡鄰居復制文件

uses shellapi;

copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false);

[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;

var windir:array[0..255] of char;

getwindowsdirectory(windir,sizeof(windir));

或者從注冊表中讀取,位置:

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion

SystemRoot鍵,取得如:C:/WINDOWS

[DELPHI]在form或其他容器上畫線

var x,y:array [0..50] of integer;

canvas.pen.color:=clred;

canvas.pen.style:=PSDash;

form1.canvas.moveto(trunc(x[i]),trunc(y[i]));

form1.canvas.lineto(trunc(x[j]),trunc(y[j]));

[DELPHI]字符串列表使用

var tips:tstringlist;

tips:=tstringlist.create;

tips.loadfromfile('filename.txt');

edit1.text:=tips[0];

tips.add('last line addition string');

tips.insert(1,'insert string at NO 2 line');

tips.savetofile('newfile.txt');

tips.free;

[DELPHI]簡單的剪貼板操作

richedit1.selectall;

richedit1.copytoclipboard;

richedit1.cuttoclipboard;

edit1.pastefromclipboard;

[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]初步判斷程序母語

DELPHI軟件的DOS提示:This PRogram Must Be Run Under Win32.

VC++軟件的DOS提示:This Program Cannot Be Run In DOS Mode.

[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);//清空

[雜類]備份智能ABC輸入法詞庫

windows/system/user.rem

windows/system/tmmr.rem

[DELPHI]判斷鼠標按鍵

if GetAsyncKeyState(VK_LButton)<>0 then ... //左鍵

if GetAsyncKeyState(VK_MButton)<>0 then ... //中鍵

if GetAsyncKeyState(VK_RButton)<>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/

[java Script]Java Script網頁常用效果

網頁60秒定時關閉

<script language="java script"><!--

settimeout('window.close();',60000)

--></script>

關閉窗口

<a href="/" onclick="Javascript:window.close();return false;">關閉</a>

定時轉URL

<meta http-equiv="refresh" content="40;url=http://www.086net.com">

設為首頁

<a onclick="this.style.behavior='url(#default#homepage)';this.sethomepage('http://086net.com');"href="#">設為首頁</a>

收藏本站

<a href="javascript:window.external.addfavorite('http://086net.com','[未名碼頭]')">收藏本站</a>

加入頻道

<a href="javascript:window.external.addchannel('http://086net.com')">加入頻道</a>

[DELPHI]隨機產生文本色

randomize;//隨機種子

memo1.font.color:=rgb(random(255),random(255),random(255));

[DELPHI]DELPHI5 UPDATE升級補丁序列號

1000003185

90X25fx0

[DELPHI]文件名的非法字符過濾

for i:=1 to length(s) do

if s[i] 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]程序不出現在ALT+CTRL+DEL

implementation后添加聲明:

function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL';

RegisterServiceProcess(GetCurrentProcessID, 1);//隱藏

RegisterServiceProcess(GetCurrentProcessID, 0);//顯示

ALT+DEL+CTRL看不見

 

[DELPHI]程序不出現在任務欄

uses windows

var

Extendedstyle : Integer;

begin

Application.Initialize;

//==============================================================

Extendedstyle := GetWindowLong (Application.Handle, GWL_EXstyle);

SetWindowLong(Application.Handle, GWL_EXstyle, Extendedstyle OR WS_EX_TOOLWINDOW

AND NOT WS_EX_APPWINDOW);

//===============================================================

Application.Createform(Tform1, form1);

Application.Run;

end.

 

[DELPHI]如何判斷撥號網絡是開還是關

if GetSystemMetrics(SM_NETWORK) AND $01 = $01 then

showmessage('在線!')

else showmessage('不在線!');

 

[DELPHI]實現IP到域名的轉換

function GetDomainName(Ip:string):string;

var

pH:PHostent;

data:twsadata;

ii:dWord;

begin

WSAStartup($101, Data);

ii:=inet_addr(pchar(ip));

pH:=gethostbyaddr(@ii,sizeof(ii),PF_INET);

if (ph<>nil) then

result:=pH.h_name

else

result:='';

WSACleanup;

end;

 

[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[i]) 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[i]) xor i xor fkey);

end;

end;

 

□◇[DELPHI]向其他應用程序發送模擬鍵

var

h: THandle;

begin

h := FindWindow(nil, '應用程序標題');

PostMessage(h, WM_KEYDOWN, VK_F9, 0);//發送F9鍵

end;

 

□◇[DELPHI]DELPHI 支持的DAO數據格式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情第一页xxx| 久久久av电影| 国产精品激情av在线播放| 国产91免费看片| 日韩午夜在线视频| 久久成人精品电影| 亚洲视频在线观看视频| 欧美日韩在线视频一区| 在线视频日本亚洲性| 亚洲亚裔videos黑人hd| 中文字幕亚洲字幕| 久久人人爽亚洲精品天堂| 亚洲美女又黄又爽在线观看| 日韩美女在线播放| 久久久www成人免费精品| 国产视频丨精品|在线观看| 亚洲欧美日韩精品久久| 亚洲国产精品资源| 午夜精品在线视频| 欧美日韩免费看| 欧美大人香蕉在线| 亚洲无限乱码一二三四麻| 亚洲女同精品视频| 日韩在线高清视频| 秋霞成人午夜鲁丝一区二区三区| 亚洲午夜精品久久久久久久久久久久| 久久人人97超碰精品888| 自拍偷拍亚洲在线| 精品调教chinesegay| 国产精品伦子伦免费视频| 北条麻妃一区二区三区中文字幕| 国产欧美亚洲视频| 欧美激情xxxx| 亚洲精品国精品久久99热一| 欧美日韩性视频在线| 午夜精品久久久久久久久久久久| 97av在线视频免费播放| 国产精品小说在线| 亚洲石原莉奈一区二区在线观看| 国产精品久久久久久久久久久新郎| 欧美成人午夜免费视在线看片| 在线播放精品一区二区三区| 国产精彩精品视频| 亚洲国产精品嫩草影院久久| 国产精品av在线播放| 亚洲美女黄色片| 92裸体在线视频网站| 欧美日韩中国免费专区在线看| 欧美电影免费观看| 亚洲成人av片| 亚洲一二在线观看| 亚洲天堂成人在线视频| 国产精品视频区1| 91精品视频免费| 在线成人激情黄色| www.亚洲免费视频| 一色桃子一区二区| 亚洲人在线视频| 国产美女精彩久久| 日韩在线免费av| 久久伊人精品天天| 久久久久久亚洲精品不卡| 国产精品中文字幕在线观看| 国产欧美中文字幕| 亚洲iv一区二区三区| 91日本在线观看| 成人黄色免费在线观看| 久久综合久久美利坚合众国| 国产婷婷成人久久av免费高清| 亚洲www永久成人夜色| 国产精品444| 日韩国产一区三区| 国产偷亚洲偷欧美偷精品| 国产精品综合不卡av| 国产视频自拍一区| 国产91精品不卡视频| 日韩av网站导航| 国精产品一区一区三区有限在线| 在线播放日韩精品| 亚洲欧美另类国产| 在线观看国产欧美| 久久国产视频网站| 中文字幕av一区二区三区谷原希美| 中文字幕日韩欧美在线视频| 美女av一区二区三区| 日本sm极度另类视频| 亚洲天堂第一页| 色综合视频一区中文字幕| 91精品国产一区| 国产精品中文久久久久久久| 欧美乱妇高清无乱码| 茄子视频成人在线| 中文字幕av一区中文字幕天堂| 欧美一区二区三区免费观看| 欧美夫妻性生活视频| 亚洲美女动态图120秒| 欧美日韩精品二区| 亲爱的老师9免费观看全集电视剧| 欧美夫妻性视频| 中文字幕欧美精品日韩中文字幕| 欧美成aaa人片免费看| 亚洲男人av在线| 日韩av网址在线观看| 伊人av综合网| 成人免费看黄网站| 欧美肥臀大乳一区二区免费视频| 欧美亚洲成人网| 岛国视频午夜一区免费在线观看| 亚洲最大福利网| 国外日韩电影在线观看| 日韩暖暖在线视频| 欧美伦理91i| 日本人成精品视频在线| 欧美xxxx做受欧美| 亚洲男人第一av网站| 亚洲欧洲一区二区三区在线观看| 日韩视频欧美视频| 狠狠色狠色综合曰曰| 国产精品香蕉av| 欧美精品激情视频| 欧美午夜丰满在线18影院| 亚洲人成电影网站色| 欧美在线视频一区二区| 成人福利视频在线观看| 日韩视频一区在线| 日韩一区二区三区xxxx| 国产精品久久久久久久久久新婚| 国产精品亚洲аv天堂网| 欧美激情一区二区三区久久久| 一区二区国产精品视频| 欧美极品少妇xxxxx| 成人xxxx视频| 91网站免费看| 国产va免费精品高清在线| 日本欧美一级片| 97久久精品人搡人人玩| 国产精品视频资源| 亚洲第一天堂av| 1769国内精品视频在线播放| 2020久久国产精品| 国产精品视频一| 欧美又大又粗又长| 777国产偷窥盗摄精品视频| 国产91精品视频在线观看| 亚洲精品国产美女| 中文字幕日韩高清| 日韩在线视频一区| 精品国产31久久久久久| 精品亚洲一区二区三区在线观看| 亚洲欧美精品伊人久久| 91精品免费视频| 欧美日韩国产精品专区| 欧美主播福利视频| 欧美福利视频网站| 91极品女神在线| 狠狠躁夜夜躁人人爽超碰91| 国产精品成人一区| 欧美视频专区一二在线观看| 亚洲午夜色婷婷在线| 久久综合电影一区| 精品视频在线播放色网色视频| 亚洲第一色中文字幕| 欧美电影在线观看网站| 国产精品第3页|