유돌이

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Notice

2008. 12. 24. 17:54 델파이

자 료 형 (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;

   
 


posted by 유돌이