2013-06-19

[델파이] SysUtils 유닛에 있는 몇가지 함수들

procedure MkDir(const S: string); overload; 
function CreateDir(const Dir: string): Boolean; 
function ForceDirectories(Dir: string): Boolean; 
디렉토리 생성 

function RemoveDir(const Dir: string): Boolean; 
디렉토리 지우기 

function DirectoryExists(const Directory: string): Boolean; 
디렉토리가 있는지 검사하기 

function GetCurrentDir: string; 
현재 디렉토리 알아오기 

function SetCurrentDir(const Dir: string): Boolean; 
디렉토리 경로 이동 

function ExtractFileDir(const FileName: string): string; 
인자가 'c://abcaa.exe' 라면 'c://abc' 를 리턴한다. 

function ExtractFilePath(const FileName: string): string; 
인자가 'c://abcaa.exe' 라면 'c://abc//' 를 리턴한다. 

function ExtractFileDrive(const FileName: string): string; 
인자가 'c://abc//aa.exe' 라면 'c:' 를 리턴한다. 

function ExtractFileExt(const FileName: string): string; 
인자가 'c://abc//aa.exe' 라면 '.exe' 를 리턴한다. 

function ExtractFileName(const FileName: string): string; 
인자가 'c://abc//aa.exe' 라면 'aa.exe' 를 리턴한다. 

function FileCreate(const FileName: string): Integer; overload; 
파일을 생성한다. 

function FileExists(const FileName: string): Boolean; 
파일이 있는지 검사한다. 

function RenameFile(const OldName, NewName: string): Boolean; 
파일 이름 바꾸기 

function ChangeFileExt(const FileName, Extension: string): string; 
파일 이름 문자열 확장자 바꾸기(실제 파일을 바꾸는게 아니며, 바뀐 문자열만 리턴한다.) 

function FileSize(var F): Integer; 
파일 크기 알아내기 

function DeleteFile(const FileName: string): Boolean; 
파일 삭제 

function FileCreate(const FileName: string): Integer; overload; 
파일 생성 

function FileAge(const FileName: string): Integer; 
파일을 생성한 날짜를 알아온다. 

function FileDateToDateTime(FileDate: Integer): TDateTime; 
위의 FileAge() 하면 int를 리턴하는데, int값을 TdateTime 값으로 리턴해준다. 

function FileSetDate(Handle: Integer; Age: Integer): Integer; overload; 
파일을 생성한 날짜를 변경한다. 

function DateTimeToFileDate(DateTime: TDateTime): Integer; 
TdataTime형을 int값으로 리턴한다. 

function FileSetAttr(const FileName: string; Attr: Integer): Integer; 
파일의 속성을 변경한다(읽기전용,숨김등..) 

function FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean; 
파일을 읽기전용으로 만들거나 해제한다. (True=읽기전용으로, False=해제) 

function FileOpen(const FileName: string; Mode: LongWord): Integer; 
파일일 오픈한다. (리턴받은 Int형은 파일을 핸들) 

function FileRead(Handle: Integer; var Buffer; Count: Integer): Integer; 
파일에서 데이터 읽기 

function FileWrite(Handle: Integer; const Buffer; Count: Integer): Integer; 
파일에 데이터 쓰기 

function FileSeek(Handle, Offset, Origin: Integer): Integer; overload; 
파일에서 위치를 이동시킨다. 

procedure FileClose(Handle: Integer); 
파일 닫기 

function DiskSize(Drive: Byte): Int64; 
드라이브(디스크) 용량 알아오기 

function DiskFree(Drive: Byte): Int64; 
드라이브 남은 용량 
(인자: 0=디폴트 드라이브, 1=A:, 2=B:, 3=C:, 4=D: 등) 

procedure FreeAndNil(var Obj); 
오브젝트를 nil로 만든다. 

function Format(const Format: string; const Args: array of const): string; overload; 
function Format(const Format: string; const Args: array of const; const FormatSettings: TFormatSettings): string; overload;
리턴받은 string에 형식에 맞게 값들을 넣어준다. 
예) 
var 
  str: string; 
  a,b: integer; 
begin 
  str := '(값)'; 
  a := 10; 
  b := 20; 
  ShowMessage( Format('%s A:%d , B:%d',[str, a,b]) ); 
end; 
결과: (값) A:10 , B:20 

