ʹÓÃDelphiÄÚÖú¯Êý¶ÁдINIÎļþ
ÀûÓÃWindows APIº¯ÊýWritePrivateProfileString ºÍGetPrivateProfileString¿É¶Ô.INIÎļþ½øÐжÁд²Ù×÷¡£Æäʵ£¬¶Ô.INIÎļþµÄ¶ÁдÍêÈ«¿ÉÒÔÀûÓÃDelphiµÄÄÚÖú¯ÊýÀ´ÊµÏÖ¡£ÏÂÃæ¾Í½éÉÜһЩ¶Ô.INIÎļþ¶ÁдʱÏà¹ØµÄÀ༰ÆäÊôÐÔ·½·¨¡£
1¡¢TIniFile¶ÔÏó
ÒÔDelphiÖУ¬¶¨ÒåÁËÒ»¸öTIniFile¶ÔÏ󣬽«.INIÎļþ·â×°ÔÚÆäÖУ¬²¢ÌṩһЩ·½·¨£¬×¨ÃÅÓÃÀ´¶ÔINIÎļþ½øÐжÁд²Ù×÷¡£Èç¹ûÔÚ³ÌÐòÖÐÒªÓõ½TIniFileÀà»òÆä·½·¨ÊôÐÔ£¬¾Í±ØÐëÔÚ³ÌÐòµ¥ÔªµÄusesÓï¾äÖÐÊÖ¹¤¼ÓÈë¶ÔIniFilesµ¥ÔªµÄÒýÓá£
2¡¢Create·½·¨
¸Ã·½·¨ÓÃÀ´´´½¨Ò»¸ö´¦ÀíINIÎļþµÄTIniFileÀàÐÍʵÀý¡£
·½·¨ÉùÃ÷£ºconstructor Create(const FileName:string);
²ÎÊý˵Ã÷£ºFileNameÖ¸Ã÷´ý´´½¨µÄINIÎļþµÄÎļþÃû£»
×¢ÊÍ£ºÔÚʹÓÃTIniFile¶ÔÏó֮ǰ£¬±ØÐëÏÈÓô˷½·¨´´½¨Ò»¸öINIÎļþµÄʵÀý¡£FileNameÖпÉÒÔ°üº¬Â·¾¶Ãû£¬È±Ê¡Ê±ÎªWindowsËùÔÚĿ¼£¨Ò»°ã¾ÍÊÇC:\windows,¶ÔÓÚWindows NTÀ´Ëµ£¬ÔòÒ»°ãÊÇc:\winnt)¡£ÓÃCreate·½·¨´´½¨µÄʵÀý£¬ÔÚʹÓÃÍêÖ®ºó£¬µ÷ÓÃFree·½·¨ÊÍ·ÅÄÚ´æ¡£
3¡¢ReadSection·½·¨
¸Ã·½·¨´ÓINIÎļþÖжÁ³öÖ¸¶¨¶ÎµÄËùÓÐ×Ó¼üÃû£¬²¢´æÈëStrings²ÎÊýÖ¸¶¨µÄ×Ö·û´®Áбí¶ÔÏóÖС£
·½·¨ÉùÃ÷£ºprocedure ReadSection(const Section:string; Strings:TStrings);
²ÎÊý˵Ã÷£ºSectionÖ¸Ã÷Òª¶ÁÈ¡¶ÎµÄ¶ÎÃû£»
StringsÖ¸Ã÷´æ·Å×Ó¼üÃûµÄ×Ö·û´®ÁÐ±í£»
×¢ÊÍ£ºReadSection·½·¨½ö¶ÁÈëÖ¸¶¨¶ÎµÄËùÓÐ×Ó¼üÃû£¬µ«²»¶ÁÈë×Ó¼üµÄÖµ¡£
4¡¢ReadSections·½·¨
¸Ã·½·¨´ÓINIÎļþÖжÁÈ¡ËùÓжÎÃû£¬²¢´æÈëStrings²ÎÊýÖ¸¶¨µÄ×Ö·ûÖÐÁбíÖС£
·½·¨ÉùÃ÷£ºprocedure ReadSections(Strings:TStrings);
²ÎÊý˵Ã÷£ºStrings²ÎÊýÖ¸Ã÷´æ·Å¶ÎÃûµÄ×Ö·û´®ÁÐ±í£»
×¢ÊÍ£ºReadSections·½·¨½«INIÎļþÖÐËùÓжεĶÎÃû¶Á³ö£¬´æÈëÒ»Ö¸¶¨µÄ×Ö·û´®ÁбíÖУ¬´Ë×Ö·û´®Áбí¿ÉÒÔÖ±½ÓʹÓÃij¸öÁбí¿òµÄItemsÊôÐÔ¡£
5¡¢ReadSectionValues·½·¨
¸Ã·½·¨´ÓINIÎļþÖжÁÈëÖ¸¶¨¶ÎµÄËùÓÐ×Ó¼üÃû¼°Æä¼üÖµ£¬²¢´æÈëStrings²ÎÊýÖ¸¶¨µÄ×Ö·û´®ÁбíÖС£
·½·¨ÉùÃ÷£ºprocedure ReadSectionValues(const Section:String; Strings:TStrings);
²ÎÊý˵Ã÷£ºSectionÖ¸Ã÷Òª¶ÁÈ¡¶ÎµÄ¶ÎÃû£»
StringsÖ¸Ã÷´æ·Å¶ÎÃûµÄ×Ö·û´®ÁÐ±í£»
×¢ÊÍ£ºReadSectionValues·½·¨ÓëReadSection·½·¨µÄÇø±ðÔÚÓÚºóÕß½ö¶ÁÈë×Ó¼üÃû£¬ÃæÇ°Õß³ýÁ˶ÁÈ¡×Ó¼üÃûÖ®Í⣬»¹¶ÁÈ¡¸Ã×Ó¼ü¶ÔÓ¦µÄ¼üÖµ¡£¶ÁÈëµÄ×Ó¼üÃû¼°¼üÖµÔÚ×Ö·û´®ÁбíÖеĴæ·Å·½·¨ÓëÔÚÎļþÖеÄÏÔʾ·½·¨Ò»Ö£¬¼´"Key=Value"ÐÎʽ¡£
6¡¢EraseSection·½·¨
¸Ã·½·¨É¾³ýINIÎļþÖÐ
Ïà¹ØÎĵµ£º
ÎÒÃÇÄÜ¿´µ½ÒÔÏ´úÂë
var pSource,pDest:PChar;
len: integer;
.......................//һЩ´úÂë
Move(pSource,pDest,len); //´íÎó
Move(pSource^,pDest^,len); //ÕýÈ·
¿´ÆðÀ´È·ÊµºÃÏñÊÇ´«Öµ£¬¶ø²»ÊÇ´«µØÖ·£¬µ«ÊǸ÷λ±ðÍüÁË£¬Õâ²»ÊÇC£¬C++£¬¶øÊÇDelphi
Object Pascal,ËùÒÔ£¬¾ø²»ÄÜ´Óº¯Êýµ ......
Ò»¡¢Ê¹ÓÃÎļþÁ÷µÄ·½·¨½øÐп½±´£¬µ±È»¡£Í¬ÑùµÄµÀÀí£¬ÄãÒ²¿ÉÒÔʹÓÃÄÚ´æÁ÷µÈ·½·¨½øÐÐÎļþµÄ¿½±´£¬ÔÀíÊÇÒ»ÑùµÄ¡£
procedure copyfile(sourcefilename,targetfilename : String);
var f1, f2: tfilestream;
begin
f1 := tfilestream.Create(sourcefilename, fmopenread);
try
f2 := tfilestream ......
Delphi¿½±´Ä¿Â¼(º¬×ÓĿ¼)µÄ·½·¨
ҪʵÏÖĿ¼¼¶µÄ¿½±´£¬¿ÉÒÔÀûÓÃWindows APIº¯ÊýShFileOperation( )£¬Æäº¯ÊýÉùÃ÷ÈçÏ£º
WINSHELLAPI int WINAPI SHFileOperation(
LPSHFILEOPSTRUCT lpFileOp
);
ʵÀý£º
н¨Ò»¸ö¹¤³Ì£¬Æä³ÌÐòʾÀýÈçÏ£º
unit Unit1;
interface
uses
Windows, Messag ......
ÉèÓÐÒÔÏÂÈý¸ö±äÁ¿£º
var
s:string;
p:pchar;
a:array[1..20] of char;
ÄÇôÈýÕßÖ®¼äµÄת»»ÈçÏ£º
1¡¢×Ö·û´®µ½PChar
p:=PChar(s);
2¡¢PCharµ½×Ö·û´®
s:=p;
3¡¢PCharµ½×Ö·ûÊý×é
StrCopy(@a,p);
4¡¢×Ö·ûÊý×éµ½PChar
......