²é¿´: 1421  |  »Ø¸´: 5

zyj8119

ľ³æ (ÖøÃûдÊÖ)

[½»Á÷] ¡¾×ªÌû¡¿Delphi´úÂëµÄ±ê×¼·ç¸ñ ÒÑÓÐ4È˲ÎÓë

ÎÒÃdzÐÈÏÐí¶àºÃµÄÒѾ­È·¶¨µÄ¹¤×÷ÊÒ»ò¸öÈË£¬ÓµÓÐËûÃÇ×Ô¼ºµÄºÍ±¾ÎÄÀïËù˵µÄ²»Í¬µÄ±à³Ìϰ¹ß£¬ µ«ÊÇ£¬ÎÒÃÇÇ¿ÁÒ½¨ÒéÄãʹÓÃÒ»¸ö¹¤¾ß½«ÄãµÄ´úÂëת»»ÎªBorland·ç¸ñµÄ´úÂ룬ȻºóÔÙÌá½»¸øBorland£¬Project JEDI»òÆäËûÈκι«¿ªµÄÔ´´úÂë֪ʶ¿â¡£ÎÒÃDz»ÏëÇ¿ÆÈÄã¸Ä±äÄãµÄϰ¹ß£¬µ«ÎÒÃǼá³ÖËùÓÐͬBorland²úÆ·Ò»Æð¹¤×÷µÄµÄ´úÂë×ñÑ­±¾ÎÄÃèÊöµÄϰ¹ß¡£
¶ÔÏóPascalÊÇÒ»ÖÖÓÅÃÀµÄÉè¼ÆÓïÑÔ¡£½ÏÇ¿µÄ¿É¶ÁÐÔ¾ÍÊÇËüµÄÒ»¸öÓŵ㡣±¾ÎÄÉè¼ÆµÄ±ê×¼½«ÔöÇ¿¶ÔÏóPascal´úÂëµÄ¿É¶ÁÐÔ¡£µ±¿ª·¢ÈËÔ±×ñ´Ó±¾ÎÄÕ¹ÏÖµÄÕâЩ¼òµ¥µÄϰ¹ß£¬ËûÃÇÒ²½«³ÉΪ±ê×¼£¬Õ⽫ÓÐÒæÓÚËùÓеÄDelphi¿ª·¢ÈËԱʹÓÃͳһµÄÒ×¶ÁµÄ´úÂë·ç¸ñ¡£Ö´ÐÐÕâЩ±ê×¼µÄŬÁ¦½«Ôö¼Ó¿ª·¢ÈËÔ±µÄÔ´´úÂëµÄ¼ÛÖµ£¬ÌرðÊÇÔÚά»¤ºÍµ÷ÊÔÑ­»·½×¶Î¡£
¾¡¹ÜÎÒÃÇÏàÐŲ¢ÇÒÔÞÃÀ±¾ÎÄËùÐûÑïµÄ·ç¸ñ£¬µ«ÎÒÃÇûÓбØÒªÖ§³ÖËü£¬ÒòΪËü±¾ÉíÊÇÕýÈ·µÄ¶øÆäËüµÄÔòÊÇ´íÎóµÄ¡£È»¶øÎÒÃÇÏàОø´ó¶àÊý¿ª·¢ÈËÔ±×ñ´ÓµÄ±ê×¼ÊÇÓÐËüµÄ¹¦Ð§µÄ£¬ËùÒÔÎÒÃÇÈÔȻ֧³Ö²¢Î¬»¤¸Ã·ç¸ñ¡£ÈËÀàµÄ´óÄÔ×ÜÔÚÊÊÓ¦±ê×¼£¬²¢ÇÒÕÒѰ·½·¨È¥¿ìËÙ×éÖ¯ËùÊìϤµÄģʽ£¬´Ó¶ø¿ìËÙ¶øÓÐЧµØÀí½âÆäº¬Òå¡£ÕýÊÇÒòÕâÖÖÒªÇó¶ø½¨Á¢µÄ±ê×¼½«Ê¹´óÁ¿µÄÈ˾¡¿ÉÄÜÈÝÒ×µÄÔĶÁ´úÂë¡£Èç¹ûÔÚ³õ´ÎʹÓÃÎÒÃǵÄÖ¸µ¼·½ÕëÊǸе½Ä°Éú£¬ÄÇôÎÒÃÇÇëÄã¼á³ÖÒ»»á¶ù£¬Äã»á·¢ÏÖÄãÒ²±äµÃϰ¹ßÁË¡£»òÕߣ¬Èç¹ûÄãÔ¸Ò⣬ÄãÒ²¿ÉÒÔ±£³ÖÄã×Ô¼ºµÄ·ç¸ñ£¬²¢Í¨¹ýÒ»¸ö×ñ´ÓÎÒÃDZê×¼µÄ³ÌÐòÀ´×ª»»£¬È»ºóÄã¿ÉÒÔ½«ÄãµÄ´úÂëÌá½»¸øBorland»òÆäËû֪ʶ¿âÁË¡£
һЩÎı¾±à¼­Æ÷£¬ÏóVisual SlickEdit¿ÉÒÔ°ïÖúÄã°´ÕÕÒ»¶¨µÄ·ç¸ñÀ´¸ñʽ»¯ÄãµÄ´úÂë¡£

Ò»¸öÃâ·ÑµÄÓÉEgbert van Nes¿ª·¢µÄ¸ñʽ»¯³ÌÐò¿ÉÒÔÔÚÒÔϵÄÁ¬½Ó»ñµÃ£º
http://www.slm.wau.nl/wkao/delforexp.html

ÁíÒ»¸öÕë¶ÔDelphiµÄÉÌÒµ»¯³ÌÐòÊÇcrackerJax£º
http://www.k.NETicsoftware.com/html/products.html

£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­


1.0 ½éÉÜ
±¾ÎIJ»ÊÇΪObject PascalÓïÑÔ¶¨ÒåÓï·¨¹æÔòµÄÒ»ÖÖ³¢ÊÔ¡£ÀýÈ磺ÔÚelseÇ°Ãæ·ÅÖ÷âºÅ"£»"ÊÇÎ¥·¨µÄ£»±àÒëÆ÷²»ÔÊÐíÕâÖÖÓ÷¨¡£ËùÒÔÎÒ²»»áÔÚ±¾ÎÄÖÐչʾÓï·¨¹æÔò¡£±¾ÎÄÖ¼ÔÚÔÚÓïÑÔÌṩѡÔñµÄµØ·½¶¨ÒåÊʵ±µÄÐÐΪϰ¹ß¡£ÎÒͨ³£ÔÚÖ»ÓÐÒ»ÖÖ¿ØÖÆ·½·¨µÄµØ·½±£³Ö³ÁĬ¡£

1.1 ±³¾°
ÔÚ±¾ÎijöÏÖµÄÖ¸µ¼·½Õë»ùÓÚDelphiÔ´´úÂëµÄÒ»²¿·Ö¡£DelphiÔ´´úÂëÇ¡ºÃ×ñÑ­ÕâЩָµ¼·½Õë¡£Èç¹ûÄã·¢ÏÖÁËÎ¥·´ÕâЩԭÔòµÄÇé¿ö£¬ÄÇôӦ¸ÃÊÇÕâЩԭÔò¶ø²»ÊÇÄÇЩ²»È·¶¨µÄÔ´´úÂë³ÉΪÄãµÄÖ¸µ¼·½Õ롣Ȼ¶ø£¬Äã¿ÉÒÔʹÓÃÕâЩԭ´úÂë×÷ΪÕâЩԭÔòµÄ²¹³ä£¬ÖÁÉÙËü¿ÉÒÔ°ïÖúÄãµÃµ½¹ØÓÚÄã×Ô¼ºµÄ´úÂëµÄÐÎʽµÄÒ»°ã¿´·¨¡£

