//SE_File.dll ṩº
//v1.01: SEFileSize, GetDirFiles, GetSpecialDir
//v1.00: űʦ7.1һ𷢲ĳʼ汾

::SEFileCreate
function SEFileCreate(fn:string): integer;
fnΪֵļԱļд
ļɹ򷵻ֵΪļļʧܣ򷵻ֵΪ-1
ע⣺Ѿͬļ򸲸֮
set h=SEFileCreate("c:\test.txt")

::SEFileOpen
function SEFileOpen(fn:string): integer;
ļΪfnļԱļд
ļɹ򷵻ֵΪļļʧܣ򷵻ֵΪ-1
set h=SEFileOpen("c:\test.txt")

::SEFileClose
procedure SEFileClose(Handle:integer);
رѾ򿪵ļ
Handle:ļSEFileCreateSEFileOpenķֵȡá
do SEFileClose(h)

::SEFileSize
function SEFileSize(Handle:integer): integer;
ȡļĴСļֽ
Handle:ļSEFileCreateSEFileOpenķֵȡá

set x=SEFileSize(Handle)

::SEFileSeek
function SEFileSeek(Handle:integer; Offset:integer; Origin:integer): integer;
λǰļдָ롣
Handle:ļSEFileCreateSEFileOpenķֵȡá
Offset:ļָOriginƫ
Origin:ļָ붨λĲολãȡֵ0ļʼ1ǰָλã2ļĩβ
磺
SEFile(handle,3,1)  ʾļָӵǰλƶ3ֽλá
SEFile(handle,-3,2) ʾļָ붨λļĩβ֮ǰ3ֽڴ
SEFile(handle,0,0)  ʾļָ붨λļͷ
λɹֵΪµļָλãʧܣ򷵻-1


::SEFileRead
function SEFileRead(Handle:integer; Size:integer): string;
ȡļָȵݡ
Handle:ļSEFileCreateSEFileOpenķֵȡá
Size:ȡݳȡ
ȡɹֵΪʵʶȡַʧܣ򷵻ؿַ
set s=SEFileRead(h,3)

::SEFileReadLn
function SEFileReadLn(Handle:integer): string;
ȡļָ֮һıݡ
Handle:ļSEFileCreateSEFileOpenķֵȡá
ȡɹֵΪʵʶȡַʧܣ򷵻ؿַ
set s=SEFileReadLn(h)

::SEFileWrite
function SEFileWrite(Handle:integer; str:string): integer;
дļݡ˺ӵǰļָ봦ʼдݣǰָ֮Ѿݣᱻǡ
Handle:ļSEFileCreateSEFileOpenķֵȡá
str:Ҫдݡ
дɹֵΪʵдֽʧܣ򷵻-1
set i=SEFileWrite(h,"abcde")

::SEFileWriteLn
function SEFileWriteLn(Handle:integer; str:string): integer;
дһļݡ˺SEFileWriteֻܻͬǻԶдstrϻسзš
set i=SEFileWriteLn(h,"abcde")

::SEFileAppend
function SEFileAppend(Handle:integer; str:string): integer;
ļĩβݡ˺ļĩβݣ˲ݱǵ⡣
Handle:ļSEFileCreateSEFileOpenķֵȡá
str:Ҫӵݡ
ӳɹֵΪʵӵֽʧܣ򷵻-1
set i=SEFileApend(h,"ABCDE")

::SEFileAppendLn
function SEFileAppendLn(Handle:integer; str:string): integer;
ļĩβһݡ˺SEFileAppendֻܻͬǻԶӵstrϻسзš
set i=SEFileAppendLn(h,"abcde")

::GetCurrentDir
function GetCurrentDir():string;
ȡǰڵĵǰĿ¼
set s=GetCurrentDir()

::GetExePath
function GetExePath():string;
ȡĿ¼
ýűʦִнűصǽűʦ·
ǴִеĽűصǴEXE·
set s=GetExePath()

::GetExeFileName
function GetExeFileName():string;
ȡļ
ýűʦִнűصǽűʦ·ļ
ǴִеĽűصǴEXE·ļ
set s=GetExeFileName()

