델파이의 개요와 구성요소

35
델델델델 델델델 델델델델

Upload: donkor

Post on 26-Jan-2016

80 views

Category:

Documents


4 download

DESCRIPTION

델파이의 개요와 구성요소. 컴포넌트팔레트. 주메뉴. 스피드바. 오브젝트 인스펙트. 컴포넌트 팔레트. 컴포넌트 팔레트는 컴포넌트 (Component) 들을 용도에 따라 모아둔 팔레트 정도로 생각하면 된다 . 컴포넌트의 성격과 쓰임새에 따라 다음과 같은 종류가 있다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 델파이의 개요와 구성요소

델파이의 개요와 구성요소

Page 2: 델파이의 개요와 구성요소

주메뉴

스피드바

컴포넌트팔레트

오브젝트인스펙트

Page 3: 델파이의 개요와 구성요소

컴포넌트 팔레트

컴포넌트 팔레트는 컴포넌트 (Component) 들을 용도에 따라 모아둔 팔레트 정도로 생각하면 된다 . 컴포넌트의 성격과 쓰임새에 따라 다음과 같은 종류가 있다 .

Standard Component, Additional,Win32, System, Data Access, Data Controls, ADO, InterBase Midas,………

Page 4: 델파이의 개요와 구성요소

오브젝트 인스펙터

컴포넌트의 속성을 처리하는 창 , 혹은 객체 속성 창

객체 속성 창은 델파이의 객체 (Object) 항목들을 변경 시키거나 , 객체가 반응을 하게 되는 이벤트 (Event) 를 조정 하는데 편리한 인터페이스를 제공

Page 5: 델파이의 개요와 구성요소

코드에디터 프로그램 개발을 하는 프로그래머가 직접 델파이 코드를

입력하는 창 폼위에 디자인을 하고나서 실제적인 동작 코드를 입력 /

수정하는 편집창

탐색창코딩창

Page 6: 델파이의 개요와 구성요소

프로젝트의 구성

프로젝트 파일 (Project File) : 확장자 (*.DPR) 주 프로그램파일

유닛 파일 (Unit File) : 확장자 (*.PAS) unit 은 개별적으로 컴파일 된다 . 컴파일 된 unit파일은 확장자가 DCU 를 가진다 .

폼파일 (*.DFM) : 폼에서 마우스 오른쪽 클릭을 하여 View as Text를 선택하면 내용을 편집할 수 있다 .

폼이 없는 소스 코드 파일

Page 7: 델파이의 개요와 구성요소

컴포넌트의 구성요소

객체 = 컴포넌트 속성 (property)

객체가 가지는 특성 , 값

이벤트 (event) 객체가 행동을 하기 위한 메시지

메소드 (method) 객체의 행동

Page 8: 델파이의 개요와 구성요소

속성

컴포넌트의 정적인 형태 지정 컴포넌트의 특징을 정의하는 여러

가지 값들 예 )

객체의 이름 색상 크기 글자폰트

적용예 label1.font.size=20;

Page 9: 델파이의 개요와 구성요소

이벤트

실행중에 사용자에 의해 발생되는 사건

예 마우스 클릭 ( 왼쪽 , 오른쪽 )

OnClick() 으로 표현 키보드 클릭 OnKeyPress() 시간이 1 초 경과함

OnTimer()

Page 10: 델파이의 개요와 구성요소

메소드

컴포넌트의 동적인 형태를 지정 특정 컴포넌트에 연관된 프로시저나 함수 예 )

실행중에 해당 컴포넌트를 작동 시키는 일 실행후 컴포넌트에 자료를 넣는 일

사용예 procedure TForm1.Button1Click(Sender: TObject); form1 객체의 Button1 이 클릭되었을때의 메서드

Page 11: 델파이의 개요와 구성요소

델파이 프로그래밍 방법

(1) 문제 분석과 설계(2) 화면 (Form) 디자인

화면에 출력할 사용자 인터페이스를 디자인한다 .(3) 컴포넌트 배치 및 속성 설정

이것에 배치할 각종 컴포넌트 종류와 기능을 사용자가 숙지해야 한다 .

(4) 코딩델파이는 코드 작성을 쉽게 하도록 마련한 여러 가지 위저드와 도우미가 있다 . 이런 것들을 이용해서 코딩하면 보다 편리한 작업 환경에서 프로그램을 작성할 수 있다 .

(5) 컴파일 및 테스트프로그램을 컴파일하고 에러를 수정한다 .

(6) 실행프로그램을 실행한다 .