1.2 ¸Ðл
±¾ÎÄÕâЩ¸ñʽÊÇ»ùÓÚÒÑÍê³ÉµÄΪJavaÓïÑÔ¶¨ÒåµÄ·ç¸ñ±ê×¼µÄ¹¤×÷µÄ¡£JavaÔÚ¹æÔòÉ϶Ըñʽ»¯Object PascalÔ´´úÂëÊÇûÓÐÈκÎÓ°ÏìµÄ£¬µ«ÔÚSunÍøÕ¾ÉϵÄÎĵµÊDZ¾ÎĵĻù´¡¡£ ÔÚÄ³Ð©ÌØÊâµÄµØ·½±¾Îĵķç¸ñºÍ¸ñʽÊܵ½"A Coding Style Guide for Java WorkShop and Java Studio Programming"(Achut Reddy, ¡¶Java³µ¼äºÍJava¹¤×÷ÊҵıàÂëÏòµ¼¡·)µÄºÜ´óÆô·¢¡£¸ÃÎÄÕ¿ÉÔÚ¸ÃURLÕÒµ½£ºhttp://www.sun.com/workshop/java/wp-coding
DelphiС×éΪ±¾ÎĵÄÍê³É×ö³öÁËÖØ´ó¹±Ï×£¬ÊÂʵÉÏ£¬Èç¹ûûÓÐËüÃǵİïÖú£¬±¾ÎÄÊÇÎÞ·¨Íê³ÉµÄ¡£

2.0 Ô´Îļþ
Object PascalÔ´´úÂëÖ÷Òª±»·Ö³Éµ¥Ô´ÎļþºÍÏîÄ¿Îļþ£¬ËûÃǶ¼×ñ´ÓÏàͬµÄϰ¹ß¡£DelphiÏîÄ¿ÎļþÓÐÒ»¸ö.DPRµÄÀ©Õ¹Ãû¡£ËüÊÇÏîÄ¿µÄÖ÷Îļþ¡£ÈκÎÔÚÏîÄ¿ÖÐʹÓõĵ¥ÔªÎļþ¶¼ÓÐÒ»¸ö.PASµÄÀ©Õ¹Ãû¡£ÆäËüµÄÎļþ£¬ÏóÅú´¦ÀíÎļþ¡¢HTMLÎļþ»òÕßDLLsÒ²¿ÉÒÔÔÚÏîÄ¿ÖаçÑÝÒ»¸ö½ÇÉ«£¬µ«±¾ÎÄֻɿ¼°ÏîÄ¿ÎļþºÍµ¥ÔªÎļþ¡£

2.1 Ô´ÎļþÃüÃû
Object PascalÖ§³Ö³¤ÎļþÃû¡£Èç¹ûÄãʹÓü¸¸öµ¥´ÊÀ´ÐγÉÒ»¸öµ¥Ò»µÄÃû³Æ£¬ÄÇô×îºÃÊÇΪÿ¸öµ¥´ÊʹÓôóдµÄ¿ªÍ·×Öĸ£ºMyFile.pas¡£Õâ±»ÈÏΪÊDzåÈëʽ´óд»òÍÕ·åʽ´óд¡£À©Õ¹ÃûÓ¦µ±Ê¹ÓÃСдÐÎʽ¡£ÓÉÓÚÀúÊ·Ô­Òò£¬DelphiÔ´´úÂë¾­³£Ê¹ÓÃ8:3ʽÃüÃûģʽ£¬µ«¿ª·¢ÈËÔ±²»±ØÎªÉÏÊö¹æÔòËùÏÞÖÆ¶ø×ªÏòDelphiС×éµÄÓ÷¨¡£
Èç¹ûÄãÕýÔÚ·­ÒëÒ»¸öC/C++Í·Îļþ£¬ÄÇôÄã·­ÒëµÄPascalÎļþÒªÓëC/C++Í·Îļþ±£³ÖÏàͬµÄÖ÷ÎļþÃû£¬À©Õ¹ÃûÓÃ.PAS¡£ÀýÈ磺windows.h -> Windows.pas¡£Èç¹ûPascalÓ﷨ǿÆÈÄ㽫¼¸¸öÍ·Îļþ×éºÏµ½Ò»¸öµ¥Ò»µÄµ¥ÔªÎļþÖУ¬ÄÇô°üº¬ÆäËûÍ·ÎļþµÄÄǸöÍ·ÎļþµÄÎļþÃû½«×÷Ϊе¥ÔªÎļþµÄÃû³Æ¡£ÀýÈ磺Windows.h°üº¬ÁËWinBase.hÎļþ£¬Ôòеĵ¥ÔªÎļþÃûΪWindows.pas.

2.2 Ô´Îļþ×éÖ¯
ËùÓеÄObject Pascalµ¥ÔªÎļþÓ¦µ±°´ÕÕÒÔϵÄ˳Ðò°üº¬ÏÂÁÐÔªËØ£º
°æÈ¨£¯±êʶ¿é×¢ÊÍ
µ¥ÔªÃû
½Ó¿Ú¶Î
ʵÏÖ²¿·Ö
Ò»¸ö½áÊø·û"end."

ÿ¸ö²¿·ÖÖ®¼äÖÁÉÙ¿ÕÒ»ÐС£

ÆäËüµÄÔªËØÓ¦µ±±»½á¹¹»¯³ÉÄãÈÏΪ×îÊʵ±µÄ˳Ðò¡£µ«°æÈ¨Ó¦µ±³öÏÖÔÚÎļþµÄ×ʼ£¬È»ºóÊǵ¥ÔªÃû£¬È»ºóÊÇÈκÎÌõ¼þ¶¨Òå¡¢±àÒëÆ÷ָʾ·û»ò°üº¬Óï¾ä£¬È»ºóÊÇuses×־䣺



{*******************************************************}
{ }
{ Borland Delphi Visual Component Library }
{ }
{ Copyright (c) 1995,98 Inprise Corporation }
{ }
{*******************************************************}

unit Buttons;

{$S-,W-,R-}
{$C PRELOAD}

interface

uses
Windows, Messages, Classes,
Controls, Forms, Graphics,
StdCtrls, ExtCtrls, CommCtrl;






Èç¹ûÄ㽫type¶Î·Åµ½const¶Î֮ǰ£¬»òÕß½«ËüÃÇÁ½Õß»ìºÏ£¬ÄÇÊÇûÓÐʲôӰÏìµÄ¡£

ʵÏÖ²¿·ÖÐèÒªÊ×ÏȽ«implementationд³öÀ´£¬È»ºóÊÇuses×־䣬ȻºóÊÇÆäËüµÄ°üº¬ÉùÃ÷»ò±ðµÄָʾ·û£º



implementation

uses
Consts, SysUtils, ActnList,
ImgList;






{$R BUTTONS.RES}

2.2.1 °æÈ¨£¯±êʶ¿é×¢ÊÍ
ÿһ¸öÔ´Îļþ¶¼Ó¦µ±ÒÔÒ»¸ö°üº¬°æ±¾ÐÅÏ¢ºÍ±ê×¼°æÈ¨²¼¸æ¿é×¢ÊÍ¿ªÊ¼¡£°æ±¾ÐÅÏ¢¿ÉÒÔÏóÏÂÃæÕâÑù£º



{*******************************************************}
{ }
{ Widgets Galore }
{ }
{ Copyright (c) 1995,98 Your Company }
{ }
{*******************************************************}






°æÈ¨²¼¸æÖÁÉÙÐèÒª°üº¬ÒÔÏÂÐУº
°æÈ¨ËùÓÐ(C) Äê·Ý °æÈ¨ËùÓÐÕß

Èç¹ûÄãÊÇΪBorland¿ª·¢Èí¼þµÄµÚÈý·½£¬Äã¿ÉÒÔÔÚ°æÈ¨µÄ×îºó¼ÓÈëÄã×Ô¼ºµÄÃû×Ö£º



{*******************************************************}
{ }
{ Borland Delphi Visual Component Library }
{ Copyright (c) 1995,99 Borland International }
{ Created by Project JEDI }
{ }
{*******************************************************}






2.2.2 unitÉùÃ÷
ÿһ¸öµ¥ÔªÎļþÒªÓÐÒ»¸öunitÉùÃ÷¡£unitÊÇÒ»¸ö±£Áô×Ö£¬Òò´ËËüÐèҪСд¡£µ¥ÔªµÄÃû³Æ¿ÉÒÔÊÇ´óСд»ìºÏµÄ£¬µ«±ØÐëºÍµ¥ÔªÎļþµÄÎļþÃûÏàͬ¡£ÀýÈ磺
unit MyUnit;

