본문 바로가기

프로그램 개발/델파이

델파이(delphy) system unit - A함수

728x90
반응형
------------------------------------------------
Abs 

문법 : function Abs(X);

X의 절대값을 구한다. 절대값이란 값은 같으며 부호가 양수
인 수를 말한다. X는 정수 또는 실수값이다.

예제)
Abs(-3.14); { 결과는 3.14 }
Abs(3.14); { 결과는 3.14 }

------------------------------------------------
AddExitProc system Unit

문법 : procedure AddExitProc(Proc:TRpocedure);

종료 프로시저를 등록한다. 종료 프로시저란 런타임 라이브
러리의 exit 프로시저에 등록되는 함수이며 프로그램이 끝날
때 자동으로 호출되는 함수를 말한다. 프로그램을 끝내기 전
에 해야할 특별한 일, 예를 들어 메모리 해제나 자원 해제 등
의 일이 있다면 종료 프로시저에 코드를 작성하도록 한다. 프
로그램이 종료될 때 AddExitProc로 등록된 역순으로 호출된
다. 즉 처음 등록된 함수가 제일 끝에 호출된다.

------------------------------------------------
Addr System Unit

문법 : function Addr(X):Pointer;

X의 번지를 구한다. X는 변수나 함수의 명칭이며 결과는 X
의 메모리 번지를 나타내는 포인터 값이며 Pointer형이다.
Addr 함수의 리턴값이 Pointer형이므로 Pointer형의 변수에 곧
바로 대입될 수 있지만 이 함수의 리턴값으로 메모리를 직접
참조할 수는 없다. 메모리를 참조하기 위해서는 타입 캐스트
를 해 주어야 한다.

예제)
 var
 i:Integer;
begin
 P := Addr(i); { i의 번지를 구한다. }
end.

------------------------------------------------
AllocMem SysUtils Unit

문법 : function AllocMem(Size;Cardinal):Pointer;

인수로 주어진 Size 바이트만큼 힙에서 메모리를 할당하며
할당된 메모리는 모두 0으로 초기화된다. 할당한 메모리를
해제하려면 FreeMem 함수를 사용한다.

------------------------------------------------
AnsiCompareStr SysUtils Unit

문법 : function AnsiCompareStr(const S1,S2:string):Integer;

두 개의 문자열 S1과 S2를 비교하되 대소문자를 구분하여 비
교한다. S1과 S2 문자열이 같으면 0을 리턴하며 S1<S2이면
음수의 값을 리턴하며 S1>S2이면 양수를 리턴한다. 문자열
끼리의 비교는 문자열을 이루는 각 문자의 문자 코드를 비교
하여 수행된다.

------------------------------------------------
AnsiCompareText SysUtils Unit

문법 : function AnsiCompareStr(const S1,S2:string):Integer;

두 개의 문자열 S1과 S2를 비교하되 대소문자를 구분하지 않
고 비교한다. S1과 S2문자열이 같으면 0을 리턴하며 S1<S2이
면 음수의 값을 리턴하며 S1>S2이면 양수를 리턴한다. 문자
열끼리의 비교는 문자열을 이루는 각 문자의 문자 코드를 비
교하여 수행된다.

------------------------------------------------
AnsiLowerCase SysUtils Unit

문법 : function AnsiLowerCase(const S: string): string;

문자열 내부의 대문자를 모두 소문자로 바꾼다. 영문자 이외
의 글자는 영향을 받지 않는다. 문자 변환은 현재 설치된 언
어 드라이버의 영향을 받는다.

------------------------------------------------
AnsiUpperCase SysUtils Unit

문법 : function AnsiUpperCase(const S: string): string;

문자열 내부의 소문자를 모두 대문자로 바꾼다. 영문자 이외
의 글자는 영향을 받지 않는다. 문자 변환은 현재 설치된 언
어 드라이버의 영향을 받는다. 

------------------------------------------------
Append System Unit

문법 : procedure Append(var f:Text);

파일을 추가 기록용으로 오픈한다. 파일 변수 F는 Assign으로
외부 파일과 연결되어 있어야 한다. 외부 파일이 없으면 에러
가 발생하며 이미 열려 있는 경우는 파일을 닫은 후 다시 연
다. 파일을 오픈한 후 FP는 파일 끝(EOF)에 위치시키므로 추
가적인 데이터를 파일 끝에 추가할 수 있다. 다음 예는 루트
디렉토리의 AUTOEXEC.BAT 파일 끝에 PROMPT문을 추가
한다.

예제)
var
 F: TextFile;