Page 12: 델파이의 개요와 구성요소

프로그래밍 예제 (P.52)

다음을 출력하는 프로그램 작성하시오 .

Page 13: 델파이의 개요와 구성요소

컴파일 , 테스트 및 실행

메뉴의 Run->Run 실행 빠른 도구모음의 클릭

Page 14: 델파이의 개요와 구성요소

델파이 기본 문법

Page 15: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1

주석문 { … } 또는 (* … *)

괄호 안에 있는 내용들을 주석으로 간주 //

한 줄 주석 할당 연산자 (:=)

a := 100; str := ‘hello’;

Page 16: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1

문장 작성법모든 코드는 세미콜론으로 분리 (;)begin .. end; 사이에 코드 작성unit 의 마지막 end 뒤에는 .(점 ) 으로 unit

의 끝을 알림 . end. procedure TForm1.Button1Click(Sender: TObject);

begin showmessage('델파이 ');end;

end.

Page 17: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1

변수변수선언 형식

var 변수명 1, 변수명 2, …: 변수의 자료형

변수 명명 규칙 255자 이하영어 알파벳이나 숫자 , 밑줄만 사용가능 (대소구별

없음 )첫자는 반드시 문자이어야 함 . 예약어 사용 불가능 . (ex. int, for 등등 )

var x, y : integer;

MyBook (o) MyBook@ (X)

Page 18: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 자료형

자료형의 종류 ▶기본적인 자료형 (Primary Data types) Boolean(논리형 ), integer( 정수형 ), single(단정도부동소수점수 : 실수형 ) string( 문자열형 ), pchar( 문자열포인터형 ) ▶사용자 정의 자료형 (User –Defined Types) 배열 (Array) 형 , 집합형 (Set Type) 레코드 (Recoder) 형 , 부범위 (Subranges) 형 열거형 (Enumeration), 포인터 (Point) 형

Page 19: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 정수 자료형▶Generic integer types 자료형 범위 크기Integer( 정수 ) -2147483648..2147483647 부호있는 32-bit

▶Fundamental integer types 자료형 범위 크기 Shortint -128..127 signed 8-bitSmallint -32768..32767 signed 16-bitLongint -2147483648..2147483647 signed 32-bitByte 0..255 unsigned 8-bitWord 0..65535 unsigned 16-bit

Longword 0..4294967295 unsigned 32-bit

Page 20: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 실수형

▶실수형 자료형 범위 크기Real 2.9*10E-39..1.7*10E38 signed 48-bitSingle 1.5*10E-45..3.4*10E38 signed 32-bitDouble 5.0*10E-324..1.7*10E308 signed 64-bitExtended 3.4*10E-4932..1.1*10E4932 signed 80-bitComp -2*10E63+1..2*10E63-1 signed 64-bitCurrency -92337203685477.5808~ signed 64-bit 92337203685477.5807

Page 21: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 문자형

문자형 (AnsiChar 형 , WideChar 형 )AnsiChar 형

1 바이트 아스키문자 하나 저장 보통 char 형으로 지정시 AnsiChar 형으로 지정됨

WideChar 형 2 바이트 유니코드 문자 저장

var c1, c2 : char;begin c1 := ‘a’; c2 := ‘b’;end

Page 22: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 문자열형

문자열형 (string)연속 문자들의 집합 단일 따옴표로 지정

문자열 연결시에 “ +” 기호 사용

var str : string;begin str := ‘Hello’; end

var str1, str2 : string;begin str1 :=‘Hello’; str2 := str1 + ‘반가워요’ ; end

Page 23: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1–문자열형

포인터 문자열형 (pchar)Null 종료 문자열 사용위한 것으로 문자열에 대한

포인터를 말함 .

var P: PChar; Begin P:= ‘Korea25'; //P 는 ‘ Korea25' 란 Null 종료 문자열의 메모리 영역을 가리킵니다 .// showmessage(p); end;

Page 24: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 문자열형

Const TempString: Array[0..8] of Char = ‘korea25'#0;

//#0 은 Null 을 의미합니다 .// var P: PChar; Begin P:= @TempString; //TempString의 주소를 P 에 할당 // ShowMessage( StrPas( P ) );

//‘korea25' 란 단어를 표시합니다 . // StrPas() 함수는 PChar 형의 데이터를 String형으로 변환

Page 25: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 정적배열

배열 선언형식array [< 인덱스 >] of < 요소타입 >

인덱스 초기값은 임의 지정 가능

