Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 팁&트릭
Delphi Programming Tip&Tricks
[32] SysUtils 유닛에 있는 몇가지 함수들.
장인수 [textout] 7622 읽음    2002-10-12 16:05
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;
메모리 비교를 한다.


+ -

관련 글 리스트
32 SysUtils 유닛에 있는 몇가지 함수들. 장인수 7622 2002/10/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.