일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SDK
- vb
- MFC
- 입문
- Visual Basic
- 설치
- Visual Studio 2005
- 소니
- MySQL
- 초보
- 셋업
- Firebird
- SQL
- VB.NET
- 시리얼 통신
- Delphi
- 델파이
- 데이터베이스
- 예제
- PostgreSQL
- WIN32 SDK
- 파이어버드
- 문자열
- 기초
- c#
- 인스톨
- winsock
- xml
- dll
- 파라미터
- Today
- Total
목록델파이 (82)
프로그래밍 노트
인터넷에서 16진수 문자열을 10진수 수치값으로 바꾸는 것을 찾아봐도 별로 안나왔다. 너무 쉬워서 그런건가? -.-;; 열심히 찾았는데 알고보니 너무 허무함 VB랑 16진수를 10진수로 바꾸는게 똑같네 VB에서는 "&H"를 문자열에 붙이면 되는데 delphi에서는 '$'만 문자열에 분이면 된다. function HexToInt(sHex:String):Integer; var i:Integer; sWork:String; begin Result := 0; sWork := UpperCase(sHex); for i := 1 to Length(sWork) do begin // 16진수의 문자열인가 체크 if (Ord(sWork[i]) in [0..47, 58..64, 71..255]) then begin Resul..
델파이에서의 문자열은 C의 Char와 비슷한 (NULL 터미네이터)문자열과 파스칼 스타일의 문자열이 있다. ■ 문자열의 선언 ▶ PChar(C 스타일 문자열) pTest:PChar; 이렇게 선언했을 경우에는 pTest는 포인터임으로 문자열의 영역을 다음과 같이 확보해야된다. pTest:=AllocStar(128); 아니면 아래와 같이 영역을 지정해 주면 된다. ArrTest:array[0..127] of Char; : pTest := ArrTest; ▶ String(파스칼 스타일 문자열) sTest:String 스트링은 특별히 문자열의 영역을 확보할 필요는 없다. 단 $H 옵션을 사용했을 경우 길이가 255가 된다. ■ C스타일 문자열 관련 함수 함수 기능 StrAlloc C문자열에 버퍼사이즈를 정하고 ..
숫자 변수를 참조 파라미터로 넘기는 간단한 C의 DLL 소스 extern "C" { // Integer 인수를 참조로 넘겨주기 int PASCAL EXPORT NumChg(int& nChg) { nChg = nChg * 2; return nChg; } } DLL에서 숫자 변수를 참조 파라미터로 넘기려며는 참조 파라미터로 넘기는 파라미터 앞에 var를 넣으면 된다. 숫자 변수를 참조 파라미터로 넘기고 받는 델파이 소스 unit dtest; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, TeEngine, Series, TeeProcs, Char..
문자열 넘기고 받는 간단한 C의 DLL 소스 char szTemp[50]; extern "C" { // DLL 문자열 인수 입력 BOOL PASCAL EXPORT SetStr(char *pszSend) { sprintf(szTemp, "%s", pszSend); return true; } // DLL 문자열 인수로 문자열 넘겨주기 BOOL PASCAL EXPORT GetStr(char *pszSend) { sprintf(pszSend, "%s + %s", szTemp , szTemp); return true; } } DLL에서 문자열을 주고 받기 위해서는 델파이에서 PChar형으로 문자를 DLL에 넘겨주고 받으면 된다. 문자열을 넘기고 받는 델파이 소스 unit dtest; interface uses W..
델파이에서 PChar를 String으로 String을 PChar로 바꾸기 sString: string; aChar: array[1..100] of Char; ■ PChar를 String으로 // 함수이용 sString := StrPas(@aChar[1]); // 캐스팅 sString := String(@aChar[1]); // 어드레스 대입 sString := @aChar[1]; ■ String을 PChar로 바꾸기 // 함수이용 StrPCopy(PChar(@aChar[1]), sString ); // 캐스팅 PChar(sString )
델파이로 처음 간단한 예제를 만드는데도 어디에 무엇이 있는지조차 몰라서 시간이 많이 걸렸다. 아주 간단한 프로그램을 Delphi 2006으로 만들어 보다. 1) 델파이(Delphi for Microsoft Win32)를 실행한다. 2) 프로젝트 메뉴에서 All New Project를 선택한다. 3) VCL Forms Application은 선택하고 OK 버튼을 누른다. 4) Form1이 만들어진다. 5) 툴 팔레트에서 TButton을 선택하여 폼에 붙여 넣는다. 6) 버튼을 더블 클릭한다. 더블 클릭하면 버튼 클릭에 대한 소스가 표시된다. 7) ShowMessage를 추가한다. 이렇게 써넣으면 버튼이 눌려질 때 메세지 박스를 표시한다. 8) 메뉴 밑에 있는 녹색 플레이버튼을 누르면 아래와 같이 프로그램이..
유닛은 상수, 데이터 형, 변수, 프로지셔, 함수의 집합체이다. 유닛은 프로그램을 짜맞출수있는 선언 라이브러리이며 프로그램을 분할하여 각각의 컴파일을 하기위한 것이다. 이렇게 프로그램을 분할하여 따로 컴파일을 할수있게하면 다음과 같은 좋은 점이 있다. * 파일이 커져서 다루기 어렵게되지 않는다. * 다른 프로그램이나 유닛에서 이용할 수있는 단위를 유닛으로 다룰 수 있다. * 프로그램을 일부 변경하더라도 전체 컴파일을 안해도 된다. 보통 상호간에 관련을 갖는 선언을 하나의 유닛으로 정리한다. 예를 들면 Strings 유닛은 NULL로 끝나는 문자열(PChar)를 처리하는 루틴의 모든 선언을 정리해둔 것이다. ■ 유닛의 구조 유닛은 인터페이스부(interface)와 실현부(implementation)으로 나..
델파이의 procedure와 function 값을 반환하는 서브루틴을 펑션(Function)이라하며 값을 반환하지않는 서브루틴을 프로시져(Procedure)라고 부른다. procedure는 C에서 void형의 함수에 해당한다. ■ 프로시져 procedure ▶ 구조 procedure (); label; const type var begin end; 프로시져 본체이외의 label, const, type, var 및 프로시져, 함수의 선언은 필요없는 경우 생략할 수 있다. 프로시져 안에 선언된 프로시져 또는 함수는 그 프로시져 안에서만 사용할 수 있다. 인수가 여러개 있는 경우는 세미콜론으로 구분한다. ▶ 사용예 procedure TestProc(nA:Integer; dB:double); label 10; ..
델파이의 제어문에 있어서 두 줄이상일 경우는 begin과 end를 사용한다. C에서의 { }에 해당한다. 델파이에서 세미콜론(;)을 사용하는데 있어서 주의해야 될 점은 세미콜론은 항상 문장의 끝을 나타내지만은 않는다. 세미콜론은 문장을 구분하는 한가지 방법이다. 문장을 구분하는 방법에는 end나 else도 있다. goto문도 있지만 goto문을 사용하면 프로그램을 이해하기 힘들어짐으로 그다지 사용되지 않는다. ■ 조건문 if if문의 일반형식 if 식 then 문1 else 문2 이다 문1, 문2는 한줄이나 두줄이상은 begin ... end로 묶일 수 있다. if문에서 주의해야되는 것은 세미콜론 말고도 else나 end가 문장을 구분하게된다. if nA > 10 then nB := 10; else nB..
프로그램 중에 연산자를 사용해서 데이터를 조작할 수 있다. 연산자에는 아래와 같은 연산자들이 있다. ■ 대입 연산자 대입은 = 가 아니라 := 이다. =앞에 반드시 콜론을 붙인다. = 는 비교연산자로 쓰인다. 사용예 X := 99; ■ 산술 연산자 산술연산자는 수치 연산을 위한 연산자이다. 기호 의미 예 + 더하기 Y := X + 1; - 빼기 Y := X - 1; * 곱하기 Y := 3.14 * X; / 실수 나누기 Y := X / 3.14; div 정수 나누기 K := N div 2; mod 나머지 N := M mod 2; ■ 비트 연산자 비트 연사자는 정수형의 변수의 비트를 조작할 때 사용한다. 기호 의미 예 or 논리합 M := N or $8000; and 논리곱 M := N and $FF; xo..