Ôòµ¥ÔªÎļþµÄÃû³ÆÓ¦µ±ÎªMyUnit.pas¡£ÔÚÎļþϵͳÖУ¬Ëü×÷ΪÕâ¸öÎļþµÄÈë¿Ú¡£

2.2.3 usesÉùÃ÷
ÔÚµ¥ÔªÄÚ²¿£¬usesÉùÃ÷Ó¦µ±Ê¹ÓÃСЩµÄusesÒýµ¼¡£±»ÒýÓõĵ¥ÔªÃûÒª×ñÑ­ÔÚËû×Ô¼ºµÄµ¥ÔªÖб»¶¨ÒåʱʹÓõĴóдϰ¹ß£º
uses MyUnit;
ÿһ¸öµ¥ÔªÃû±»Ò»¸ö¶ººÅͬÆäÏàÁڵĵ¥ÔªÃû·Ö¿ª£¬×îºóÒ»¸öµ¥ÔªÃûºóÃæ¸úÒ»¸ö·ÖºÅ£º



uses
Windows, SysUtils, Classes, Graphics, Controls, Forms,
TypInfo;
ÔÚusesµÄÏÂÒ»ÐпªÊ¼¼ÓÈëµ¥ÔªÃûºÍÔÚusesºóÃæÖ±½Ó¼ÓÈëµ¥ÔªÃûͬÑù¶¼ÊÇÕýÈ·µÄ¡£
uses Windows, SysUtils, Classes, Graphics, Controls, Forms,
TypInfo;




Äã¿ÉÒÔ¸ñʽ»¯ÄãµÄµ¥ÔªÃûÁÐ±í£¬¿ÉÒÔÔÚ80¸ö×Ö·ûÏÞÖÆÏ»»ÐУ¬»òÕßÿ¸öµ¥ÔªÃûÒ»ÐС£

2.2.4 ÀàºÍ½Ó¿Ú¶¨Òå
ÀàµÄ¶¨ÒåÒÔÁ½¸ö¿Õ¸ñ¿ªÊ¼£¬È»ºóÊÇÒ»¸öǰ׺"T"¡£ ǰ׺Ҫ´óд£¬Ã¿¸öÄÚǶµÄµ¥´ÊÒª´óд¿ªÍ·¡£²»ÒªÔÚObject PascalÔ´´úÂëÖÐʹÓÃÖÆ±í·û"Tab"¡£Àý£º
TMyClass
ÔÚ±êʶ·ûÖ®ºó½ÓÒ»¸ö¿Õ¸ñ£¬È»ºóÊǵȺţ¬È»ºóÊÇclassµ¥´Ê£¬classҪСд£º
TMyClass = class
Èç¹ûÄãµÄÀàÊÇ´Ó׿Ïȼ̳ÐÀ´µÄ£¬ÔòÐèÒª¼ÓÈë°üº¬×Å׿ÏÈÀàµÄ×óÓÒÀ¨ºÅ£º
TMyClass = class(TObject)
·¶Î§Ö¸Ê¾·ûÀëÒ³±ßÁ½¸ö¿Õ¸ñ£¬²¢ÒÔÏÂÃæµÄ˳Ðò³öÏÖ£º
TMyClass = clss(TObject)
private
protect
public
published
end;
Êý¾Ýͨ³£Ö»ÔÚprivate¶ÎÉùÃ÷£¬²¢ÇÒËüÃǵıêʶ·ûÒÔ"F"¿ªÊ¼¡£ËùÓдËÀàµÄÉùÃ÷ÀëÒ³±ß4¸ö¿Õ¸ñ£º



TMyClass = class(TObject)
private
FMyDate: Integer;
function GetDate: Integer;
procedure SetData(Value: Integer);
public
published
property MyData: Integer read GetData write SetData;
end;




½Ó¿Ú×ñ´ÓͬÀàÏàͬµÄ¹æÔò£¬³ýÁËÄãÓ¦µ±ºöÂÔ·¶Î§Ö¸Ê¾·ûºÍ˽ÓÐÊý¾Ý£¬²¢ÇÒʹÓÃinterfaceµ¥´Ê´úÌæclassµ¥´Ê¡£
ÃüÃûϰ¹ß
³ýÁ˱£Áô×ÖºÍָʾ·ûÊÇСдÍ⣬ËùÓеÄPascal±êʶ·ûÓ¦µ±Ê¹ÓÃÍÕ·åʽ¸ñʽ£¬¼´Ã¿¸ö±êʶ·û¿ªÍ·×ÖĸҪ´óд£¬ÄÚǶµ¥´ÊµÄÊ××ÖĸҲҪ´óд£¬Ö»È¡Ê××ÖĸµÄËõд´ÊÒ²Ò»Ñù¡£
MyIdentifier
MyFTPClass
¶Ô´Ë¹æÔòÖ÷ÒªµÄÀýÍâÊÇÍ·Îļþ·­ÒëµÄÇé¿ö£¬Ó¦µ±×ñÑ­ÔÚÔ­Í·ÎļþÖеÄÃüÃûϰ¹ß¡£ÀýÈ磺
WM_LBUTTONDOWN£¬²»ÒªÐ´³Éwm_LButtonDown.
³ýÁËÍ·Îļþ·­ÒëÍ⣬²»ÒªÊ¹ÓÃÏ»®Ï߷ָ´Ê¡£ÀàÃûÓ¦µ±ÊÇÃû´Ê»òÃû´Ê¶ÌÓï¡£½Ó¿Ú»òÀàµÄÃû³ÆÒÀÀµÓÚ½Ó¿ÚµÄÏÔ¶øÒ×¼ûµÄÄ¿µÄ¡¢ÓÃ;¡£

ºÃµÄÃû×Ö£º
Addressform, ArrayIndexOutOfBoundsException
µÍÁÓµÄÃû×Ö£º
ManageLayout //ʹÓö¯´Ê¶ÌÓï
delphi_is_new_to_me //ʹÓÃÏ»®Ïß

3.1 µ¥ÔªÃüÃû
²Î¼ûµ¥ÔªÉùÃ÷

3.2 À࣯½Ó¿ÚÃüÃû
²Î¼ûÀ࣯½Ó¿ÚÉùÃ÷

3.3 Óò£¯×Ö¶ÎÃüÃû
ʹÓÃÍÕ·åʽ¸ñʽ¡£ÒÔ´óдµÄ"F"¿ªÊ¼£¬²¢ÇÒÔÚprivateÖÐÉùÃ÷ËùÓеÄÊý¾Ý£¬Ê¹ÓÃÊôÐÔ»ò»ñÈ¡Õß(getter)ºÍ°²×°Õß(setter)À´Ìṩ¹«¹²µÄ´æÈ¡²Ù×÷¡£ÀýÈ磺ʹÓÃÃû×ÖGetSomethingÀ´ÃüÃûÒ»¸ö·µ»ØÄÚ²¿Óò£¯×Ö¶ÎÖµµÄº¯Êý£¬Ê¹ÓÃSetSomethingÀ´ÃüÃûÒ»¸öÉèÖÃÓò£¯×Ö¶ÎÖµµÄ¹ý³Ì¡£
²»ÒªÔÚconst¶ÎÈ«²¿Ê¹Óôóд£¬³ý·ÇÊÇÍ·Îļþ·­ÒëµÄÐèÒª¡£
DelphiÊÇÔÚ¼ÓÀû¸£ÄáÑÇ¿ª·¢µÄ£¬ËùÓÐÎÒÃÇ×èÖ¹¼ÇºÅµÄʹÓ㬳ý·ÇÊÇÍ·Îļþ·­ÒëµÄÐèÒª¡£
ÕýÈ·£º
FMyString: string;
²»ÕýÈ·£º
lpstrMyString: string;
µ±È»ÔÚö¾ÙÀàÐͶ¨ÒåÖб£ÁôÁËÐÙÑÀÀûÃüÃû·¨£º
TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp,
bkYes, bkNo, bkClose, bkAbort, bkRetry,
bkignore, bkAll);
ÔÚÕâÖÖÇé¿öÏÂ×Ö·ûbk±»²åÈëµ½Õâ¸öö¾ÙÀàÐ͵Äÿһ¸öÔªËØÇ°¡£bkÒâζ×ÅButtonKind¡£
ÔÚ¿¼ÂÇÃüÃûϰ¹ßʱ£¬Òª±ÜÃâʹÓõ¥¸ö×Ö·ûµÄÃû³Æ£¬µ«Áãʱ±äÁ¿ºÍÑ­»·±äÁ¿³ýÍâ¡£
±ÜÃâʹÓÃ"l"(L)±äÁ¿£¬ÒòΪËüºÍ"1"(one)ÎÞÂÛÔÚ´òÓ¡»ú»¹ÊÇÔÚÏÔʾÆ÷É϶¼ÄÑÒԷֱ档

