■ 정수형
정수형의 종류
16진수를 표시할때는 숫자앞에 $를 붙인다.
nHex := $FF;
변수의 선언예
nInt:Integer;
■ 실수형
실수형의 종류
Comp(계산)형은 -9,223,372,036,854,775,808~9,223,372,036,854,775,807(-2~2- 1)사이의 정수값
Currency형은 돈 계산에 적절한 고정 소숫점 데이터 형
Double이 가장 많이 쓰여진다.
변수의 선언예
dVal:Double;
■ 문자열형
문자와 문자열의 데이터형
String은 일반적으로 꽤 긴문자도 취급할수 있지만 컴파일러에서 $H-를 지정하면 최대 255문자까지로 제한된다.
PChar는 C언어 호환 문자열로 O(NULL)로 문자열이 끝난다. PChar 자신은 C언어와 같이 포인터이기 때문에 문자열 실체를 어딘가에 따로 가지고 있어야된다.
사용예
var Msg: array[0..127] of Char; // C문자열 실체
pMsg:PChar;
...
pMsg := Msg;
String형은 길이를 선언으로 지정할 수 있다.
사용예
str:String[10];
■ 논리형
노리형은 True와 False의 값을 가진다.
사용예
bFlag:Boolean;
■ 포인터형
포인터형에는 형이 붙을때와 형이 붙지않을때가 있다.
형이 붙을때는 그 형의 앞에 ^를 붙여서 선언한다.
포인터의 간곳의 값은 포인터 변수의 뒤에 ^을 붙여서 참조한다.
사용예
var
p: ^Integer;
...
i := p^;
형이 없는 포인터는 C언어의 void*에 해당한다.
사용예
var p:Pointer;
어떤 포인터가 어디도 가르치고 있지않을때의 값은 nil(C에서 NULL에 해당)이다.
■ 배열
배열은 다음과 같이 선언한다.
[]의 안에 배열의 최소값과 최대값을 ..으로 구분해서 기술한다.
사용예
A:array[0..255] of Byte;
■ 레코드형
레코드형은 C언어에서 구조체에 해당한다.
레코드형은 유저 정의형임으로 var뒤에 오지않고 type뒤에 선언한다.
사용예
type
TheRecord = record
name: String;
code: Smallint
end;
var data: TheRecord;
■ 집합형
집합형은 집합을 정의할 때 사용한다.
C에서의 enum과 비슷하다.
사용예
type
TMySet = set of Char;
var
Fset: TMySet;
■ 클래스
클래스는 C++의 클래스에 해당한다.
즉 레코드형에 메서드 선언을 가능하게하여 멤버 보호를 정의할 수 있게한 것.
단 C++의 클래스에 없는 특징이 있다. 그것은 C++에서는 이 보호 규정이 private, protected, public이지만 델파이엥서는 published라는 것도 있다.
이것은 설계할때 오브젝트 브라우저로 편집할찌 안할찌를 지정한다.
published속성을 갖는 멤버는 public이기도 하다.
사용예
type
TMyClass = class
public
procedure Method1();
function Func1(nX:Integer): Integer;
private
nData: Integer;
end;
클래스는 오브젝트 지향 프로그래밍의 기초가 된다.
클래스를 제대로 이해하지 못하면 델파이 프로그램을 만들수 없다.
■ 상수
상수는 값이 변하지않는 기본형의 값이다.
C언어에서의 #define에 해당한다.
상수는 const로 선언한다.
사용예
const
PI = 3.141592;
Folder: String = 'd:\Work\temp.txt';
■ 라벨
라벨은 goto문에 이동할 곳을 나타내는 번호이다.
다른 언어에서는 라벨은 선언하지 않고 쓰지만 파스칼에서는 선언이 필요하다.
(일반적으로 goto문은 잘 사용하지않는다.)
사용예
label
TestGoto;
정수형의 종류
형 | 범위 | 형식 |
Byte | 0~255 | 부호없는1바이트 |
Shortint | -128~127 | 부호있는1바이트 |
Word | 0~65535 | 부호없는2바이트 |
Smallint | -32768~32767 | 부호있는2바이트 |
Integer | -2147483648~2147483647 | 부호있는4바이트 |
Longint | -2147483648~2147483647 | 부호있는4바이트 |
Cardinal | 0~2147483647 | 부호없는4바이트 |
16진수를 표시할때는 숫자앞에 $를 붙인다.
nHex := $FF;
변수의 선언예
nInt:Integer;
■ 실수형
실수형의 종류
형 | 유효자릿수 | 바이트수 |
Single | 7-8 | 4 |
Double | 15-16 | 8 |
Extended | 19-20 | 10 |
Comp | 19-20 | 8 |
Currency | 19-20 | 8 |
Comp(계산)형은 -9,223,372,036,854,775,808~9,223,372,036,854,775,807(-2~2- 1)사이의 정수값
Currency형은 돈 계산에 적절한 고정 소숫점 데이터 형
Double이 가장 많이 쓰여진다.
변수의 선언예
dVal:Double;
■ 문자열형
문자와 문자열의 데이터형
형 | 길이 | 비고 |
Char | 1바이트 | 일반 문자 |
WideChar | 2바이트 | UNICODE문자(OLE로 사용되어짐) |
String | 메모리 크기의 제한 | 일반 Pascal문자열 |
PChar | 포인트와 같음 | 실체는 문자배열 |
String은 일반적으로 꽤 긴문자도 취급할수 있지만 컴파일러에서 $H-를 지정하면 최대 255문자까지로 제한된다.
PChar는 C언어 호환 문자열로 O(NULL)로 문자열이 끝난다. PChar 자신은 C언어와 같이 포인터이기 때문에 문자열 실체를 어딘가에 따로 가지고 있어야된다.
사용예
var Msg: array[0..127] of Char; // C문자열 실체
pMsg:PChar;
...
pMsg := Msg;
String형은 길이를 선언으로 지정할 수 있다.
사용예
str:String[10];
■ 논리형
노리형은 True와 False의 값을 가진다.
사용예
bFlag:Boolean;
■ 포인터형
포인터형에는 형이 붙을때와 형이 붙지않을때가 있다.
형이 붙을때는 그 형의 앞에 ^를 붙여서 선언한다.
포인터의 간곳의 값은 포인터 변수의 뒤에 ^을 붙여서 참조한다.
사용예
var
p: ^Integer;
...
i := p^;
형이 없는 포인터는 C언어의 void*에 해당한다.
사용예
var p:Pointer;
어떤 포인터가 어디도 가르치고 있지않을때의 값은 nil(C에서 NULL에 해당)이다.
■ 배열
배열은 다음과 같이 선언한다.
[]의 안에 배열의 최소값과 최대값을 ..으로 구분해서 기술한다.
사용예
A:array[0..255] of Byte;
■ 레코드형
레코드형은 C언어에서 구조체에 해당한다.
레코드형은 유저 정의형임으로 var뒤에 오지않고 type뒤에 선언한다.
사용예
type
TheRecord = record
name: String;
code: Smallint
end;
var data: TheRecord;
■ 집합형
집합형은 집합을 정의할 때 사용한다.
C에서의 enum과 비슷하다.
사용예
type
TMySet = set of Char;
var
Fset: TMySet;
■ 클래스
클래스는 C++의 클래스에 해당한다.
즉 레코드형에 메서드 선언을 가능하게하여 멤버 보호를 정의할 수 있게한 것.
단 C++의 클래스에 없는 특징이 있다. 그것은 C++에서는 이 보호 규정이 private, protected, public이지만 델파이엥서는 published라는 것도 있다.
이것은 설계할때 오브젝트 브라우저로 편집할찌 안할찌를 지정한다.
published속성을 갖는 멤버는 public이기도 하다.
사용예
type
TMyClass = class
public
procedure Method1();
function Func1(nX:Integer): Integer;
private
nData: Integer;
end;
클래스는 오브젝트 지향 프로그래밍의 기초가 된다.
클래스를 제대로 이해하지 못하면 델파이 프로그램을 만들수 없다.
■ 상수
상수는 값이 변하지않는 기본형의 값이다.
C언어에서의 #define에 해당한다.
상수는 const로 선언한다.
사용예
const
PI = 3.141592;
Folder: String = 'd:\Work\temp.txt';
■ 라벨
라벨은 goto문에 이동할 곳을 나타내는 번호이다.
다른 언어에서는 라벨은 선언하지 않고 쓰지만 파스칼에서는 선언이 필요하다.
(일반적으로 goto문은 잘 사용하지않는다.)
사용예
label
TestGoto;
'Delphi' 카테고리의 다른 글
단축키 모음 (0) | 2010.03.22 |
---|---|
TDateTime형 - 3 (0) | 2009.12.01 |
TDateTime형 - 2 (0) | 2009.12.01 |
TDateTime형 - 1 (0) | 2009.12.01 |
델파이의 개요 (0) | 2009.11.24 |