일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Delphi
- 초보
- 데이터베이스
- VB.NET
- c#
- MySQL
- WIN32 SDK
- winsock
- Visual Studio 2005
- 파이어버드
- 설치
- 기초
- 파라미터
- 예제
- Firebird
- PostgreSQL
- vb
- MFC
- 셋업
- 시리얼 통신
- 인스톨
- 소니
- dll
- Visual Basic
- SQL
- 입문
- xml
- Today
- Total
목록2007/08 (19)
프로그래밍 노트
델파이에서 쓰는 Format의 간단한 사용례 ■ Format 함수 정의 class function Format ( Const StrFormat : string; Const Args : array of const ) : string; ■ StrFormat 정의 형식 %[Index:][-][표시할 자리수][.0을 채울 자리수]Type ■ 타입 종류 d = 정수 e = 지수표시 f = 소수점 두번째 자리 이후 반올림 g = 입력된 대로 표시 m = 통화 n = 수치 쉼표 표시(소수점 두번째 자리 이후 반올림) p = 포인터 s = 문자열 u = 부호없는 정수 x = 16진수 ■ 포멧 형식 관련 사용례 sMsg:String; sMsg := ''; sMsg := sMsg + #13#10 + Format(' = '..
델파이에서는 INI파일을 읽고 쓰는 것이 정말 간단한 것같다. 예제만 봐도 알기 쉬우니까... procedure TfrmMain.btnTestClick(Sender: TObject); var iniSet:TIniFile; sFile :string; iT1 :integer; sT :string; bT :bool; begin sFile := 'temp.ini'; // INI파일 만들기(기존에 파일있는 경우는 파일 열기로 됨) iniSet := TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini')); try // INI파일에 정수 쓰기 iniSet.WriteInteger('Section', 'Num', 33); // INI파일에 문자열 쓰기 iniSet.Wr..
Visual Studio 2005에는 클래스 위져드가 없어졌다. 다이알로그에서 OnTimer 메세지 함수 추가하려고 그냥 코드에서 OnTimer를 추가해 보았지만 이벤트가 발생하지 않았다. -.-;; 그래서 열심히 찾다 보니까 메세지 함수를 추가하는 방법이 있었다. 먼저 메세지 함수를 추가하려는 다이알로그를 클래스 뷰에서 선택한다. 선택한 다이알로그에서 Alt + Enter를 누르던가 오른쪽 클릭을 해서 속성을 선택하면 아래같이 속성창이 나타난다. 속성창에서 밑에 메세지를 선택하면 메시지 리스트가 표시된다. WM_TIMER를 선택하면 OnTimer가 표시되고 OnTimer를 선택하면 아래 그림과 같이 OnTimer함수가 추가되어진다.
인터넷에서 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문자열에 버퍼사이즈를 정하고 ..
OS에서 제공하는 타이머 함수 함수 측정 단위 Resolution --------------------------------------------------------------------------- Now, Time, Timer sec 1 sec GetTickCount msec 거의 10 msec TimeGetTime msec 거의 10 msec QueryPerformanceCounter QueryPerformanceFrequency 같음 음 거의 10msec이라는 것이...
숫자 변수를 참조 파라미터로 넘기는 간단한 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 )