3.4 ·½·¨ÃüÃû
·½·¨ÃüÃûҲʹÓÃÍÕ·å¸ñʽ¡£·½·¨ÃüÃûϰ¹ßͬ·Ç³£Á¿ÓòµÄÃüÃû·½·¨ÊÇÏàͬµÄ£¬µ«¿ÉÒÔ´ÓÉÏÏÂÎÄÇø·ÖËüÃÇ¡£·½·¨ÃüÃûÓ¦µ±Ç¿ÖÆÊ¹Óö¯´Ê»ò¶¯´Ê¶ÌÓï¡£ÀýÈ磺
//ºÃµÄ·½·¨ÃüÃû£º
ShowStatus, DrawCircle, AddLayoutComponent
//²îµÄ·½·¨ÃüÃû£º
MouseButton //Ãû´Ê¶ÌÓûÓÐÃèÊö¹¦ÄÜ
drawCircle //ÒÔСд×Öĸ¿ªÍ·
add_layout_component //ʹÓÃÁËÏ»®Ïß

//ÒÔÏ·½·¨µÄ¹¦Äܲ»¹»Ã÷È·¡£ËüÊÇ¿ªÊ¼ÔËÐÐÒ»¸ö·þÎñÄØ(¸üºÃ£ºStartServer)»¹ÊÇÅжÏÒ»¸ö·þÎñÊÇ·ñÔÚÔËÐÐ(¸üºÃ£ºIsServerRunning)£¿
ServerRunning //¶¯´Ê¶ÌÓµ«²»ÊÇÃüÁî
Ò»¸ö»ñÈ¡»òÕßÉèÖÃһЩÀàÊôÐԵķ½·¨Ó¦µ±·Ö±ð±»³ÆÎªGetProperty»òÕßSetProperty£¬Property´ú±í¸ÃÊôÐÔµÄÃû³Æ¡£ÀýÈ磺
GetHeight, SetHeight
Ò»¸ö²âÊÔÀàµÄ²¼¶ûÊôÐԵķ½·¨Ó¦µ±±»ÃüÃûΪIsVisible£¬Visible´ú±íÊôÐÔµÄÃû³Æ¡£ÀýÈ磺
IsResizable, IsVisible

3.5 ¾Ö²¿±äÁ¿ÃüÃû
³ýÁ˲»Ê¹ÓÃ"F"Í⣬¾Ö²¿±äÁ¿µÄÃüÃû¹æÔòͬÓò£¯×ֶεÄÃüÃû¹æÔòÒ»Ñù¡£²Î¼û3.3½Ú¡£

3.6 ±£Áô×Ö
±£Áô×ÖºÍָʾ·ûҪȫ²¿Ð¡Ð´¡£ÕâÓÐʱÓÐЩ»ìÂÒ¡£ÀýÈ磺IntegerÊÇÒ»¸ö±êʶ·û£¬²¢ÇÒÒÔÊ××Öĸ´óд³öÏÖ¡£¶østring±£Áô×ÖÔòÈ«²¿Ð¡Ð´¡£

3.7 ÀàÐÍÉùÃ÷
ËùÓÐÀàÐÍÃû³ÆÉùÃ÷ÒÔ×ÖĸT¿ªÊ¼£¬½ÓÏÂÀ´ºÍÀàµÄÃüÃûÏàͬ¡£

4.0 ¿Õ°×Ó÷¨
4.1 ¿Õ°×ÐÐ
¿Õ°×ÐпÉÒÔͨ¹ý½«Âß¼­Ïà¹ØµÄ´úÂë¶Î·Ö×éÀ´Ìá¸ß¿É¶ÁÐÔ¡£Ò»¸ö¿Õ°×ÐÐÒ²¿ÉÒÔÔÚÏÂÁеط½Ê¹Óãº
ÔÚ°æÈ¨×¢ÊÍ¿éÖ®ºó£¬°üÉùÃ÷(package)£¬µ¼Èë¶Î(import)¡£
ÀàÉùÃ÷Ö®¼ä¡£
·½·¨ÉùÃ÷Ö®¼ä¡£
4.2 ¿Õ¸ñ
Object PascalÊÇÒ»Öַdz£ÇåÎúÒ×¶ÁµÄÓïÑÔ¡£Í¨³££¬Äã²»ÐèÒªÔÚ´úÂëÀï¼ÓÈëºÜ¶à¿Õ¸ñÀ´·Ö¸ôÐС£ÒÔϼ¸ÌõÌṩÁËһЩԭÔò¸ÃÈçºÎʹÓÿոñ£º
4.2.2 ²»Ó¦µ±Ê¹Óÿոñ£º
ÔÚ·½·¨ÃûºÍ×óÀ¨ºÅÖ®¼ä£»
ÔÚ.(dot)²Ù×÷·û֮ǰ»òÖ®ºó£»
ÔÚÒ»Ôª²Ù×÷·ûºÍËüµÄ²Ù×÷ÊýÖ®¼ä£»
ÔÚÒ»¸öÀàÐͺͱ»ËüÇ¿ÖÆ×ª»»µÄ±í´ïʽ֮¼ä£»
ÔÚ×óÀ¨ºÅÖ®ºóºÍÓÒÀ¨ºÅ֮ǰ£»
ÔÚ×ó·½À¨ºÅÖ®ºóºÍÓÒ·½À¨ºÅ֮ǰ£»
ÔÚÒ»¸ö·âºÅǰ£»
ÀýÈ磺
//ÕýÈ·Ó÷¨£º
function TMyClass.MyFunc(var Value: Integer);
MyPointer := @MyRecord;
MyClass := TMyClass(MyPointer);
MyInteger := MyIntegerArray[5];
//´íÎóÓ÷¨£º
function TMyClass.MyFunc( var Value: Integer ) ;
MyPointer := @ MyRecord;
MyClass := TMyClass ( MyPointer ) ;
MyInteger := MyIntegerArray [ 5 ] ;

4.3 Ëõ½ø
ÄãÓ¦µ±×ÜÊÇΪËùÓеÄËõ½ø²ã´ÎËõ½øÁ½¸ö¿Õ¸ñ¡£»»¾ä»°Ëµ¾ÍÊÇ£¬µÚÒ»²ãËõ½øÁ½¸ö¿Õ¸ñ£¬µÚ¶þ²ãËõ½øËĸö¿Õ¸ñ£¬µÚÈý²ãËõ½øÁù¸ö¿Õ¸ñ¡­¡­¡£²»ÒªÊ¹ÓÃÖÆ±í·ûTab¡£
µ±È»£¬ÈÔÈ»ÓÐÉÙÁ¿µÄÀýÍâ¡£±£Áô×ÖÏóunit, uses, type, interface, implementation, initialization ºÍfinalization×ÜÊǶ¥¸ñµÄ¡£µ¥ÔªµÄ×îºóÒ»¸öend±êʶ·ûÒ²ÊǶ¥¸ñµÄ¡£ÔÚÏîÄ¿ÎļþÖУ¬programºÍÖ÷begin¡¢endÒ²ÊǶ¥¸ñµÄ¡£ÔÚÖ÷begin..end¿éÄÚÔòÐèÒªËõ½øÖÁÉÙÁ½¸ö¿Õ¸ñ¡£
»Ø¸´´ËÂ¥
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

