ÎÒÃÇÔÚʹÓÃC±à³Ìʱ»áÓöµ½Ò»¸öÎÊÌ⣬±ÈÈçÍ·ÎļþµÄÒ»¸öº¯Êý°üº¬ÔÚÒ»¸ölibÖУ¬µ«ÊÇ
ÔÚʵ¼ÊÁ¬½ÓÖÐÎÒÃDz»ÖªµÀËüÔÚÄĸö¿âÖС£Ò²Ðí¿ÉÐеÄÒ»ÖÖ°ì·¨ÊÇÖ±½ÓÉÏÍø²éѯij¸ö
º¯ÊýµÄÒÀÀµÌõ¼þ£¬Õâ¶ÔÓÚ³£Óú¯ÊýÊÇûÎÊÌâµÄ£¡µ«ÊǶÔÓÚ¸´ÔÓ¶øÓÖȱÉÙÎĵµµÄµÚÈý·½
libÀ´Ëµ£¬ÎÞÒìÓÚ´óº£ÀÌÕë¡£
×Ô´Ëͨ¹ý2ÖÖ°ì·¨À´³¢ÊÔ½â¾öÕâ¸öÎÊÌ⣬ÎÒÃÇÏÈ¿´µÚÒ»ÖÖ£º
ÔÚWindowsÏÂʹÓÃÅú´¦ÀíÓïÑÔÀ´²éÕÒÖ¸¶¨µÄº¯Êý·ûºÅ:
crt.bat:
@echo off
set gccpath=d:\downloadsvr\mingwstudio\mingw
dir %gccpath%\lib /b>files.txt
if not exist files md files
for /f %%i in (files.txt) DO (
set fprefix=%%i
%gccpath%\bin\nm.exe -s -D %gccpath%\lib\%%i>files\%%i.txt
for %%a in (files\%%i.txt) do (
if %%~za equ 0 del %%a
)
)
del files.txt
@echo ######## Create Names Database Successed!!! #########
pause
;#################################################################
fnd.bat:
@echo off
dir files\ /b >tmp.txt
for /f %%i in (tmp.txt) DO ......
@ǶÈëʽ¹ØÏµÐÍÊý¾Ý¿âSQLite
ÌØµã
1.Ö§³ÖÎåÖÖÊý¾ÝÀàÐÍ null,INTEGER,REAL(¸¡µãÊý),TEXT(×Ö·û´®Îı¾)ºÍBLOB£¨¶þ½øÖÆÎı¾£©Êý¾ÝÀàÐÍ£¬ËäÈ»
ËüÖ»ÓÐÎåÖÖ£¬µ«Êµ¼ÊÉÏsqlite3Ò²½ÓÊÖvarcher(n),char(n),decimal(p,s)µÈÊý¾ÝÀàÐÍ£¬Ö»²»¹ýÔÚÔËËã»î±£´æÊ±»áת³É
ÏàÓ¦µÄÎåÖÖÊý¾ÝÀàÐÍ¡£
2.×î´óµÄÌØµã
¿ÉÒÔ±£´æÈκÎÀàÐ͵ÄÊý¾Ýµ½ÈκÎ×Ö¶ÎÖУ¬ÎÞÂÛÕâÁÐÉùÃ÷µÄÊý¾ÝÊÇʲôÀàÐÍ¡£
ÀýÈ磺
¿ÉÒÔÔÚIntegerÀàÐ͵Ä×Ö¶ÎÖдæ·Å×Ö·û´®£¬»òÕßÔÚBoolean Öдæ·Å¸¡µãÊý£¬»òÕßÔÚ×Ö·ûÐÍ×Ö¶ÎÖдæ·ÅÈÕÆÚÐÍÖµµ«ÓÐÒ»ÖÖÇé¿öÀýÍâ
ÀýÍâ:
&n ......
½ñÌìÔÚ¸ø¹«Ë¾×öÍøÕ¾Ê±£¬Ö÷¹Ü¸øÁËÒ»¸öеÄÐèÇó¸øÎÒ£¬ÓÉÓÚ¹«Ë¾µÄµç»°±íÊý¾Ý±È½Ï¶à£¬ÐèÒªµ¼Èëµ½Êý¾Ý¿â±íÖУ¬ËùÒÔÌØÒâµÄ´ÓÍøÉϲéÔÄÁËһЩ×ÊÁÏ£¬¼òÒ×µÄдÁ˸ö´ÖÂÔµÄÀ࣬»ù±¾ÔÀíÊÇ£º°ÑExcel×öΪÊý¾ÝÔ´£¬ÐγÉdatable¶ÔÏó£¬ È»ºóÔÚÊý¾Ý¿â½¨Á¢Ò»ÕűíÒ»ÁÐÒ»ÁеĽ«Êý¾ÝÌí¼Óµ½Ð±íÖУ¬ÊµÏÖµÄÀࣺ
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OleDb;
using System.Data.SqlClient;
using PublicClass;
/// <summary>
/// ½«ExcelÊý¾ÝÌí¼Óµ½Êý¾Ý¿âµÄ±í
/// </summary>
public class ExceltoSqlserver
{
public ExceltoSqlserver()
{
//
//TODO: ÔÚ´Ë´¦Ìí¼Ó¹¹Ô캯ÊýÂß¼
//
}
OleDbConnection myoledb;
OleDbCommand oledbcmd;
SqlConnection sqlcn;
SqlCommand sqlcmd=new SqlCommand();
MySQL mysql=new MySQL();
/// & ......
DELPHI²ÎÊý¼¸¸ö¸ÅÄîÉϵÄÇø±ð ÊÕ²Ø
ÒýÓòÎÊý£º
ÒýÓòÎÊýÓÃvar¹Ø¼ü×Ö±êʾ
procedure DoubleTheValue (var Value: Integer);
begin
Value := Value * 2;
end;ÔÚÕâÖÖÇé¿öÏ£¬²ÎÊý¼È°ÑÒ»¸öÖµ´«µÝ¸ø¹ý³Ì£¬ÓÖ°ÑÐÂÖµ·µ»Ø¸øµ÷Óùý³ÌµÄ´úÂë¡£µ±ÄãÖ´ÐÐÍêÒÔÏ´úÂëʱ£º
var
X: Integer;
begin
X := 10;
DoubleTheValue (X);x±äÁ¿µÄÖµ±ä³ÉÁË20£¬ÒòΪ¹ý³Ìͨ¹ýÒýÓ÷ÃÎÊÁËXµÄÔʼ´æ´¢µ¥Ôª£¬Óɴ˸ıäÁËXµÄ³õʼֵ ÔÚC++ÖУ¬ ÒýÓÃÓÃ&±íʾ
ÖµµÃ×¢ÒâµÄÊÇ£º
Delphi 3Ôö¼ÓÁËÒ»ÖÖеIJÎÊý£ºout¡£out²ÎÊýûÓгõʼֵ£¬Ö»ÊÇÓÃÀ´·µ»ØÒ»¸öÖµ¡£out²ÎÊýÓ¦Ö»ÓÃÓÚCOM¹ý³ÌºÍº¯Êý£¬Ò»°ãÇé¿öÏÂ×îºÃʹÓøüÓÐЧµÄvar²ÎÊý¡£³ýÁËûÓгõʼֵÕâÒ»µãÖ®Í⣬out²ÎÊýÓëvar²ÎÊýÏàͬ¡£
³£Á¿²ÎÊý
ºÍC++Ò»Ñù£¬ÓÃCONST¹Ø¼ü×Ö±íʾ
function DoubleTheValue (const Value: Integer): Integer
±àÒëÆ÷»áÑ¡ÓÃÒ»ÖÖÓëÒýÓòÎÊýÏàËÆµÄ·½·¨±àÒë³£²Î£¨C++ÊõÓïÖеij£Á¿ÒýÓã©£¬µ«ÊÇ´Ó±íÃæÉÏ¿´³£²ÎÓÖÓëÖµ²ÎÏàËÆ£¬ÒòΪ³£²Î³õʼֵ²»ÊÜÀý³ÌµÄÓ°Ïì¡£
¿ª·ÅÊý×é²ÎÊý
ÓëCÓïÑÔ²»Í¬£¬Pascal º¯Êý¼°¹ý³ÌµÄ²ÎÊý¸öÊýÊÇÔ¤¶¨µÄ¡£Èç¹û²ÎÊý¸öÊýÔ¤ÏÈûÓÐÈ·¶¨£¬ÔòÐèҪͨ¹ý¿ª·ÅÊý×éÀ´ÊµÏÖ²ÎÊý´«µÝ¡£
Ò ......
DelphiÖÐDLL³õʼ»¯ºÍÍ˳ö´¦Àí
choysan
2010-01-08 8:56:43
<1>ÀûÓÃUnitµÄInitalizationÓëFinalizationÕâÁ½¸öС½Ú
¡¡¡¡¿ÉÒÔÔÚUnitµÄÕâÁ½¸öС½ÚÖа²ÅÅUnitµÄ½øÈëºÍÍ˳ö£¬µ«ÊÇ
ProgramÓëLibrary²¢Ã»ÓÐÕâÁ½¸ö²¿·Ö£¬ËùÒÔÖ»ÄÜдÔÚUnitÖС£
<2>ÀûÓÃExitProc±äÁ¿
¡¡¡¡ÔÚLibraryµÄbegin..end.ÖмäÊÇ¿ÉÒÔд´úÂëµÄ£¬ÕâÀï¿ÉÒÔ·ÅÖÃ
DLL³õʼ»¯´úÂë¡£Èç¹ûÏëÒª×öÉÆºó¹¤×÷£¬Ôò¿ÉÒÔÀûÓÃExitProc±äÁ¿¡£
ÎÒÃÇÊ×ÏÈÔÚ³õʼ»¯´úÂëÖаÑExitProcÖаüº¬µÄĬÈϵÄÉÆºó¹ý³ÌµØÖ·±£
´æÏÂÀ´£¬È»ºó°Ñ×Ô¶¨ÒåµÄ¹ý³ÌµÄµØÖ·¸³¸øËü£¬ÕâÑùDLLÍ˳öʱ¾Í»áÖ´
ÐÐÎÒÃÇÖÆ¶¨µÄ³ÌÐò£»ÔÚ×Ô¶¨ÒåµÄ¹ý³ÌµÄ×îºó£¬°ÑExitProc»Ö¸´ÔÀ´µÄ
ĬÈÏÖµ£¬ÒÔ±ãDLLÄܹ»¼ÌÐøÍê³ÉÔÀ´Ä¬ÈϵÄÉÆºó¹¤×÷¡£ÏÂÃæÊÇʾÀý£º
¡¡¡¡library MyDLL;
¡¡¡¡...
¡¡¡¡OldExitProc: pointer;
¡¡¡¡...
¡¡¡¡procedure MyExitProc;
¡¡¡¡begin
¡¡¡¡... //ÉÆºó³ÌÐò
¡¡¡¡ExitProc := OldExitProc;
¡¡¡¡end;
¡¡¡¡...
¡¡¡¡begin
¡¡¡¡... //³õʼ»¯³ÌÐò
¡¡¡¡OldExitProc := ExitProc;
¡¡¡¡ExitProc := @MyExitProc;
¡¡¡¡end.
<3>ÀûÓÃDllProc±äÁ¿
¡¡¡¡ºÍExitProcÒ»Ñù£¬DllProcÒ²ÊÇÒ»¸öÔÚSystemdµ¥ÔªÖÐÔ¤¶¨ÒåµÄ±ä
Á¿¡£ÔÚʹÓÃDLLPr ......
Delphi ¹Ø¼ü×ÖÏê½â[ÕûÀíÓÚ "³È×Ó" µÄÌû×Ó]
absolute
//ËüʹµÃÄãÄܹ»´´½¨Ò»¸öбäÁ¿, ²¢ÇҸñäÁ¿µÄÆðʼµØÖ·ÓëÁíÒ»¸ö±äÁ¿Ïàͬ.
var
Str: string[32];
StrLen: Byte absolute Str;
//Õâ¸öÉùÃ÷Ö¸¶¨Á˱äÁ¿StrLenÆðʼµØÖ·ÓëStrÏàͬ.
//ÓÉÓÚ×Ö·û´®µÄµÚ0¸öλÖñ£´æÁË×Ö·û´®µÄ³¤¶È, ËùÒÔStrLenµÄÖµ¼´×Ö·û´®³¤¶È.
begin
Str := 'abc';
Edit1.Text := IntToStr(StrLen);
end;
abstract
//ËüÔÊÐíÄã´´½¨³éÏóµÄ·½·¨, °üÀ¨ÓгéÏó·½·¨µÄÀà³ÆÎª³éÏóÀà.
//Abstract¹Ø¼ü×Ö±ØÐëÓëVirtual»òDynamic¹Ø¼ü×ÖͬʱʹÓÃ, ÒòΪ³éÏó·½·¨±ØÐë±»¸²¸ÇʽʵÏÖ.
//³éÏóÀ಻ÄÜʵÀý»¯, ³éÏó·½·¨²»Äܰüº¬·½·¨Ìå.
type
TDemo = class
private
protected
procedure X; virtual; abstract;
public
constructor Create;
destructor Destroy; override;
published
end;
and
//Ò»¡¢±íʾÂß¼Óë
if (a>0) and (b>0) then
//¶þ¡¢±íʾλÔËËã
var
a,b,c: Integer;
begin
c := (a and b);
end;
//ʹÓÃAnd±íʾÂ߼ʱ, And×óÓҵıí´ïʽ±ØÐëÓÃСÀ¨ºÅÀ¨Æð, ÒÔ±ÜÃâÒÔÉúÌõ¼þµÄ³åÍ».
//ÀýÈç:
if a>0 and b>0 then
//±àÒëÆ÷¿ÉÄÜ» ......