1 / 30

델파이 기본 문법

델파이 기본 문법. 오브젝트 파스칼 언어 1. 주석문 { … } 또는 (* … *) 괄호 안에 있는 내용들을 주석으로 간주 // 한 줄 주석 할당 연산자 (:=) a := 100; str := ‘ hello ’ ;. 오브젝트 파스칼 언어 1. 문장 작성법 모든 코드는 세미콜론으로 분리 (;) begin .. end; 사이에 코드 작성 unit 의 마지막 end 뒤에는 .( 점 ) 으로 unit 의 끝을 알림 . end.

overton
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. 오브젝트 파스칼 언어 1 • 주석문 • { … } 또는 (* … *) • 괄호 안에 있는 내용들을 주석으로 간주 • // • 한 줄 주석 • 할당 연산자(:=) • a := 100; • str := ‘hello’;

  3. 오브젝트 파스칼 언어 1 • 문장 작성법 • 모든 코드는 세미콜론으로 분리(;) • begin .. end; 사이에 코드 작성 • unit 의 마지막 end 뒤에는 .(점) 으로 unit의 끝을 알림. • end. procedure TForm1.Button1Click(Sender: TObject); begin showmessage('델파이'); end; end.

  4. 오브젝트 파스칼 언어 1 • 변수 • 변수선언 형식 • var 변수명 1, 변수명2, …: 변수의 자료형 • 변수 명명 규칙 • 255자 이하 • 영어 알파벳이나 숫자, 밑줄만 사용가능 (대소구별 없음) • 첫자는 반드시 문자이어야 함. • 예약어 사용 불가능. (ex. int, for 등등) • var • x, y : integer; • MyBook (o) MyBook@ (X)

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

  6. 오브젝트 파스칼 언어 1–정수 자료형

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

  8. 오브젝트 파스칼 언어 1 –문자형 • 문자형(AnsiChar 형, WideChar 형) • AnsiChar 형 • 1바이트 • 아스키문자 하나 저장 • 보통char 형으로 지정시 AnsiChar 형으로 지정됨 • WideChar 형 • 2바이트 • 유니코드 문자 저장 var c1, c2 : char; begin c1 := ‘a’; c2 := ‘b’; end

  9. 오브젝트 파스칼 언어 1 –문자열형 • 문자열형(string) • 연속 문자들의 집합 • 단일 따옴표로 지정 • 문자열 연결시에 “+”기호 사용 var str : string; begin str := ‘Hello’; end var str1, str2 : string; begin str1 :=‘Hello’; str2 := str1 + ‘반가워요’; end

  10. 오브젝트 파스칼 언어 1 – pchar • 포인터 문자열형(pchar) • Null 종료 문자열과 호환위해 사용하는 것으로 문자열에 대한 포인터를 말함. var P: PChar; Begin P:= ‘Korea25'; {P는 ‘Korea25'란 Null종료 문자열의 메모리 영역을 가리킵니다.} showmessage(p);end;

  11. 오브젝트 파스칼 언어 1 – pchar Const //상수정의 TempString: Array[0..8] of Char = ‘Hello'#0; //#0은 Null을 의미var P: PChar; Begin P:= @TempString;//TempString의 주소를 P에 할당 ShowMessage( p ); //‘Hello'란 단어를 표시

  12. 오브젝트 파스칼 언어 1 –정적배열 • 배열 선언형식 -1 • array [<인덱스>] of <요소타입> • 인덱스 초기값은 임의 지정 가능 var Myarray : array[0..5] of char; //인덱스가 0에서 5까지인1차원 배열 begin Myarray[0]:=‘A’; … end MyArray[0] … MyArray[5] var Myarray : array[2..5] of integer;//인덱스가 2에서 5까지인 1차원 배열 begin Myarray[2]:=55; … end

  13. 오브젝트 파스칼 언어 1 –정적배열 • 배열 선언형식-2 • Type 문에서 배열타입을 선언한 후, var 문에서 실제 사용할 배열을 생성하여 사용함 • 사용예 • type • Ttable = array[0..2,0..2] of double; • //Ttable 형의 배열타입을 선언. • //사용자정의자료형을 만드는 것임 • var • MyTable : Ttable; //Ttable 형의 배열을 생성함

  14. 오브젝트 파스칼 언어 1 –정적배열 • 다배열 선언형식 • array [<인덱스1, 인덱스2, ..>] of <요소타입> • MyArray : array[0..2, 0..1] of char;  MyArray 배열은 3행 2열의 2차원배열이다. • 사용예  MyArray [1,2] := ‘a’; • 배열 인덱스의 하한값과 상한값을 알아내는 함수 • LOW(배열명) : 배열 인덱스의 하한값을 반환 • HIGH(배열명) : 배열 인덱스의 상한값을 반환  사용예 for n:=Low(MyArray) to High(MyArray) do

  15. 오브젝트 파스칼 언어 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;

  16. 오브젝트 파스칼 언어 1 –동적배열 • 동적배열 • 고정된 크기를 가지고 있지 않은 배열 • 배열의 크기는 런타임시에 정하게 됨. • SetLength 함수 이용 • 배열의 크기는 계속 필요할때마다 변경할 수 있다. • 정적 배열보다 훨씬 유연성이 있다.

  17. 오브젝트 파스칼 언어 1 –동적배열 • 동적배열 선언형식 • array of <요소타입> //범위지정을 하지 않음 • setLength() 함수로 런타임시에 배열에 메모리를 할당하게 된다. • 동적할당 해제 • 배열명 := nil; 또는 Finalize(배열명); var MyDynamicArray : array of char; //동적배열선언 begin setLength(MyDynamicArray,5); //0부터 4까지의 총 5개의 인덱스를 가지는 배열이 된다 //동적배열의 인덱스는 항상 0부터 시작한다. end

  18. 오브젝트 파스칼 언어 1 –동적배열 • 동적배열 예제 procedure TForm1.Button1Click(Sender: TObject); var ar : array of string; //동적배열선언 begin setLength(ar,2); //배열크기 지정 ar[0] := edit1.Text ; //배열값 할당 ar[1] := edit2.Text ; label1.Caption:= '이름=>'+ ar[0] + ' 주소=> ' +ar[1]; end;

  19. 오브젝트 파스칼 언어 1 –변수범위 • 변수의 적용범위 * 지역변수(Grobal Variables) - 하나의 이벤트 핸들러(프로시저) 또는 함수안에서 선언된 변수 (핸들러의 시작과 begin 사이에 선언) - 사용범위 : 선언된 프로시저나 함수내. - 생명 : 선언된 프로시저나 함수가 끝날때 * 전역변수(Global Variables) - 프로시저와 함수밖에서 선언된 변수(interface 부분 또는 implementation 바로 전의 var 섹션에서 선언) - 사용범위 : 선언된 유닛파일 전체. - 생명 : 선언된 유닛파일이 끝날때.

  20. 오브젝트 파스칼 언어 1 –변수범위 << 지역변수 >>  각 이벤트 핸들러내에서 선언된 변수 procedure TForm1.Button1Click(Sender: TObject); var y : integer;//TForm1.Button1Click 프로시저 안에서 선언이므로 // 지역변수이다 begin y:=strtoint(edit2.Text); << 전역변수 >>  implementation 전에 선언된 변수 var Form1: TForm1; gVar : integer; //implementation 위에서 선언되었으므로 전역 변수이다 implementation {$R *.dfm}

  21. 지역/전역변수 사용예제 • 버튼을 클릭한 횟수를 출력하는 코딩을 완성하시오. • 클릭횟수를 체크할 변수 count 를 전역변수로 선언 • Count 변수의 초기값은 폼이 생성될때 할당함 • 버튼을 클릭할때 마다 count 변수의 값이 1씩 증가하고, 그 값을 라벨에 출력한다.

  22. 지역/전역변수 사용예제 procedure TForm2.Button1Click(Sender: TObject); //지역변수 사용예제 Var lo_count : integer; begin lo_count:=0; inc(lo_count); label1.Caption := '클릭횟수=>'+ inttostr(lo_count); end; procedure TForm2.Button2Click(Sender: TObject); //전역변수 사용예제 begin inc(go_count); label2.Caption := '클릭횟수=>'+ inttostr(go_count); end; procedure TForm2.FormActivate(Sender: TObject); begin go_count:=0; //전역변수 초기화 end;

  23. 오브젝트 파스칼 언어 1 –상수선언 • 상수 • 선언 형식 const [상수명] = [값]; • 상수명은 대문자 표기 권장 • 선언 위치는 사용범위에 따라 변수의 범위와 동일함. • 예제 const PI = 3.14159;// PI 상수 선언

  24. 오브젝트 파스칼 언어 1 –형변환 • 형변환 (p.100) • 하나의 자료형을 다른 자료형으로 변환하는 것 • 형 변환을 위해서 형 변환 함수들을 사용한다. • IntToStr(), StrToInt() //정수 > 문자 • StrToFloat(), FloatToStr() //실수 > 문자 • StrToCurr(), CurrToStr(), //크런트형 > 문자 • stringToWidechar() // ansi형의 char를 wide형으로 변환

  25. 형변환 예제(입력받은 두수의 나누기 출력) procedure TForm1.Button1Click(Sender: TObject); var n1, n2 : integer; dap : real; begin n1 :=strtoint(edit1.Text ); n2 :=strtoint(edit2.Text ); dap := (n1 + n2)/2; label1.Caption := floattostr(dap); 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. 원하는 소수점자리로 출력하고자 할때 label1.Caption := format(‘%5.2f’,[dap]);

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

  27. 오브젝트 파스칼 언어 1 –연산자 • 산술 연산자 (p.102) • 나눗셈 연산자 • /  연산결과가 실수형으로 나옴 • div  연산결과가 항상 정수형으로 나옴 var I : integer; r : real; begin I := 10 div 3; //결과 3 r := 10/3; //결과 3.33333 end;

  28. 계산기 프로그램 Standard의 Panel 객체

  29. 계산기 프로그램 • ‘+’버튼을 위한 코딩

  30. 계산기 프로그램 • MOD나 DIV를 위한 연산시 • 각각의 변수 => 정수형 integer • strtoint • Inttostr 함수 사용

More Related