ÒýÓûØÌû:
Originally posted by zyj8119 at 2010-12-02 16:31:15:
ÎÒÃdzÐÈÏÐí¶àºÃµÄÒѾ­È·¶¨µÄ¹¤×÷ÊÒ»ò¸öÈË£¬ÓµÓÐËûÃÇ×Ô¼ºµÄºÍ±¾ÎÄÀïËù˵µÄ²»Í¬µÄ±à³Ìϰ¹ß£¬ µ«ÊÇ£¬ÎÒÃÇÇ¿ÁÒ½¨ÒéÄãʹÓÃÒ»¸ö¹¤¾ß½«ÄãµÄ´úÂëת»»ÎªBorland·ç¸ñµÄ´úÂ룬ȻºóÔÙÌá½»¸øBorland£¬Project JEDI»òÆäËûÈκι« ...

4.4 ÐøÐÐ
ÐÐÓ¦µ±ÏÞÖÆÔÚ80ÁÐÒÔÄÚ¡£³¬¹ý80ÁеÄÐÐÓ¦µ±±»·Ö³É¶à¸öÁ¬ÐøµÄÐС£ËùÓеĺóÐøÐÐÓ¦µ±ÅÅÁÐÔÚ¸ÃÉùÃ÷µÄµÚÒ»ÐÐÖ®ºó£¬²¢ÇÒËõ½øÁ½¸ö×Ö·ûµÄ¿Õ¸ñ¡£
ÀýÈ磺
//ÕýÈ·£º



function CreateWindowEx(dwExStyle: Dword;
lpClassName: PChar; lpWindowName: PChar;
dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
hWndParent: HWND; hMenu: HMENU; hInstance: HINST;
lpParam: Pointer): HWND; stdcall;