::ChangeDir
procedure ChangeDir(NewDir:string);
лǰĿ¼ΪָNewDir
do ChangeDir("c:\")

::ForceDir
function ForceDir(Dir:string):integer;
ǿƴDirָĿ¼·ĴӸ·߲·мĿ¼
мĿ¼ڣԶ
DirĿ¼ɹ򷵻1򷵻0

do ForceDir("c:\abc\def\ccc\aaa\ddd\")  -> Ǵ"c:\abc\def\ccc\aaa\ddd\"мпԭڵĿ¼

::DeleteFile
function DeleteFile(fileName:string): integer;
ɾָļɹ1򷵻0
set i=DeleteFile("c:\test.txt")

::DirectoryExists
function DirectoryExists(Dir:string): integer;
жָĿ¼DirǷڣڵĻ1򷵻0
set i=DirectoryExists("c:\Windows")

::FileExists
function FileExists(FileName:string): integer;
жָļFileNameǷڣڵĻ1򷵻0
set i=FileExists("c:\test.txt")

::DeleteDir
function DeleteDir(Dir:string): integer;
ɾָĿ¼Ŀ¼ɹɾ1򷵻0
set i=DeleteDir("c:\temp\test")

::RenameFile
function RenameFile(OldName:string; NewName:string): integer;
ָļOldNameΪNewNameɹ򷵻1򷵻0
˵˺ļҲļ
set i=RenameFile("c:\test.txt","c:\test1.txt")

::CopyFile
function CopyFile(ExistsFile:string; NewFile:string; FailIfExists:integer): integer;
ָļExistsFileΪһļNewFile, Ƴɹ򷵻1򷵻0
FailIfExistsʾNewFileѾڣǷ񸲸ǣΪ1ʾǣΪ0ʾѴļ
set i=CopyFile("c:\test.txt","c:\test1.txt")

::ExtractFilePath
function ExtractFilePath(FileName:string): string;
ȡָļFileName·ַļ
set s=ExtractFilePath("c:\temp\test.txt")

::ExtractFileName
function ExtractFileName(FileName:string): string;
ȡָļFileNameļַ·
set s=ExtractFileName("c:\temp\test.txt")

::ExtractFileExt
function ExtractFileExt(FileName:string): string;
ȡָļĺ׺׺һ"."ͷ".txt"
set s=ExtractFileExt("c:\temp\test.txt")

::ChangeFileExt
function ChangeFileExt(FileName:string; NewExt:string): string;
ָļFileNameַԭ׺滻Ϊµĺ׺NewExtֵΪ滻˺׺ļ
ע⣬˺ļַ˴ûжʵʵļκθ

set fn=ChangeFileExt("c:\111.xls",".txt")   ->  fn="c:\111.txt"  ʵʵ111.xlsļûб

::GetDirFiles
function GetDirFiles(Dir:string; Mask:string; IncludeSubDir:integer): string;
ȡָĿ¼еļȫ·ÿļ֮ʹûسнзָ˺ʹSplitÿһļһ顣
Dir: Ŀ·˺ȡ·зļ
Mask: ļƥָֻطļ
IncludeSubDir: ָǷĿ¼

var s=""
var Files=""
var i=0
set s=GetDirFiles("c:\","*.bmp",1)
set Files=Split(s,AsciiToChar(13)+AsciiToChar(10))
set i=LBound(Files)
while i<=UBound(Files)
  do ShowMsg(Files[i])
  set i=i+1
endwhile

::GetSpecialDir
function GetSpecialDir(DirName:string): string;
ȡָ͵Ŀ¼·
DirNameΪĿ¼ƣܵȡֵ£
"Temp" : ϵͳʱĿ¼
"System" : ϵͳĿ¼c:\windows\system32
"Windows" : windowsĿ¼: c:\windows
"DeskTop" : Ŀ¼
"MyDocument" : ҵĵĿ¼
"ProgramGroups" : Ŀ¼
"Recent" : ĵĿ¼
"SendTo" : "͵"Ŀ¼
"Favorites" : IEղĿ¼
"StartUp" : Ŀ¼
"StartMEnu" : ʼ˵Ŀ¼
"Fonts" : Ŀ¼
"Templates" : ĵģĿ¼
set s=GetSpecialDir("DeskTop")