var Myarray : array[0..5] of char; // 인덱스가 0 에서 5 까지인 1차원 배열begin Myarray[0]:=‘A’; … end

var Myarray : array[2..5] of char; // 인덱스가 2 에서 5 까지인 1차원 배열begin Myarray[2]:=‘A’; … end

Page 26: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 정적배열

다배열 선언형식array [<인덱스 1, 인덱스 2, ..>] of <요소타입 >

• Myarray : array[0..5, 0..2] of char; Myarray 배열은 6행 3열의 2차원배열이다 .• 사용예 Myarray [1,2] := ‘a’; 배열 인덱스의 하한값과 상한값을 알아내는 함수

LOW( 배열명 ) : 배열 인덱스의 하한값을 반환 HIGH( 배열명 ) : 배열 인덱스의 상한값을 반환

사용예 for i:=Low(Myarray) to High(Myarray) do

Page 27: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 정적배열예제

var Myarray : array[0..5] of integer; // 배열선언 I : integer; Begin for i:=0 to High(Myarray) do // 배열인덱스크기만큼 for 문 수행 begin Myarray[i]:=i+10; // 배열 각 방에 i + 10 의 값을 넣음

memo1.lines.add(inttostr(Myarray[i])); // 메모컨트롤에 배열방에 할당된 값을 추가함 .

end;end;

Page 28: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 동적배열

배열 선언형식array of <요소타입 > //범위지정을 하지 않음

setLength() 함수로 런타임시에 배열에 메모리를 할당하게 된다 .

동적할당 해제 배열명 := nil; 또는 Finalize( 배열명 );

var MyDynamicArray : array of char; begin setLength(MyDynamicArray,5); //0부터 4 까지의 총 5개의 인덱스를 가지는 배열이 된다 // 동적배열의 인덱스는 항상 0부터 시작한다 .end

Page 29: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 변수범위

변수의 적용범위* 지역변수 (Grobal Variables) : 하나의 이벤트 핸들러 ( 프로시저 ) 또는 함수안에서

선언되는 변수 (핸들러의 시작과 begin 사이에 선언 )

* 전역변수 (Global Variables) : 두 개 이상의 이벤트핸들러에서 공통적으로 사용하는 변수

: interface 부분 또는 implementation 바로 전의 var 섹션에서 선언

Page 30: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 변수범위

procedure TForm1.Button1Click(Sender: TObject); var a, b, c : boolean; //TForm1.Button1Click 프로시저 안에서 선언이므로 y, z :integer; // 지역변수이다 begin y:=strtoint(edit2.Text);

var Form1: TForm1; gVar : integer; //implementation 위에서 선언되었으므로 전역 선언이다

implementation

{$R *.dfm}

** 지역변수

** 전역변수

Page 31: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 상수선언

상수 선언 형식 const [상수명 ] = [값 ]; 상수명은 대문자 표기 권장 선언 위치는 사용범위에 따라 변수의 범위와

동일함 . 예제

const PI = 3.14159; // PI 상수 선언

Page 32: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 형변환

형변환 (p.100)하나의 자료형을 다른 자료형으로 변환하는 것형 변환을 위해서 형 변환 함수들을 사용한다 . IntToStr(), StrToInt(), StrToFloat(), StrToCurr(), Curr

ToStr(), FloatToStr(), StrPas()

Page 33: 델파이의 개요와 구성요소

형변환 예제 ( 입력받은 두수의 합 출력 )

procedure TForm1.Button1Click(Sender: TObject);var n1, n2, tot : integer;begin n1 :=strtoint(edit1.Text ); n2 :=strtoint(edit2.Text ); tot := n1 + n2; label1.Caption := inttostr(tot); label1.Font.Size :=15; label1.Font.Style := [fsitalic];end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if key = #13 then edit2.SetFocus;end;end.

edit1

edit2

label1

Page 34: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 연산자 연산자 (p.101)

연산자 PASCAL C

할당 := =

비교 = ,<>,>,<<=, >=

==,!=,>,<<=, >=

논리 And, or, not, xor &&, ||, !

산술 +,-,*,/(F)Div(I),mod

+,-,*,//,%

Page 35: 델파이의 개요와 구성요소

오브젝트 파스칼 언어 1 – 연산자 산술 연산자 (p.102)

나눗셈 연산자 / 연산결과가 실수형으로 나옴 div 연산결과가 항상 정수형으로 나옴

var I : integer; r : real;begin I := 10 div 3; //결과 3 r := 10/3; //결과 3.33333end;