if ((X = Y) or (Y = X) or
(Z = P) or (F = J) then
begin
S := J;
end;




²»ÒªÔÚ²ÎÊýºÍËüµÄÀàÐÍÖ®¼ä»»ÐУ¬³ý·ÇÁбíÊÇÓɶººÅ·Ö¸ô£¬ÄÇÑùµÄ»°ÒªÔÚ×îºóÒ»¸ö²ÎÊýǰ»»ÐУ¬ÕâÑùÀàÐÍÃû¾ÍÔÚÏÂÒ»ÐпªÍ·ÁË¡£Ã°ºÅºÍËüµÄ±äÁ¿Ö®¼ä²»Ó¦¸ÃÓпոñ£¬¶øÃ°ºÅºÍÀàÐÍÃûÖ®¼äÒªÓÐÒ»¸ö¿Õ¸ñ¡£
//ÕýÈ·£º
procedure Foo(Param1: Integer; Param2: Integer);

//´íÎó£º
procedure Foo( Param :Integer; Param2:Integer);
Ò»¸öºóÐøÐв»Ó¦ÒÔÒ»¸ö¶þ½øÖƲÙ×÷·û¿ªÊ¼¡£±ÜÃâÔÚͨ³£²»³öÏֿհ׵ĵط½¸î¶ÏÒ»ÐУ¬±ÈÈçÔÚ·½·¨ÃûºÍËüµÄ×óÀ¨ºÅÖ®¼ä£¬»òÕßÔÚÒ»¸öÊý×éÃûºÍËüµÄ×ó·½À¨ºÅÖ®¼ä¡£Èç¹ûÄã±ØÐëÔÚÉÏÊöÇé¿öϸî¶ÏÐУ¬ÄÇôӦµ±ÔÚ×óÀ¨ºÅ»ò×ó·½À¨ºÅÖ®ºó»»ÐС£²»Òª°Ñbegin·ÅÔÚÆäËü´úÂëµÄͬһÐС£
ÀýÈ磺
//´íÎó£º



while (LongExpression1 or LongExpression2) do begin
//DoSomething
//DoSomethingElse;
end;






//ÕýÈ·



while (LongExpression1 or longExpression2) do
begin
//DoSomething
//DoSomethingElse;
end;

if (LongExpressiong1) or
(LongExpression2) or
(LongExpression3) then







5.0 ×¢ÊÍ
Object PascalÓïÑÔÖ§³ÖÁ½ÖÖ×¢ÊÍ£º¿éºÍµ¥ÐÐ×¢ÊÍ¡£ÒÔÏÂÊÇһЩעÊÍÓ÷¨Ô­Ôò£º
¡¤ÔÚµ¥Ôª¶¥²¿·ÅÖÃ×¢ÊÍÓÃÒÔ½âÊ͵¥ÔªµÄÓÃ;ÊÇÓÐÒæµÄ
¡¤ÔÚÀàÉùÃ÷ǰ·ÅÖÃ×¢ÊÍÊÇÓÐÒæµÄ
¡¤ÔÚ·½·¨ÉùÃ÷ǰÉèÖÃ×¢ÊÍÊÇÓÐÒæµÄ
¡¤±ÜÃâÓï¾äº¬ÒåÃ÷ÏÔµÄ×¢ÊÍ
i := i + 1; //Add one to i
¡¤¼Çס£¬ÈÝÒ×Îó½âµÄ×¢ÊͱÈûÓÐ×¢Ê͸ü¼ÓÓк¦¡£
¡¤±ÜÃâÔÚ×¢ÊÍÀï·ÅÈë¿´ÉÏȥҪʧЧµÄÐÅÏ¢
¡¤±ÜÃâÔÚ×¢Ê͵ı߿òÀïǶÈëÐǺŻòÆäËûµÄÅŰæ·ûºÅ
¡¤ÁãʱµÄ×¢ÊÍ£¬¼´ÐèÒª±»¸Ä±ä»òɾ³ýµÄ×¢ÊÍ£¬ÒªÔÚËûÃÇ֮ǰ¼ÓÉÏ"???:"±ê¼Ç£¬ÕâÑùÒ×ÓÚ²éÕÒ¡£´Ó¹ÛÄîÉÏÀ´Ëµ£¬ËùÓеÄÁãʱעÊͶ¼Ó¦µ±ÔÚ³ÌÐò·¢²¼Ç°É¾³ý¡£
// ???: Change this to call Sort when it is fixed
List.MySort;


5.1 ¿é×¢ÊÍ
Object PascalÖ§³ÖÁ½ÖÖÀàÐ͵Ŀé×¢ÊÍ¡£×î³£ÓõÄÊÇÒ»¶Ô»¨À¨ºÅ{}À¨ÆðÀ´µÄ×¢ÊÍ¡£DelphiС×龡¿ÉÄܵı£³Ö¸Ã×¢ÊÍÉÙ¶ø¼òµ¥¡£ÀýÈ磺ÄãÓ¦µ±±ÜÃâÔÚÄãµÄ×¢ÊÍÀïʹÓÃÐǺÅÀ´´´½¨Í¼°¸»òÐС£Ïà·´£¬Ê¹ÓÿոñÀ´·Ö¸ôÄãµÄ×¢ÊÍ£¬¾ÍÏóÄãÔÚ×Ö´¦ÀíÎĵµÀï×öµÄÒ»Ñù¡£ÄãµÄ×¢ÊÍÀïµÄµ¥´ÊÓ¦µ±ÔÚµÚÒ»¸ö»¨À¨ºÅµÄͬһÐпªÊ¼£¬¾ÍÏóÏÂÃæ´ÓDsgnIntf.pasÖÐժ¼µÄÒ»Ñù£º

{ TPropertyEditor
Edits a property of a component, or list of components,
selected into the Object Inspector. The property
editor is created based on the type of the
property being edited as deteRmined by the types
registered by...
etc...
GetXxxValue
Gets the value of the first property in the
Properties property. Calls the appropriate
TProperty GetXxxValue method to retrieve the
value.
SetXxxValue Sets the value of all the properties
in the Properties property. Calls the appropriate
TProperty SetXxxxValue methods to set the value. }
¿é×¢ÊÍͨ³£±»ÓÃÔÚ°æÈ¨×¢ÊÍÖС£Ò²±»ÓÃÀ´×¢Ê͵ôһЩ´úÂëÐС£
ÓÃÓÚ½âÊÍ·½·¨µÄÓÃ;µÄ¿é×¢ÊÍÓ¦µ±±»·ÃÔÚ·½·¨µÄÉùÃ÷Ç°Ãæ¡£
ÀýÈ磺
// CORRECT

{ TMyObject.MyMethod
This routine allows you to execute code. }

procedure TMyObject.MyMethod;
begin
end;

// INCORRECT

procedure TMyObject.MyMethod;
{******************************************************
TMyObject.MyMethod
This routine allows you to execute code.
*******************************************************}
begin
end;
µÚ¶þÖÖ¿é×¢ÊͰüº¬ÁËÁ½¸ö×Ö·û£¬À¨ºÅºÍÐǺţº(* *)¡£ÕâÓÐʱ±»³ÆÎªÐÇÀ¨ºÅ×¢ÊÍ¡£ÕâЩעÊÍÒ»°ãÖ»ÔÚ´úÂ뿪·¢Ê±ÓÐÓã¬ËüµÄÖ÷ÒªºÃ´¦ÊÇÔÊÐíǶÌ××¢ÊÍ£¬×¢ÊÍǶÌ×ÉÙÓÚÁ½²ã¡£Object Pascal²»Ö§³ÖͬÀàÐ͵Ä×¢ÊÍǶÌ×£¬Òò´ËÊÂʵÉÏÖ»ÓÐÒ»²ãǶÌ×£º»¨À¨ºÅÔÚÐÇÀ¨ºÅÀïÃæ£¬»òÕßÐÇÀ¨ºÅÔÚ»¨À¨ºÅÀïÃæ¡£ Ö»ÒªÔÚÄ㲻ǶÌ×ËüÃÇʱ£¬ÔÚ¸ÃÀàÐ͵Ä×¢ÊÍÖÐµÄÆäËüÀàÐ͵ıê×¼Pascal×¢Êͽ«±»ºöÂÔ¡£Òò´Ë£¬Äã¿ÉÒÔʹÓøÃÓ﷨עÊÍÒ»´ó¿é¼ÈÓдúÂëÓÖÓÐ×¢Ê͵ĴúÂ룺

(* procedure TForm1.Button1Click(Sender: TObject);



begin
DoThis; // Start the process
DoThat; // Continue iteration
{ We need a way to report errors here, perhaps using
a try finally block ??? }
CallMoreCode; // Finalize the process
end; *)




ÔÚ±¾ÀýÖУ¬Õû¸öButton1Click·½·¨±»×¢Ê͵ôÁË£¬°üÀ¨ÆäÖеÄÈκÎ×Ó×¢ÊÍ¡£

5.2 µ¥ÐÐ×¢ÊÍ
µ¥ÐÐ×¢ÊÍÓÉ×¢ÊÍ·û//¼°ÆäÒýµ¼µÄÎı¾×é³É£¬ÔÚÎı¾ºÍ×¢ÊÍ·ûÖ®¼äÓÐÒ»¸ö¿Õ¸ñ¡£µ¥ÐÐ×¢ÊÍͬ´úÂëÔÚ²»Í¬Ðеģ¬ÒªÍ¬´úÂëÓÐÏàͬµÄËõ½ø²ã´Î¡£Äã¿ÉÒÔʹÓöà¸öµ¥ÐÐ×¢ÊÍÐγɴóµÄ×¢ÊÍ¡£
ÔÚµ¥ÐÐ×¢ÊÍ»ò×¢ÊÍ×é֮ǰҪÓÐÒ»¸ö¿ÕÐУ¬³ý·ÇËüÊÇÒ»¸ö¿éµÄµÚÒ»ÐС£Èç¹û×¢ÊÍÓÃÓÚ¼¸ÌõÓï¾ä£¬ÄÇôעÊͺÍ×¢ÊÍ×éÖ®ºóÒª¸úÒ»¸ö¿ÕÐС£Èç¹û×¢Êͽö½âÊÍËüºóÃæµÄÒ»ÐÐÉùÃ÷£¬Ôò²»±Ø¸úÒ»¸ö¿ÕÐС£
ÀýÈ磺
// Open the database
Table1.Open;
µ¥ÐÐ×¢ÊÍÒ²¿ÉÒÔ¸úÔÚËûÃǽâÊ͵ĴúÂëÉùÃ÷ºóÃæ¡£ÕâÀà×¢ÊÍÓÐʱ±»ÒýÓÃΪ¸ú×Ù×¢ÊÍ¡£ÔÚËûÃǺʹúÂëÖ®¼äÖÁÉÙÒªÓÐÒ»¸ö¿Õ¸ñ¡£Èç¹ûÓжà¸ö¸ú×Ù×¢ÊÍÔÚÒ»¸ö´úÂë¿éÖÐͬʱ³öÏÖ£¬ÄÇôÕâЩעÊÍÐèÒª±»¶ÔÆë¡£
ÀýÈ磺



if (not IsVisible) then
Exit; // nothing to do
Inc(StrLength); // reserve space for null terminator




Òª±ÜÃâ¶ÔÿÐпÉÖ´ÐдúÂë½øÐиú×Ù×¢ÊÍ¡£ÔÚÒ»¸ö·½·¨»òº¯ÊýµÄbegin..end¿éÖ®¼äÏÞÖÆÊ¹ÓÃ×¢ÊÍ¡¢ÉõÖÁÈÃÆäΪ¿Õ£¬ÔòÔÚͨ³£Çé¿öÏÂÊÇ×îºÃµÄ¡£³¤µÄ×¢ÊÍ¿ÉÒÔ³öÏÖÔÚ·½·¨¡¢º¯ÊýµÄ¶¨Òå֮ǰµÄ¿é×¢Ê͵±ÖС£

Àà
6.1 ÀàÌåµÄ×éÖ¯
ÀàÌåµÄ×éÖ¯Ó¦µ±×ñÑ­ÏÂÁÐ˳Ðò£º
¡¤Óò£¯×Ö¶ÎÉùÃ÷
¡¤·½·¨ÉùÃ÷
¡¤ÊôÐÔ¶¨Òå
Óò£¯×ֶΡ¢ÊôÐÔ¡¢·½·¨Ó¦µ±°´ËüÃǵÄÃû³Æ½øÐÐ×ÖĸË÷ÒýÅÅÁС£
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
2Â¥2010-12-02 16:31:30
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

ÒýÓûØÌû:
Originally posted by zyj8119 at 2010-12-02 16:31:30:


4.4 ÐøÐÐ
ÐÐÓ¦µ±ÏÞÖÆÔÚ80ÁÐÒÔÄÚ¡£³¬¹ý80ÁеÄÐÐÓ¦µ±±»·Ö³É¶à¸öÁ¬ÐøµÄÐС£ËùÓеĺóÐøÐÐÓ¦µ±ÅÅÁÐÔÚ¸ÃÉùÃ÷µÄµÚÒ»ÐÐÖ®ºó£¬²¢ÇÒËõ½øÁ½¸ö×Ö·ûµÄ¿Õ¸ñ¡£
ÀýÈ磺
//ÕýÈ·£º



function CreateWindowEx(dwExSty ...

6.1.1 ´æÈ¡¼¶±ð
³ýÁËÓÉIDEÉú³ÉµÄ´úÂ룬ÀàµÄ·¶Î§Ö¸Ê¾·ûÓ¦µ±°´ÒÔÏÂ˳Ðò£º
¡¤private ÉùÃ÷
¡¤protectÉùÃ÷
¡¤publicÉùÃ÷
¡¤publishedÉùÃ÷
ÔÚObject PascalÖУ¬Àà³ÉÔ±ÓÐËÄÖÖ´æÈ¡¼¶±ð£º·¢²¼µÄ¡¢¹«¿ªµÄ¡¢Êܱ£»¤µÄºÍ˽ÓеÄ--°´´æÈ¡ÄÜÁ¦µÝ¼õµÄ˳ÐòÅÅÁС£Ä¬ÈϵĴæÈ¡¼¶±ðÊÇpublished¡£Ò»°ã£¬Ò»¸ö³ÉÔ±Ó¦µ±±»¸³Óè×îºÏÊÊËüµÄ×îµÍµÄ´æÈ¡¼¶±ð¡£ÀýÈ磺ֻÄÜÔÚͬһµ¥ÔªÖб»ÆäËûÀà´æÈ¡µÄ³ÉÔ±¾ÍÓ¦µ±±»ÉùÃ÷Ϊ˽Óеġ£Í¬Ê±£¬ÉùÃ÷µÍ´æÈ¡¼¶±ðµÄ³ÉÔ±Ò²¸øÁ˱àÒëÆ÷Ìá¸ßÓÅ»¯µÄ»ú»á¡£µ±È»£¬ÁíÒ»·½Ã棬ʹÓõʹæÈ¡¼¶±ð¶Ô×ÓÀàµÄÀ©Õ¹Ôì³ÉÁËÀ§ÄÑ¡£Èç¹ûÓÐÀíÓÉÈÏΪij¸öÀàÔÚ½«À´Ä³¸öʱºò»á±»×ÓÀ໯£¬ÄÇôӦµ±½«ÄÇЩÐèÒª±»×ÓÀà¼Ì³ÐÀ©Õ¹µÄ³ÉÔ±ÉùÃ÷ΪÊܱ£»¤µÄ£¬ÓÃÓÚ´æÈ¡Ë½ÓÐÊý¾ÝµÄÊôÐÔÒ²¿ÉÒÔÌṩÕâ·½ÃæµÄ±£»¤¡£
ÄãÓ¦µ±½ûÖ¹¶ÔÊý¾ÝµÄ¹«¿ª´æÈ¡¡£Êý¾Ýͨ³£ÔÚprivate¶ÎÉùÃ÷£¬ÈκζÔËûµÄ¹«¿ª´æÈ¡Ó¦µ±Í¨¹ýGetXXX¡¢SetXXX·½·¨»òÊôÐÔÀ´²Ù×÷¡£
6.1.8 ¹¹Ô캯ÊýÉùÃ÷
·½·¨ÐèÒª°´×ÖĸË÷ÒýÅÅÁС£½«¹¹Ô캯ÊýºÍÎö¹¹º¯Êý·ÅÔÚpublic¶ÎµÄ¿ªÊ¼»ò°´ÕÕ×ÖĸË÷ÒýÅÅÁж¼ÊÇÕýÈ·µÄ¡£
Èç¹ûÓжà¸ö¹¹Ô캯Êý»òÄãʹÓÃÁ˶à¸öÏàͬµÄÃû×Ö£¬ÄÇôӦµ±¸ù¾ÝÐβÎÁбíÀ´ÅÅÁУ¬²ÎÊýÉÙµÄÔÚ²ÎÊý¶àµÄÇ°Ãæ¡£ÕâÒâζ×ÅÈç¹û´æÔÚûÓвÎÊýµÄ¹¹Ô캯ÊýµÄ»°£¬ÄÇôËü±Ø¶¨³öÏÖÔÚµÚÒ»¸ö¡£ÎªÁ˺ÍC++Builder±£³Ö×îºÃµÄ¼æÈÝ£¬Ó¦µ±±£Ö¤¹¹Ô캯ÊýµÄ²ÎÊýÁбíµÄΨһÐÔ¡£C++²»ÊǸù¾Ý¹¹Ô캯ÊýµÄÃû³ÆÀ´µ÷ÓÃËüµÄ£¬ËùÒÔÇø±ð¶à¸ö¹¹Ô캯ÊýµÄΨһ·½·¨ÊÇͨ¹ýËüµÄ²ÎÊýÁÐ±í¡£

6.2 ·½·¨ÉùÃ÷
Èç¹û¿ÉÄÜ£¬·½·¨ÉùÃ÷Òª³öÏÖÔÚµ¥¶ÀÒ»ÐÐÉÏ¡£
ÀýÈ磺
Examples:




procedure ImageUpdate(Image img, infoflags: Integer,
x: Integer, y: Integer, w: Integer, h: Integer)






7.0 ½Ó¿Ú
½Ó¿ÚµÄÉùÃ÷ÓëÀàµÄÉùÃ÷ÓÐÏàͬµÄÐÎʽ£º



InterfaceName = interface([inherited Interface])
InterfaceBody
end;




½Ó¿ÚÉùÃ÷Ó¦µ±±»Ëõ½øÁ½¸ñ£¬½Ó¿ÚÌåËõ½øËĸñ£¬end½áÊø·ûËõ½øÁ½¸ñ¡£
ÔÚ½Ó¿ÚÉùÃ÷ÖÐûÓÐÓò£¯×ֶΡ£µ«ÊôÐÔ¿ÉÒÔ³öÏÖ¡£
ËùÓеĽӿڷ½·¨ÌìÉú¾ÍÊǹ«¿ªµÄºÍ³éÏóµÄ£¬Óò»×ÅÔÚ½Ó¿ÚÉùÃ÷Öаüº¬´ËÀà¹Ø¼ü×Ö¡£
³ý·ÇÓÐÆäËûµÄ×¢ÒâÊÂÏ·ñÔò½Ó¿ÚµÄÉùÃ÷ͬÀàµÄÉùÃ÷¾ßÓÐÏàͬµÄ·ç¸ñ¡£

7.1 ½Ó¿ÚÌå×éÖ¯
½Ó¿ÚÌåµÄ×éÖ¯¿ÉÒÔ°´ÒÔϵÄ˳Ðò£º
¡¤½Ó¿Ú·½·¨ÉùÃ÷
¡¤½Ó¿ÚÊôÐÔÉùÃ÷
½Ó¿Ú·½·¨ºÍÊôÐÔµÄÉùÃ÷ºÍÀà¾ßÓÐÏàͬµÄ·ç¸ñ¡£

8.0 ÉùÃ÷
ÉùÃ÷ÊÇÓÉ·âºÅ½áβµÄÒ»Ðлò¼¸ÐдúÂë¡£µ¥Ò»ÉùÃ÷Ö»ÓÐÒ»¸ö·âºÅ£¬¸´ºÏÉùÃ÷ÖÐÓжà¸ö·âºÅ¡£
//ÕâÊǵ¥Ò»ÉùÃ÷£º
A := B;

//ÕâÊǸ´ºÏÉùÃ÷£º



begin
B := C;
A := B;
end;




8.0.1 µ¥Ò»ÉùÃ÷
Èç¹ûÐèÒª½«Ò»¸öµ¥Ò»ÉùÃ÷»»ÐУ¬ÔòÐèÒª²ÎÕÕÉÏÒ»ÐÐËõ½øÁ½¸ñ¡£
//ÀýÈ磺



MyValue :=
MyValue + (SomeVeryLongStatement / OtherLongStatement);






8.1.1 ¸³ÖµºÍ±í´ïʽÉùÃ÷
ÿһÐÐ×î¶àÓÐÒ»ÌõÉùÃ÷¡£
ÀýÈ磺



a := b + c; Inc(Count); //´íÎó
a := b + c; //ÕýÈ·
Inc(Count); //ÕýÈ·






8.1.2 ¾Ö²¿±äÁ¿ÉùÃ÷
¾Ö²¿±äÁ¿Ò²Ê¹ÓÃÍÕ·å¸ñʽ£¬²»ÒªÊ¹ÓÃÒýµ¼·û"F"£¬ÕâÊÇΪÀàÉùÃ÷ÖÐÓò£¯×ֶα£ÁôµÄ¡£
ÀýÈ磺



var
MyData: Integer;
MyString: string;




Äã¿ÉÒÔÔÚͬһÐÐÉùÃ÷¶à¸öÀàÐÍÏàͬµÄ±äÁ¿£º



var
ArraySize, ArrayCount: Integer;




ÕâÖÖÉùÃ÷ϰ¹ßÔÚÀàÉùÃ÷ÖÐÊDz»Ìᳫ¡£

8.1.3 Êý×éÉùÃ÷
ͨ³£×ÜÊÇÔÚ×ó·½À¨ºÅ֮ǰºÍÓÒ·½À¨ºÅÖ®ºó·ÅÖÃÒ»¸ö¿Õ¸ñ£º



type
TMyArray = array [0..100] of Char;






8.2.3 ifÓï¾ä
ifÓï¾äÖÁÉÙÒªÒÔÁ½ÐеÄÐÎʽ³öÏÖ£º
ÀýÈ磺
//´íÎó:



if A = B then DoSomething;





//ÕýÈ·



if A = B then
DoSomething;




Èç¹ûÊǸ´ºÏµÄifÓï¾ä£¬ÔòÓ¦µ±Ã¿¸ö·Ö¸ô·ûÒ»¸öÐÂÐУº
//´íÎó£º



if A = B then begin
DoSomething;
DoSomethingElse;
end else begin
DoThis;
DoThat;
end;





//ÕýÈ·



if A = B then
begin
DoSomething;
DoSomethingElse;
end
else
begin
DoThis;
DoThat;
end;




ÒÔϵÄÉÙÊý±ä»¯¿ÉÒÔ±»²ÉÓãº
//ÕýÈ·



if Condition then
begin
DoThis;
end else
begin
DoThat;
end;






//ÕýÈ·



if Condition then
begin
DoThis;
end
else
DoSomething;






//ÕýÈ·



if Condition then
begin
DoThis;
end else
DoSoemthing;






//ÏÂÃæµÄ·½Ê½¿ÉÄܲ»±»¹ØÐÄ£¬µ«È´ÊÇÖµµÃÔÞÑïµÄ£º



if Condition then
DoThis
else DoThat;






8.2.4 forÓï¾ä
Example:
// INCORRECT



for i := 0 to 10 do begin
DoSomething;
DoSomethingElse;
end;






// CORRECT



for i := 0 to 10 do
begin
DoSomething;
DoSomethingElse;
end;






8.2.5 while Óï¾ä
Example:
// INCORRECT



while x < j do begin
DoSomething;
DoSomethingElse;
end;






// CORRECT



while x < j do
begin
DoSomething;
DoSomethingElse;
end;






8.2.6 repeat until Óï¾ä
Example:
// CORRECT



repeat
x := j;
j := UpdateValue;
until j = 25;






8.2.7 case Óï¾ä
Example:
// CORRECT



case Control.Align of
alLeft, alNone: NewRange := Max(NewRange, Position);
alRight: Inc(AlignMargin, Control.Width);
end;





// CORRECT



case x of
csStart:
begin
j := UpdateValue;
end;
csBegin: x := j;
csTimeOut:
begin
j := x;
x := UpdateValue;
end;
end;




// CORRECT



case ScrollCode of
SB_LINEUP, SB_LINEDOWN:
begin
Incr := FIncrement div FLineDiv;
FinalIncr := FIncrement mod FLineDiv;
Count := FLineDiv;
end;
SB_PAGEUP, SB_PAGEDOWN:
begin
Incr := FPageIncrement;
FinalIncr := Incr mod FPageDiv;
Incr := Incr div FPageDiv;
Count := FPageDiv;
end;
else
Count := 0;
Incr := 0;
FinalIncr := 0;
end;







8.2.8 try Óï¾ä

// Correct



try
try
EnumThreadWindows(CurrentThreadID, @Disable, 0);
Result := TaskWindowList;
except
EnableTaskWindows(TaskWindowList);
raise;
end;
finally
TaskWindowList := SaveWindowList;
TaskActiveWindow := SaveActiveWindow;
end;
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
3Â¥2010-12-02 16:32:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

xiaoheihei366

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
dubo(½ð±Ò+1): »¶Ó­³£À´³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-06-06 15:22:06
лл£¬ÎÒҲϲ»¶Delphi£¬Ð»Ð»·ÖÏí¡£
4Â¥2011-02-28 09:47:57
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
dubo(½ð±Ò+1): »¶Ó­³£À´³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-06-06 15:22:14
Borland ²»ÊÇÒѾ­²»´æÔÚÁËÂð£¿
5Â¥2011-02-28 16:41:56
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

dubo

½ð³æ (ÖøÃûдÊÖ)

ÓÅÐã°æÖ÷

LZÒÔºó°ÑËü×÷Ϊ¸½¼þÉÏ´«°É
6Â¥2011-06-06 15:22:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ zyj8119 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 346Çóµ÷¼Á[0856] +4 WayneLim327 2026-03-16 7/350 2026-03-21 04:02 by JourneyLucky
[¿¼ÑÐ] 279·ÖÇóµ÷¼Á Ò»Ö¾Ô¸211 +11 chaojifeixia 2026-03-19 12/600 2026-03-21 01:49 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] Ò»Ö¾Ô¸ÎäÀí²ÄÁÏ305·ÖÇóµ÷¼Á +6 ÏëÉϰ¶µÄÀðÓã 2026-03-18 7/350 2026-03-21 01:03 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸Öк£Ñó²ÄÁϹ¤³Ìר˶330·ÖÇóµ÷¼Á +8 С²Ä»¯±¾¿Æ 2026-03-18 8/400 2026-03-20 23:16 by JourneyLucky
[¿¼ÑÐ] 288Çóµ÷¼Á +16 ÓÚº£º£º£º£ 2026-03-19 16/800 2026-03-20 22:28 by JourneyLucky
[¿¼ÑÐ] 350Çóµ÷¼Á +5 weudhdk 2026-03-19 5/250 2026-03-20 22:04 by luoyongfeng
[¿¼ÑÐ] ²ÄÁÏѧ˶297ÒѹýËÄÁù¼¶Çóµ÷¼ÁÍÆ¼ö +11 adaie 2026-03-19 11/550 2026-03-20 21:30 by laoshidan
[¿¼ÑÐ] Ò»Ö¾Ô¸ ÄϾ©º½¿Õº½Ìì´óѧ´óѧ £¬080500²ÄÁÏ¿ÆÑ§Ó빤³Ìѧ˶ +5 @taotao 2026-03-20 5/250 2026-03-20 20:16 by JourneyLucky
[¿¼ÑÐ] 319Çóµ÷¼Á +3 СÁ¦Æøçæçæ 2026-03-20 3/150 2026-03-20 19:47 by JourneyLucky
[¿¼ÑÐ] ÄÜÔ´²ÄÁÏ»¯Ñ§¿ÎÌâ×éÕÐÊÕ˶ʿÑо¿Éú8-10Ãû +5 ÍÑÓ±¶ø³ö 2026-03-16 14/700 2026-03-20 09:30 by kkcoco25
[¿¼ÑÐ] 328Çóµ÷¼Á£¬Ó¢ÓïÁù¼¶551£¬ÓпÆÑо­Àú +4 ÉúÎ﹤³Ìµ÷¼Á 2026-03-16 12/600 2026-03-19 11:10 by ÉúÎ﹤³Ìµ÷¼Á
[¿¼ÑÐ] ±¾¿ÆÖ£ÖÝ´óѧÎïÀíѧԺ£¬Ò»Ö¾Ô¸»ª¿Æ070200ѧ˶£¬346Çóµ÷¼Á +4 ÎÒ²»ÊÇÒ»¸ù´Ð 2026-03-18 4/200 2026-03-19 09:11 by ¸¡ÔÆ166
[¿¼ÑÐ] 344Çóµ÷¼Á +6 knight344 2026-03-16 7/350 2026-03-18 20:13 by walc
[¿¼ÑÐ] 302Çóµ÷¼Á +10 ºôºôºô¡£¡£¡£¡£ 2026-03-17 10/500 2026-03-18 12:45 by Linda Hu
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á +3 ÄÝÄÝninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[¿¼ÑÐ] 268Çóµ÷¼Á +6 ¼òµ¥µã0 2026-03-17 6/300 2026-03-18 09:04 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 334Çóµ÷¼Á +3 Ö¾´æ¸ßÔ¶ÒâÔÚ»úÐ 2026-03-16 3/150 2026-03-18 08:34 by lm4875102
[¿¼²©] 26²©Ê¿ÉêÇë +3 1042136743 2026-03-17 3/150 2026-03-17 23:30 by ÇáËɲ»ÉÙËæ
[¿¼ÑÐ] 333Çóµ÷¼Á +3 ÎÄ˼¿Í 2026-03-16 7/350 2026-03-16 18:21 by ÎÄ˼¿Í
[¿¼ÑÐ] 0854¿ØÖƹ¤³Ì 359Çóµ÷¼Á ¿É¿çרҵ +3 626776879 2026-03-14 9/450 2026-03-16 17:42 by 626776879
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û