begin
 AssignFile(F, 'c:\autoexec.bat');
 Append(F); { 파일 오픈 }
 Writeln(F, 'prompt $p$g');
 CloseFile(F); { 파일 닫음 }
 end;
end.

------------------------------------------------
AppendStr SysUtils Unit

문법 : procedure AppendStr(var Dest: string; const S: string);

두 개의 문자열을 결합한다. Dest 문자열 뒷부분에 Src 문자열
이 추가된다. Dest:=Dest+S와 문법적으로 동일한 기능을 한
다.

Src:='Apple';
Dest:='Orange';
AppendStr(Dest,Src);

Dest 문자열은 OrangeApple가 된다.
ArcTan sy문법 : function ArcTan(X:Real):Real;
삼각함수 아크 탄젠트를 구한다. 인수 X는 360분법의 각도가
아닌 호도값이다.

------------------------------------------------
AssignCrt WinCrt Unit

문법 : procedure AssignCrt(var f:Text);

텍스트 파일 변수를 CRT 윈도우와 연결한다. CRT와 연결된
텍스트 파일은 텍스트 환경의 화면을 에뮬레이션하며 이 파
일로 문자열을 출력하면 CRT 화면으로 문자열이 출력된다.
표준 입출력 명령보다 텍스트 파일을 사용하여 CRT로 입출
력하는 것이 속도가 조금 더 빠르다. 다음 예는 SF라는 텍스
트 파일을 CRT로 연결하여 문자열을 출력한다.

예제)
var
 SF:TextFile;
begin
 AssignCRT(SF);
 Rewrite(SF);
 Writeln(SF,'Screen File');
 CloseFile(SF);
end;

------------------------------------------------
Assigned system Unit

문법 : procedure Assigned(var P):Boolean;

포인터 변수가 값을 가지고 있는지 가지고 있지 않은지(즉
nil)를 검사해 본다. P<>nil 과 문법적으로 동일한 조건식이며
P가 nil이면 False를 리턴하며 nil이 아니면 True를 리턴한다.
이 프로시저는 이벤트 핸들러 호출 전에 이벤트가 이벤트 메
소드를 가지고 있는지 아닌지를 점검할 때 사용된다.

------------------------------------------------
AssignFile system Unit

문법 : procedure AssignFile(var f,String);

텍스트 파일 변수와 외부 파일을 연결한다. 즉 파일 핸들에
파일을 할당한다. 일단 파일과 핸들이 연결되면 핸들에 대한
모든 조작은 파일로 입출력된다. 이 프로시저로 핸들에 파일
을 할당한 후 Reset이나 Rewrite 등을 사용하여 파일을 오픈하
며 WriteLn이나 Readln으로 파일 입출력을 수행한다. 파일 이
름은 문자열 형태로 전달하되 필요할 경우 드라이브명과 디
렉토리명을 사용할 수 있다. 주의할 것은 이미 열려져 있는
파일 핸들을 재할당해서는 안된다는 점이다. 다음 예는
test.txt 파일에서 첫 줄을 읽어 에디트 박스로 출력한다.

예제)
 var
 F: TextFile;
 S: String;
begin
 AssignFile(F, 'test.txt');
 Reset(F);
 Readln(F, S);
 Edit1.Text := S;
 CloseFile(F);
end.

------------------------------------------------
AssignPrn 

문법 : procedure AssignPrn(var F: Text);

텍스트 파일 변수 F를 프린터로 할당한다. 프린터는 쓰기 전
용의 텍스트 파일이므로 이 프로시저로 할당을 한 후 Rewrite
프로시저로 파일을 오픈해야 한다. 일단 파일 변수가 프린터
로 할당되고 오픈되면 이 파일 변수로 보내는 모든 출력은 프
린터로 인쇄된다. 파일로 문자열을 출력하는 Writeln 프로시
저로 문자열을 프린터로 전송한다.

------------------------------------------------
AssignStr system Unit

문법 : procedure AssignStr(var P: PString; const S: String);

동적으로 할당된 문자열에 새로운 문자열을 대입한다.
AssignStr(P,S)는 DisposeStr(P); P:=NewStr(S)와 동일하다.
AssignStr은 문자열 포인터를 초기화하지 않으므로 문자열 포
인터 P는 nil이거나 아니면 유효한 문자열 포인터이어야 한
다.

예제)
var
 P: PString;
begin
 P := NewStr('First string'); { 문자열 할당 }
 AssignStr(P, 'Second string'); { 새문자열 할당 }
 DisposeStr(P); { 할당 취소 }
end.

참조-델파이_함수_레퍼런스


반응형