function AnsiPos(const Substr, S: string): Integer; 
S 값에서 Substr 값이 어디에 있는지 위치를 리턴한다. (0을 리턴하면 일지문자 없음) 

function AnsiLowerCase(const S: string): string; 
function AnsiLowerCaseFileName(const S: string): string; 
function AnsiLastChar(const S: string): PChar; 
S 값을 소문자로 변경해서 리턴한다. (위는 같은 일을 하는 함수들) 


function AnsiUpperCase(const S: string): string; 
function AnsiUpperCaseFileName(const S: string): string; 
function AnsiStrUpper(Str: PChar): PChar; 
S 값을 대문자로 변경하여 리턴한다. 

function AnsiExtractQuotedStr(var Src: PChar; Quote: Char): string; 
function AnsiDequotedStr(const S: string; AQuote: Char): string; 
S 문자열에서 AQuote 값을 시작점을 찾고, 끝 지점가지 문자열을 리턴한다. 
예) ShowMessage( AnsiDequotedStr('-ABCDEF-GHIJK$..', '-') ); 
결과) ABCDEF 
AQuote 값은 S문자열에 첫 위치에 꼭 와야하며, 쌍으로 이루어져야한다. 

function AnsiCompareFileName(const S1, S2: string): Integer; 
function AnsiCompareStr(const S1, S2: string): Integer; 
function AnsiCompareText(const S1, S2: string): Integer; 
S1, S2문자의 크기를 비교한다. (길이는 상관없고, 앞쪽에 있는 문자가 먼저 큰지를 판단한다) 
S1 = S2 =  0 
S1 > S2 =  1 
S1 < S2 = -1 
예)  ShowMessage( IntToStr( AnsiCompareText('0146','015') ) ); 
      // -1을 리턴한다. 

function AnsiLastChar(const S: string): PChar; 
S 문자열에서 제일 마지막 문자를 리턴한다. (2바이트 문자일 경우 2바이트 값을 다 리턴한다.) 

function AnsiQuotedStr(const S: string; Quote: Char): string; 
S 문자열 앞과 뒤에 Quote 값을 집어넣는다. (S에 Quote와 같은 값이 있을경우 옆에 하나씩 더 추가된다.) 

function AnsiSameStr(const S1, S2: string): Boolean; 
S1과 S2 문자열이 일치하면 True를 리턴한다. (대소문자도 비교한다.) 

function AnsiSameText(const S1, S2: string): Boolean; 
S1과 S2 문자열이 일치하면 True를 리턴한다. (대소문자 무시) 

function AnsiStrComp(S1, S2: PChar): Integer; 
값 비교 

procedure AppendStr(var Dest: string; const S: string); deprecated; 
Dest := Dest + S; 와 같다. 

function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string; 
두개의 Boolean 값을 비교해서 특정값을 문자열로 리턴한다. 
true        false  = 1 
true        true  = TRUE 
false        false  = -1 
false        true  = FALSE 

function ByteToCharIndex(const S: string; Index: Integer): Integer; 
S 문자열의 길이보다 Index 값이 크면, 0을 리턴한다. (그외 Index 값 리턴) 

function ByteToCharLen(const S: string; MaxLen: Integer): Integer; 
S 문자열 길이보다 MaxLen 값이 크면, S 길이를 리턴한다. (그 외 MaxLen 값 리턴) 

function ByteType(const S: string; Index: Integer): TMbcsByteType; 
S[Index] 값이 1바이트 값인지, 2바이트(한글) 값의 첫번째 바이트인지, 두번째 바이트인지 판별한다. 
예) 
var 
  ty: TMbcsByteType; 
begin 
  ty := ByteType('ABC하하012',5); 
  case ty of 
    mbSingleByte: ShowMessage('1byte 문자'); 
    mbLeadByte  : ShowMessage('2byte 문자의 첫번째 바이트'); 
    mbTrailByte : ShowMessage('2byte 문자의 두번째 바이트') 
  end; 
end; 

function CharLength(const S: String; Index: Integer): Integer; 
S[Index] 값이 1바이트 문자이면 1을 리턴, 2바이트 문자이면 2을 리턴한다. 

function CompareMem(P1, P2: Pointer; Length: Integer): Boolean; assembler; 
메모리 비교를 한다.

댓글 없음: