Èç¹û²ÎÊýÔÚº¯ÊýÖв»¿ÉÄÜÐÞ¸Ä, Ò»¶¨ÒªÊ¹Óà const;
²»È», ±àÒëÆ÷¾Í»á:
¼Ù¶¨ÏÈÐÞ¸Ä, ÏÈÒª±¸·Ý; ʹÓÃǰºóÒªÔö¼õÒýÓüÆÊý; »¹ÒªÌ×ÉÏ try finally.
Ö¸¶¨ÁË const ¾Í¿ÉÒÔ±ÜÃâÒÔÉϹý³Ì´Ó¶øÌá¸ßЧÂÊ.
unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class
(TForm)
Button1: TButton;
procedure
Button1Click(Sender: TObject);
end
;
var
Form1: TForm1;
implementation
{$R *.dfm}
//ÅжÏÒ»¸ö×Ö·û´®ÖÐÊý×ֵĸöÊý
function
GetNum1(str: string
): Integer;
var
i: Integer;
begin
Result := 0
;
for
i := 1
to
Length(str) do
if
str[i] in
['0'
..'9'
] then
Inc(Result);
end
;
//ͬÑùµÄº¯ÊýÖ»ÊǸø²ÎÊý¼ÓÉÏ const
function
GetNum2(const
str: string
): Integer;
var
i: Integer;
begin
Result := 0
;
for
i := 1
to
Length(str) do
if
str[i] in
['0'
..'9'
] then
Inc(Result);
end
;
{¶Ô±È²âÊÔ}
procedure
TForm1.Button1Click(Sender: TObject);
......
unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class
(TForm)
Button1: TButton;
Button2: TButton;
procedure
Button1Click(Sender: TObject);
procedure
Button2Click(Sender: TObject);
end
;
var
Form1: TForm1;
implementation
{$R *.dfm}
//·Ö¸îÎļþµÄº¯Êý
{²ÎÊý 1 ÊÇÒª·Ö¸îµÄÎļþÃû; ²ÎÊý 2 ÊÇÒª·ç¸ñÎļþµÄ´óС, µ¥Î»ÊÇ KB}
{·Ö¸îºóµÄÎļþÃûÀ©Õ¹ÃûÓÃÐòºÅÌæ»»}
function
SplitFile(const
FileName: string
; Size: Cardinal): Boolean;
var
fStream: TFileStream; {ÔʼÎļþ}
toStream: TMemoryStream; {·ÖÎļþ}
p,i: Integer; {p ¼Ç¼µ±Ç°Ö¸ÕëλÖÃ; i ¼Ç¼ÕâÊǵڼ¸¸ö·ÖµÄÎļþ}
begin
Result := False;
Size := Size * 1024
; {°Ñ´óСµÄµ¥Î»×ª»»Îª×Ö½Ú}
fStream := TFileStream.Create(FileName, fmOpenRead);
p := 0
;
i := 0
;
toStream := TMemoryStream.Create;
while
p < fStream.Size do
begin
toStream.Clear; {Çå¿ÕÉÏ´ÎÊý¾ ......
ÎÒʹÓÃdelphiÒ²²»ÊǺܳ¤Ê±¼ä£¬ÓÉÓÚ¾³£ÒªÓõ½SQLÓï¾ä£¬×ܽáÁËһЩDelphiÖÐʹÓÃSQLÓï¾äҪעÒâµÄÊÂÏ¹éÄÉÆðÀ´Ö÷ÒªÓÐһϼ¸Ìõ£º
Ò»¡¢¿Õ¸ñ²»ÒªÂ©£º
ÎÒÃǾ³£ÒªÆ´×°SQLÓï¾ä£¬ÌرðÊÇwhereÌõ¼þ¾ä£¬ÔÚ¸÷¸öÓï¾äÖбðÍüÁËͷβ¼ÓÉϿոñ¡£ÒòΪÔÚÒ»¸öÓï¾äÖÐÎÒÃÇ»á×¢ÒâÓÿոñ·Ö¿ª¹Ø¼ü×Öµ«ÊÇÍùÍùÍüÁËͷβµÄ¿Õ¸ñ¡£ÀýÈ磺
sSQL=' select * from students Where ''a''=''a'' '
sWhere='and age >= 14'
sSQL = sSQL+sWhere;
sWhere='and age <= 16'
sSQL = sSQL+sWhere;
Õâ¸öʱºòsSQLµÄÄÚÈÝΪ¡¾select * from students where 'a'='a' and age >= 14and age <=16¡¿
Õâ¸öSQLÓï¾ä¿Ï¶¨´íÁË£¬ÒòΪ¡¾and age >=14¡¿ºÍ¡¾and age <= 16¡¿Ö®¼äûÓпոñ£¬Êý¾Ý¿â·ÖÎöµÄʱºòÈÏΪÄãÐèÒªµÄÊÇ¡¾age >= 14and¡¿µÄÊý¾Ý£¬Äܲ»³ö´íÂð£¿
¶þ¡¢ÒýºÅÅä¶Ô£º
ÕâÊÇÔÚDelphiʹÓÃSQLÓï¾äʱÈÝÒ׳ö´íµÄµØ·½£¬ÓÉÓÚdelphi¹æ¶¨ÔÚ×Ö·û´®ÖÐÓÃÁ½¸öÎ÷Îĵĵ¥ÒýºÅ“''”±íʾһ¸ö“'”£¬ÔÚÆ´×°Óï¾äµÄʱºò¾ÍÈÝÒ×ÊèºöÒÅ©¡£
DelphiÀïÓиöº¯ÊýQuotedStrÄܹ»ÔÚ×Ö·û´®µÄͷβ¼ÓÉÏÒ»¸öÎ÷Îĵĵ¥ÒýºÅ¡¾'¡¿£¬Õâ¸öº¯ÊýµÄ¶¨Ò壺function QuotedStr(const s: string):string;
Òò´Ë£¬Èç¹ûÒªÔÚÒ»¸ ......
ÎÒʹÓÃdelphiÒ²²»ÊǺܳ¤Ê±¼ä£¬ÓÉÓÚ¾³£ÒªÓõ½SQLÓï¾ä£¬×ܽáÁËһЩDelphiÖÐʹÓÃSQLÓï¾äҪעÒâµÄÊÂÏ¹éÄÉÆðÀ´Ö÷ÒªÓÐһϼ¸Ìõ£º
Ò»¡¢¿Õ¸ñ²»ÒªÂ©£º
ÎÒÃǾ³£ÒªÆ´×°SQLÓï¾ä£¬ÌرðÊÇwhereÌõ¼þ¾ä£¬ÔÚ¸÷¸öÓï¾äÖбðÍüÁËͷβ¼ÓÉϿոñ¡£ÒòΪÔÚÒ»¸öÓï¾äÖÐÎÒÃÇ»á×¢ÒâÓÿոñ·Ö¿ª¹Ø¼ü×Öµ«ÊÇÍùÍùÍüÁËͷβµÄ¿Õ¸ñ¡£ÀýÈ磺
sSQL=' select * from students Where ''a''=''a'' '
sWhere='and age >= 14'
sSQL = sSQL+sWhere;
sWhere='and age <= 16'
sSQL = sSQL+sWhere;
Õâ¸öʱºòsSQLµÄÄÚÈÝΪ¡¾select * from students where 'a'='a' and age >= 14and age <=16¡¿
Õâ¸öSQLÓï¾ä¿Ï¶¨´íÁË£¬ÒòΪ¡¾and age >=14¡¿ºÍ¡¾and age <= 16¡¿Ö®¼äûÓпոñ£¬Êý¾Ý¿â·ÖÎöµÄʱºòÈÏΪÄãÐèÒªµÄÊÇ¡¾age >= 14and¡¿µÄÊý¾Ý£¬Äܲ»³ö´íÂð£¿
¶þ¡¢ÒýºÅÅä¶Ô£º
ÕâÊÇÔÚDelphiʹÓÃSQLÓï¾äʱÈÝÒ׳ö´íµÄµØ·½£¬ÓÉÓÚdelphi¹æ¶¨ÔÚ×Ö·û´®ÖÐÓÃÁ½¸öÎ÷Îĵĵ¥ÒýºÅ“''”±íʾһ¸ö“'”£¬ÔÚÆ´×°Óï¾äµÄʱºò¾ÍÈÝÒ×ÊèºöÒÅ©¡£
DelphiÀïÓиöº¯ÊýQuotedStrÄܹ»ÔÚ×Ö·û´®µÄͷβ¼ÓÉÏÒ»¸öÎ÷Îĵĵ¥ÒýºÅ¡¾'¡¿£¬Õâ¸öº¯ÊýµÄ¶¨Ò壺function QuotedStr(const s: string):string;
Òò´Ë£¬Èç¹ûÒªÔÚÒ»¸ ......
JNI(Java+Native+Interface£¬Java±¾µØ½Ó¿Ú)¼¼Êõ´ó¼Ò¶¼²»Ä°Éú£¬Ëü¿ÉÒÔ°ïÖú½â¾öJava·ÃÎʵײãÓ²¼þµÄ¾ÖÏÞºÍÖ´ÐÐЧÂʵÄÌá¸ß¡£¹ØÓÚJNIµÄ¿ª·¢£¬´ó¶àÊý×ÊÁÏÌÖÂ۵ͼÊÇÈçºÎÓÃC/C++ÓïÑÔ¿ª·¢JNI£¬ÉõÖÁÓÚJDKÒ²ÌṩÁËÒ»¸öjavah¹¤¾ßÀ´×Ô¶¯Éú³ÉCÓïÑÔ³ÌÐò¿ò¼Ü¡£µ«ÊÇ£¬¶ÔÓÚ¹ã´óµÄDelphi³ÌÐòÔ±À´Ëµ£¬ÄѵÀ¾Í²»ÄÜÓÃ×Ô¼ºÏ²°®µÄDelphiÓëJava»¥Í¨ÏûÏ¢ÁËÂð£¿
¡¡¡¡Í¨¹ý¶ÔjavahÉú³ÉµÄC³ÌÐò¿ò¼ÜºÍJDKÖеÄjni.hÎļþµÄ·ÖÎö£¬ÎÒÃÇ·¢ÏÖ£¬JavaÀûÓÃJNI·ÃÎʱ¾µØ´úÂëµÄ¹Ø¼üÔÚÓÚjni.hÖж¨ÒåµÄJNINativeInterface_Õâ¸ö½á¹¹(Struct)£¬Èç¹ûÓÃDelhpiÓïÑÔ¸ÄдËüµÄ¶¨Ò壬Ӧ¸ÃÒ²¿ÉÒÔ¿ª·¢JNIµÄ±¾µØ´úÂë¡£ÐÒÔ˵ÄÊÇ£¬ÔÚÍøÉÏÓÐÏֳɵĴúÂë¿ÉÒÔ°ïÖúÄãÍê³ÉÕâ¸ö·±ÔӵŤ×÷£¬ÔÚhttp://delphi-jedi.orgÉÏÌṩÁËÒ»¸öjni.pasÎļþ£¬¾ÍÊÇÓÃDelphiÓïÑÔÖØÐ´µÄjni.h¡£ÎÒÃÇÖ»ÐèÔÚ×Ô¼ºµÄDelphi¹¤³ÌÖмÓÈëjni.pas¾Í¿ÉÒÔ·½±ãµØ¿ª·¢³ö»ùÓÚDelphiÓïÑÔµÄJNI±¾µØ´úÂë¡£
¡¡¡¡¡¡¡¡±¾ÎĽ«ÀûÓÃjni.pas£¬ÌÖÂÛÓÃDelphiÓïÑÔ¿ª·¢JNI±¾µØ´úÂëµÄ»ù±¾·½·¨¡£
ÏÈÀ´¿´Ò»¸ö¾µäµÄHelloWorldÀý×Ó¡£±àдÒÔÏÂJava´úÂ룺
class+HelloWorld
{
public+native+void+displayHelloWorld();+
static
{
S ......
JNI(Java+Native+Interface£¬Java±¾µØ½Ó¿Ú)¼¼Êõ´ó¼Ò¶¼²»Ä°Éú£¬Ëü¿ÉÒÔ°ïÖú½â¾öJava·ÃÎʵײãÓ²¼þµÄ¾ÖÏÞºÍÖ´ÐÐЧÂʵÄÌá¸ß¡£¹ØÓÚJNIµÄ¿ª·¢£¬´ó¶àÊý×ÊÁÏÌÖÂ۵ͼÊÇÈçºÎÓÃC/C++ÓïÑÔ¿ª·¢JNI£¬ÉõÖÁÓÚJDKÒ²ÌṩÁËÒ»¸öjavah¹¤¾ßÀ´×Ô¶¯Éú³ÉCÓïÑÔ³ÌÐò¿ò¼Ü¡£µ«ÊÇ£¬¶ÔÓÚ¹ã´óµÄDelphi³ÌÐòÔ±À´Ëµ£¬ÄѵÀ¾Í²»ÄÜÓÃ×Ô¼ºÏ²°®µÄDelphiÓëJava»¥Í¨ÏûÏ¢ÁËÂð£¿
¡¡¡¡Í¨¹ý¶ÔjavahÉú³ÉµÄC³ÌÐò¿ò¼ÜºÍJDKÖеÄjni.hÎļþµÄ·ÖÎö£¬ÎÒÃÇ·¢ÏÖ£¬JavaÀûÓÃJNI·ÃÎʱ¾µØ´úÂëµÄ¹Ø¼üÔÚÓÚjni.hÖж¨ÒåµÄJNINativeInterface_Õâ¸ö½á¹¹(Struct)£¬Èç¹ûÓÃDelhpiÓïÑÔ¸ÄдËüµÄ¶¨Ò壬Ӧ¸ÃÒ²¿ÉÒÔ¿ª·¢JNIµÄ±¾µØ´úÂë¡£ÐÒÔ˵ÄÊÇ£¬ÔÚÍøÉÏÓÐÏֳɵĴúÂë¿ÉÒÔ°ïÖúÄãÍê³ÉÕâ¸ö·±ÔӵŤ×÷£¬ÔÚhttp://delphi-jedi.orgÉÏÌṩÁËÒ»¸öjni.pasÎļþ£¬¾ÍÊÇÓÃDelphiÓïÑÔÖØÐ´µÄjni.h¡£ÎÒÃÇÖ»ÐèÔÚ×Ô¼ºµÄDelphi¹¤³ÌÖмÓÈëjni.pas¾Í¿ÉÒÔ·½±ãµØ¿ª·¢³ö»ùÓÚDelphiÓïÑÔµÄJNI±¾µØ´úÂë¡£
¡¡¡¡¡¡¡¡±¾ÎĽ«ÀûÓÃjni.pas£¬ÌÖÂÛÓÃDelphiÓïÑÔ¿ª·¢JNI±¾µØ´úÂëµÄ»ù±¾·½·¨¡£
ÏÈÀ´¿´Ò»¸ö¾µäµÄHelloWorldÀý×Ó¡£±àдÒÔÏÂJava´úÂ룺
class+HelloWorld
{
public+native+void+displayHelloWorld();+
static
{
S ......
1)JEDI - VCL
JEDI-VCL(JVCL) ¿â¹¹½¨ÓÚ JEDI ÉçÇø¾èÔùµÄ´úÂë¡£ËûÓɳ¬¹ý 400 ¸ö¿ÉÒÔÔÚÄãµÄ Delphi ºÍ Kylix ÏîÄ¿ÖÐÁ¢¼´ÖØÓõÄ×é¼þ¹¹³É¡£Õû¸ö JEDI VCL ÔÚ Mozilla ¹«¹²Ðí¿ÉÖ¤£¨MPL£©Ìõ¿îÏ·ַ¢£¬Ëû¿ÉÒÔ×ÔÓÉʹÓÃÓÚÃâ·ÑÈí¼þºÍ¹²ÏíÈí¼þ£¬ÒÔ¼°¿ª·ÅÔ´´úÂ빤³ÌºÍÉÌÒµÏîÄ¿¡£
ÍøÕ¾£ºhttp://jvcl.sourceforge.net
(2)RXLib
RxLib ÊÇÓÃÓÚ Borland Delphi ºÍ C++ Builder µÄÒ»ÕûÌ××é¼þ¼¯£¬ËûÃÇ¿ÉÒÔ¹¹½¨Áé»îºÍ·á¸»µÄÓû§½çÃæ£¬×îÖØÒªµÄÒ»µãÊÇËûÃÇÍêÈ«Ãâ·Ñ¡£
ÍøÕ¾£ºhttp://sourceforge.net/projects/rxlib
(3)LMD Tools - Special Edition£¨ÌØ±ð°æ£©
LMD Tools µÄÃâ·Ñ°æ£¬½«½ü 100 ¸ö×é¼þ£¬¾ø¶ÔÃâ·Ñ¡£
ÍøÕ¾£ºhttp://www.lmdinnovative.com
(4)Globus VCL Extensions Library(GVCL)
Ò»¸öÓÃÓÚ Borland Delphi 3-7 ºÍBorland C++ Builder 5 µÄ×é¼þºÍº¯Êý¿â£¬ËùÓе¥Ôª¶¼°üº¬Ô´´úÂë¡£Õâ¸öÌØ¶¨µÄ¿âÊÇÒ»¸öÃâ·ÑÈí¼þ²úÆ·£¬ÔÚ²»¸ü¸Ä°²×°ÎļþÄÚÈݺ͵¥ÔªÔ´´úÂëµÄÇé¿öÏ¿É×ÔÓÉ·Ö·¢Ê¹ÓÃÕâ¸ö¿â¡£
ÍøÕ¾£º
http://cpr.biblio-globus.ru/GlobusLib.htm
http://www.spellabs.ru/gvclen.htm
(5)Pro VCL Extensions Library(ProLib)
ÓÃÓÚ Borland Delphi ºÍ C++ Builder µÄÃâ·Ñ×é¼þ¿â£¬°üº¬ 28 ¸ö× ......
http://hi.baidu.com/rainbow_chaser/blog/item/7eb5f001c0d864e508fa93ac.html
1.·ÀֹˢÐÂʱÉÁ˸µÄÖÕ¼«½â¾ö°ì·¨
{ ·ÀֹˢÐÂʱÉÁ˸µÄÖÕ¼«½â¾ö°ì·¨(¶Ô¸¶Ë«»º³åÎÞЧʱ) }
Perform($000B, 0, 0); //ËøÆÁÄ» ·ÀÖ¹ÉÁ˸
// ×öһЩ»á·¢ÉúÑÏÖØÉÁ˸µÄÊÂÇé..
//½âËøÆÁÄ»²¢ÖØ»
Perform($000B, 1, 0);
RedrawWindow(Handle, nil, 0, RDW_FRAME + RDW_INVALIDATE + RDW_ALLCHILDREN + RDW_NOINTERNALPAINT);
2.ͼƬÉÏÏÔʾ͸Ã÷ÎÄ×Ö
//ͼƬÉÏÏÔʾ͸Ã÷µÄÎÄ×Ö
//Ö±½ÓÓÃ.Canvas.Brush.Style:=bsClear;
//È»ºó.Canvas.TextOut(x,y,'ÎÄ×ÖÏÔʾ͸Ã÷');
procedure TForm1.Button1Click(Sender: TObject);
var
bitBuf:TBitmap;
begin
bitBuf := TBitmap.Create;
try
bitbuf.LoadfromFile('²âÊÔͼƬ.bmp');
Self.Canvas.Draw(0,0,bitbuf);
bitbuf.Transparent := True;
bitbuf.TransparentColor := clWhite; //ÎÄ×ÖÏÔʾ͸Ã÷
bitbuf.Canvas.font.color := clBlue; //ÎÄ×ÖÑÕÉ«
bitbuf.Canvas.TextOut(10,10,'ÕâÑù ......