자 료 형 (Data types)
단 순 형 |
문 자 열 형 |
구 조 형 |
포 인 터 형 |
가 변 형 |
정수형 |
단문자열형 |
배열형 |
무형 포인터 |
가변형 |
문자형 |
장문자열형 |
레코드형 |
유형 포인터 |
|
대수형 |
광폭(Wide)문자열형 |
집합형 |
|
|
열거형 |
|
|
|
|
범위형 |
|
|
|
|
실수형 |
|
|
|
|
1.숫 자 형
1.1 정수형(Integer)
정수형은 일반적인 숫자를 표현하는데 사용되는 자료형
자 료 형 |
범 위 |
크 기 |
Shortint |
-128~127 |
1바이트 / 부호있는 8비트 |
Smallint |
-32768~32767 |
2바이트 / 부호있는 16비트 |
Longint |
-2147483648~2147483647 |
4바이트 / 부호있는 32비트 |
Byte |
0~255 |
1바이트 / 부호없는 8비트 |
Word |
0~65535 |
2바이트 / 부호없는 16비트 |
Integer |
-2147483648~2147483647 |
4바이트 / 부호있는 32비트 |
Cardinal |
0~2147483647 |
4바이트 / 부호없는 32비트 |
1.1.A 변수선언방법
var I : Shortint; |
1의 값은 -128에서 127사이의 범위에 포함된다.
1.1.B 정수형 변수에 변수 대입방법
var I : Shortint; J : Word; begin J := I; I := J; end; |
정수형의 범위를 벗어난 값을 대입하려고 하면 엉뚱한 값이 대입됨.
1.2 실수형(real type)
소수점 이하의 값을 다룰 때 사용
실 수 형 |
범 위 |
크 기 |
Real |
2.9*10^-39 ~ 17*10^38 |
6바이트 |
Single |
1.5*10^-45 ~ 3.4*10^38 |
4바이트 |
Double |
5.0*10^-324 ~ 1.7*10^308 |
8바이트 |
Extended |
3.4*10^-4932 ~ 1.1*10^4932 |
10바이트 |
Comp |
-263~263-1 |
8바이트 |
Currency |
-922337293685477.5808 ~922337203685477.5807 |
8바이트 |
2.문 자 형
2.1 단 문 자 열 형
오브젝트 파스칼의 문자형으로는 세 가지 기본 자료형이 준비되어 있다.
문 자 형 |
표 현 범 위 |
AnsiChar |
1바이트 크기 또는 ASCII 코드 값이 해당하는 문자 |
WideChar |
2바이트 크기 또는 유니코드(Unicode) 문자 |
Char |
AnsiChar형과 같음 |
2.1.A 변수선언방법 <문자의 좌우에는 작은 따옴표를 사용해야 한다.>
var C : Char; begin C := 'a'; end; |
2.1.B ASCII 코드 값과 함께 # 기호를 사용 방법
C := #65; //ASCII 코드에서 65번째 문자를 가리킨다. |
다음과 같은 의미를 가진다.
C := 'A'; |
#기호와 ASCII 코드는 키보드로 입력할 수 없거나 또는 ENTER키와 같이 일반적인
문자로 표현하기 어려운 문자를 사용하기 원할 때 편리하다.
2.2 장 문 자 열 형 (String Type)
문자열형은 여려 개의 문자로 이루어진 문자열을 가질 수 있는 자료형입니다.
문 자 열 형 |
설 명 |
ShortString |
최대 255자 길이의 문자열을 가질 수 있습니다. |
AnsiString |
임의의 길이의 ASCII문자열을 가질수 있습니다. |
WideString |
임의의 길이의 유니코드 문자열을 가질수 있습니다. |
String |
컴파일러 지시자에 따라 ShortString이나 AnsiString이 됩니다. {$H+}가 사용된 경우에는 AnsiString이 되고, {$H-}가 사용된 경우에는 ShortString이 됩니다. |
2.2.A 문자열 선언방법
- 단문자 열형
var SS : shortsrting[10]; |
var SS : string[10]; |
- 장문자 열형
var LS : AnsiString; |
- *컴파일러 지시자를 사용
{$H +} var LS : string; |
*컴파일러 지시자 $H
-컴파일러 지시자 $H는 기본적으로 설정된 상태(ON)입니다. 다시 말해서, 컴파일러 지시자의 프로 젝트 설정대화상자의 상태를 바꾸지 않았다면, String은 AnsiStirng과 같은 의미를 가집니다.
- wide 문자열형의 경우
var WS : widestring; |
3.배 열 형
3.1 배열형
배열형은 동일한 자료형의 값들을 여러 개 저장하는데 사용됩니다.
3.1.A 배열형 선언
var A : array [1..10] of integer; |
3.1.B 배열형 대입
A[1] : = 100; |
3.2 집합형
집합형은 수학에서 흔히 사용 되는 집합을 표현하는데 사용되는 것으로, 집합형을 사용하면 일반적 인 집합을 표현하고 계산하는 등의 작업을 쉽게 수행할 수 있습니다.
3.2.A 집합형 선언방법
var CharSet : Set of Char; |
3.2.B 집합형 대입
CharSet : = [ 'a' , 'c', 'f' ]; |
4.기 타
4.1 대수형
대수형은 참과 거짓, 0과 1 등 두가지 값을 표현할 수 있는 기본 자료형이다.
대 수 형 |
크기 및 표현 범위 |
ByteBool |
1바이트의 True / False |
WordBool |
2바이트의 True / False |
LongBool |
4바이트의 True / False |
Boolean |
ByteBool과 같음 |
실제로 델파이에서는 주로 Boolean형이 많이 사용되고, 나머지 대수형은 주로 외부 언어나 모듈과 함께 사용된다.
4.2 열거형
열거형은 말 그대로 몇 개의 항목들을 나열하고 그 순서를 값으로 가질 수 있는 자료형이다.
type color = ( Red, Blue, Green, Black, White, Gray ); // Colors 형의 변수는 열거한 세 가지 값들 중에서 한가지를 가질 수 있다. |
열거형으로 선언된 변수는 나열된 값들 중에서 한 가지를 가질 수 있다.
4.2.A 선언방법
var MyFavoriteColor : Colors; begin MyFavoriteColor := Red; //MyFavoriteColor의 값은 Red이다. end; |
열거형 변수를 선언할 때 나열된 값들은 해당 열거형 변수에 대해서만 일종의 상수로 취급.
따라서 이렇게 나열된 상수들은 같은 범위 내에서 다른 용도로 사용될 수 없다.
4.3 범위형
-범위형은 앞에서 설명했던 단순형들 중에서 특정 자료형이 표현할 수 있는 범위의 일부만을 범위로 가지는 자료형이다.
-범위형도 열거형과 마찬가지로 사용자가 범위를 정할 수 있으므로 사용자 정의 자료형이다.
4.3.A 범위형 선언방법
type MyNumber = 1..10; |
4.3.B 영문 소문자만을 가질 수 있는 범위형 변수를 선언
type YourColors = Green..White; |
범위형 변수를 사용할 때에는 일반적인 단순형 변수와 같은 방법으로 취급할 수 있다. 단지, 범위형을 정 의할 때정한 최소값과 최대값의 범위를 벗어나지 않도록 주의해야 한다.
4.4 순서형
순서형에서는 특별한 연산이 가능. 어떤 값보다 바로 앞에 있거나 뒤에 있는 값을 구하는 연산과 어 떤 값이처음부터 몇 번째 위치에 있는지 알아내는 연산이 있다. 전자의 경우에는 Pred와 Succ를 사 용하고, 후자의경우에는 Ord를 사용한다.
Succ(5) = 6; Pred(5) = 4; Ord(5) = 5; Succ('a') = 'b'; Pred('z') = 'y'; Ord('a') =97; Ord(false) = 0; Succ(false) = true; Pred(false) = true; Pred(Green) = Red; Ord(Pred(Green)) = Ord(Red) = 0; |
4.5 레코드형
- 동일한 형의 여러 데이터를 다루기 위해서 배열을 사용하는 것과 달리 서로 같거나 다른 자료형의 여러 데이터를 다루기 위해서 레코드형을 사용할 수 있습니다.
4.5.A 레코드형 선언
type Cities = (Seoul, Incheon, Pusan, Masan ) ; AddrInfo = record Name : String; Sex : Char ; City : Cities; Post 1 : shorting; Post 2 : shorting; end; |
4.5.B 레코드형 대입
var MyAddr : AddrInfo; MyAddr. Name : = '문열‘; MyAddr. Sex : = 'M' MyAddr. City : = Seoul; MyAddr. Post1 : =100; MyAddr. Post2 : =200; |
4.6 포인터형(Pointer type)
- 포인터형은 어떤 대상을 가리키는 값을 표현하는 자료형
- 포인터형변수는 변수가 저장된 메모리 영역을 가리킨다
-포인터형 변수는 일정한 범위의 값이 아니라 변수가 저장된 메모리 영역의 주소를 값으로 가진다.
4.6.A 포인터형 변수가 메모리의 유효한 영역을 가리키게 하는 방법
·간접 어드레싱(indirect addressing)
-실제로 선언된 변수의 주소를 포인터에 대입하는 방법
·동적 변수(dynamic variable)
-시스템에서 어떤 메모리 영역을 할당받은 후, 포인터가 그 영역을 가리키게 하는 방법
4.6.B 델파이에서 포인터를 선언하는 방법
· 무형 포인터 (untyped pointer)
var P : pinter; |
pointer 라는 예약어를 사용한다
·유형 포인터 (typed pointer)
- 일정한 형의 변수를 가리키는 것
var PI : ^Integer; |
자료형 이름 앞에 ^기호를 사용
·포인터가 가리키는 값을 사용하할 때
var PI : PInteger; I : Integer;
PI := I^; //pi 가 가르키는 값에 I를 대입 |
변수 다음에 ^ 기호 사용
4.7 가 변 형 (Variant type)
- 가변형은 실행시 임의의 자료형을 포함할 수 있는 자료형이다.
즉>프로그램이 실행중일 때, 가변형의 변수들은 정수형,실수형,문자열형,대수형등의 값을 가질수있다.
- 자료형의 변수들을 대입할 수 있다.
4.7.A 선언방법
var V : variant; |
4.7.B 변수 대입 방법
var V1, V2 : variant; I : Integer S : String;
I := 100; S := '-100'; V1 := I ; V2 := S; |
'델파이' 카테고리의 다른 글
웹에 있는 파일 다운로드 받기(UrlDownloadToFile) (0) | 2008.12.24 |
---|---|
TWebBrowser 에서 텍스트 형태 바꾸기 (0) | 2008.12.24 |
문자열 관련 함수 (0) | 2008.12.24 |
델파이에서 브라우저 띄우기 (0) | 2008.12.24 |
델파이에서 dll 등록하기 (0) | 2008.12.24 |