1 / 48

프로젝트 구성

프로젝트 구성. 프로젝트. 델파이 프로그램의 기본 단위 즉 , 델파이로 만드는 프로그램을 구성하는 모든 파일들의 집합 구성파일 확인 View 메뉴 -> Project Manager 메뉴 프로젝트 파일 (DPR 확장자 ) 폼 관련 파일 (FRM 확장자 ) 소스 파일 (PAS 확장자 ). 프로젝트. DPR ----  FRM 파일 | --  PAS 파일. 프로젝트 파일. program Project1; uses Forms,

Download Presentation

프로젝트 구성

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 프로젝트 구성

  2. 프로젝트 • 델파이 프로그램의 기본 단위 • 즉, 델파이로 만드는 프로그램을 구성하는 모든 파일들의 집합 • 구성파일 확인 • View 메뉴 -> Project Manager 메뉴 • 프로젝트 파일(DPR 확장자) • 폼 관련 파일(FRM 확장자) • 소스 파일(PAS 확장자)

  3. 프로젝트 • DPR ---- FRM 파일 | -- PAS 파일

  4. 프로젝트 파일 program Project1; uses Forms, test in 'test.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.

  5. 프로젝트 파일 program Project1; • 프로젝트의 이름을 지정 • 프로젝트의 이름이 실행 파일의 이름이 됨

  6. 프로젝트 파일 uses Forms, test in 'test.pas' {Form1}; • Uses 절 • 다른 소스 파일의 내용을 참고하고 싶을때 이용 • In : Test.pas 소스 파일이 이 프로젝트에서 사용되는 파일이라는 것을 컴파일러에게 알려 줌 • Test : 유닛의 식별자(identifier)이고 test.pas는 유닛이 저장된 파일 이름 • {Form1} : 유닛과 연결된 폼 이름을 위한 주석

  7. 프로젝트 파일 {$R *.RES} • 컴파일러에게 리소스 파일을 연결해서 컴파일 하라는 컴파일러 지시어

  8. 프로젝트 파일 begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. • 프로그램 실행시 실행 순서 • Application.Initialize : 어플리케이션을 초기화하라는 명령 • Application.CreateForm(TForm1, Form1) : 어플리케이션에서 사용할 폼 생성 • Application.Run : 어플리케이션을 실제로 실행하는 명령

  9. 유닛(Unit) • 유니트는 델파이 프로그램의 기본이 되며 메인 프로그램과 매우 유사 • 새로운 프로젝트를 만들면 폼과 함께 생성 • 유니트는 크게 세 부분 구성 • interface 부분: 현재의 유닛 파일내에서 사용하고자 하는 변수와 다른 유닛 등을 지정하는 영역 • implementation 부분: 유닛에서 사용되는 프로시져와 함수가 실행되는 부분을 지정 • finalization 부분: 프로그램이 종료될 때 파일을 닫기, 메모리 해제 등의 윈도우 자원들을 해제해 주는 영역

  10. unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;typeTForm1 = class(TForm)Label1: TLabel;Button1: TButton;Edit1: TEdit;procedure Button1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begin Edit1.Text := '안녕하세요';end;end.

  11. USES 문 • usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; • 델파이가 만들어 놓은 유닛을 정의하여 이러한 유닛들이 포함되어 있는 변수나 상수, 서브루틴을 프로그램에서 참조할 수 있게하는 역할. => C 언어의 헤더파일과 같은 역할을 함

  12. TYPE 문 • typeTForm1 = class(TForm)Label1: TLabel;Button1: TButton;Edit1: TEdit;procedure Button1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end; • 클래스를 선언할 수 있음, 이벤트 핸들러 선언 부분 • 폼에 객체를 배치하면 이 부분에 객체에 대한 사용 컴포넌트가 추가됨=> 대문자 T로 시작하는 글자는 델파이가 미리 만들어 놓은 클래스를 의미하거나 유닛 객체를 의미

  13. VAR 문 • varForm1: TForm1; • 전역변수를 선언하는 영역

  14. IMPLEMENTATION 문 • implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begin Edit1.Text := '안녕하세요';end;end. • 프로그램에서 필요한 프로시저 작성 • {$R *.DFM} : 주석 => 컴파일러 지시자로 폼과 폼에 포함된 여러가지 컴포넌트의 속성을 읽어오라는 의미 • interface 에 정의된 내용을 토대로 사용자가 프로시저, 함수를 지정하거나 지정된 프로시저나 함수에서 사용할 변수나 상수 등 을 지정한다. 여기서 지정하는 함수와 프로시저 혹은 변수나 상수 등은 모두 이들을 지정한 현재의 유니트에서만 사용할 수 있 다. 즉, 지역적으로만 사용할 수 있다.

  15. Unit <유닛 이름>; 소스코드가 저장될 파일 이름 Interface uses <포함될 유닛 이름들>; const <상수이름> := <상수값>; type <타입지시어>:<타입>; 사용할 클래스 정의, 폼에 추가한 컴포넌트 리스트정의 <프로시저와 함수선언>; 이벤트 핸들러의 선언들과 필요에 따라 만든 함수들 선언 private { private declarations } <변수이름>:<변수타입>; public { public declarations } 프로시저(함수) 선언; end; 타입의 끝 var <객체이름>:<클래스 이름>; 클래스 변수 정의

  16. Implementation앞에서 선언한 프로시저나 함수들을 자세히 구현 {$R*.DFM} // 구현코드부분 이 부분에 이벤트 핸들러/프로시저/함수 구현 Initialization코드 실행시 맨 처음 실행되는 코드 코드 실행 중 초기값이 필요할때 설정 Finalization메인 프로그램이 종료되고 실행 메모리나 시스템 자원 해제를 위한 처리 End.

  17. 폼 파일 • 폼 디자인 정보를 저장 • 바이너리 파일로 저장 => 5에서는 텍스트 파일로 저장

  18. 파스칼 언어 문법

  19. 파스칼의 역사 • Nicklas에 의해서 1960년대 말에 개발 • Algol 언어를 모델 • FORTRAN이나 COBOL 보다 장점이 많음 • 매우 복잡하고 배우기 어려운 단점 • 코드의 작성이 쉽고, 배우기 쉽고, 사용하기 쉬운 언어 설계 • 구조적 프로그래밍 지원하는 블록구조 • 1984년도 볼랜드의 터보파스칼 • 객체지향 언어

  20. 언어의 구조 Procedure 프로시저명; Begin …. 본문….; End; 예제) Procedure TForm1.ButtonClick(Sender:TObject); Begin End;

  21. 프로시져 추가 버튼 객체 더블클릭

  22. Edit 객체 추가 • 프로시져에 코드 삽입

  23. 컴포넌트 처리 • Edit1.text => Form1.Edit1.text • 소속.컴포넌트.속성 • Form1.Edit1.text • 소속.컴포넌트.함수 • Form1.Button1.OnClick()

  24. 주석문 • {} • {와 }사이에 주석문 입력=>{이건 주석} • (* *) • (*와 *)사이에 주석문 입력=>(*이건 주석*) • // • // 다음에 주석문 입력=> //이줄은 주석

  25. 세미콜론/점/begin…end; • ;(세미콜론) • 코드 한줄의 끝을 의미하는 기호 • .(점) • 유닛 혹은 프로그램의 끝 • 블록 • begin (블록의 시작) • end (블록의 끝) • 모든 코드는 세미콜론으로 분리 • Begin…end;는 항상 한 쌍으로 사용 • End; 앞에서의 세미 콜론은 생략 가능 • 유닛의 마지막 end 뒤에는 .(점)을 추가해서 유닛의 마지막임을 표시

  26. 문장(Statement) • 하나의 실행 가능한 코드 라인 • 단순문 • 복합문 • Begin 과 end 사이에 여러 단순문을 합쳐서 하나의 블록으로 만든 예

  27. 변수

  28. 변수란? • 값을 저장하기 위한 공간 • 쓰이는 용도에 따라 각각의 형이 존재 • 정수를 저장하기 위한 공간 • 실수를 저장하기 위한 공간 • 문자를 저장하기 위한 공간 • 문자열을 저장하기 위한 공간

  29. 변수의 이름 • 각 변수를 구별하기 위한 방법 • 이름 생성규칙 • 255자를 넘을 수 없음 • 영문자 알파벳, 숫자, 밑줄문자 “_”로 구성 • 대소문자 구별 안함 • 이름의 첫번째 문자는 반드시 영문자 알파벳 • 예약어들은 변수 이름이 될 수 없음

  30. var x,y : integer; begin x := 10; y := 0; y := x+5 end; 형식 변수1,변수2,…:변수형; 변수형 => 자료형 변수 선언

  31. 자료형 • 변수가 가질 수 있는 값의 종류나 타입 • 기본 자료형 • 숫자 관련 자료형 : Shortint, Integer, LongInt, Byte, Word, Real, Single, Double, Extended, Comp, Currency • 문자형 : char • 문자열형 : string • 논리형 : Boolean

  32. 숫자관련 자료형 • 정수형 • Shortint : 1Byte (-128 ~ 127) • Integer : 2Byte (-32767~32768) • LongInt : 4Byte (-2147483638 ~ 2..7) • Byte : 1Byte (0 ~ 255) • Word : 2Byte (0 ~ 65535)

  33. 숫자관련 자료형 • 실수형 • Real : 6Byte (2.9*10E-39 ~1.7*10E38) • Single : 4Byte (1.5*10E-45 ~ 3.4*10E38) • Double : 8Byte (5.0*10E-45 ~ 1.7*10E308) • Extended : 10Byte (3.4*10E-4932 ~ 1.1*10E4932) • Comp : 8Byte (-2*10E63+1 ~ 2*10E63-1) • Currency : 8Byte (-922337203685477.5808 ~ 922337203685477.5807 (약 10진수 15자리)

  34. 나눗셈 프로그램 작성 • 문자를 실수로 변환 => strtofloat(문자) • 실수를 문자로 변환 => floattostr(실수)

  35. 나눗셈 프로그램 작성

  36. 문자형(char) • 문자형 • AnsiChar : 1Byte • ASCII 코드값 저장 • WideChar : 2Byte • 국제문자를 지원하는 유니 코드 문자 저장 • 문자값은 항상 어포스트로피(‘’)로 감싸야 함 • ‘H’ • 선언예) a : char; a := ‘N’;

  37. 문자열형(String) • 문자열 : 연속된 문자들의 집합 • 문자열 지정시 어포스트로피 이용해서 지정 • 문자열 서로 연결할 때 + 연산자 사용 • 선언예) b : string; b := ‘문자열’;

  38. 논리형(Boolean) • 참과 거짓을 표시하기 위해서 True 혹은 False 값만을 가질 수 있는 자료형 • True 와 false 는 파스칼에서 미리 정의되어 있는 정의어 • 선언예) flag : boolean; flag := true;

  39. 구조화된 자료형 • 배열(Array) • Set 형 • 레코드(Record) • 열거형(Enumerated)

  40. 배열(array) • 같은 종류의 자료형을 여러 개 저장할 수 있는 메모리 공간 • 여러 데이터를 하나의 변수처럼 사용가능 MyScore 국어 영어 수학

  41. 배열(array) • 선언형식 • Array [인덱스] of 요소의 타입; • 예) • Var MyArray:array [1..10] of char; MyArray 0 1 2 3 4 5 6 7 8 9

  42. 배열(array) • 사용법 • 변수와 마찬가지로 초기화가 필요함 • 각 요소 사용 • 예) 배열의 2번째 위치에 10 저장 • MyArray[1] := 10; MyArray 0 1 2 3 4 5 6 7 8 9

  43. 배열(array) • 다차원 배열 • 선언형식 • Array [인덱스1, 인덱스2, …] of 요소의 타입; • 원하는 차원의 개수만큼 인덱스 지정 • 예) 2차원의 예 • Var MyArray : array [0..2, 0..2] of integer MyArray[1,0] := 11; MyArray 0,0 0,1 1,0 1,1

  44. Set형 • 한 타입의 여러 요소들이 모여 있는 집합 • Integer, Boolean, Char, 열거형 등의 자료형만 set 형으로 만들 수 있음 • 역할 : 어떤 값이 특정 set에 속해 있는지 여부를 확인할 때 사용

  45. Set 형 • 선언형식 • Var vowels : set of char; begin vowels := [‘a’, ‘e’, ‘i’, ‘o’, ‘u’]; ….. • in vowels

  46. 레코드(record) • 다른 종류의 자료형을 여러 개 포함할 수 있는 구조 • 연관있는 여러 종류의 데이터를 하나의 단위로 묶어서 처리할 경우 유용 • 선언형식 • 변수명 : record 변수1 : integer; 변수2 : char; … end;

  47. 레코드(record) Score var score:record hak : integer; name : string; kuk : integer; eng : integer; mat : integer; end; Begin score.hak := 2001; score.name := ‘홍길동’; 학번 이름 성적 국어 영어 수학

  48. 열거형(Enumerated) • 여러 값들을 순서에 따라 미리 열거해서 정의하는 자료형 • 사용할 값들을 미리 정해 놓고 이 값들 중에서 하나 선택 • 선언형식 var DayofWeek : (Mon,Tue,Wed,Thu,Fri,Sat,Sun); begin DayofWeek := Fri;

More Related