일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 소니
- vb
- 문자열
- Delphi
- Visual Basic
- xml
- 파이어버드
- dll
- Visual Studio 2005
- 셋업
- 델파이
- MFC
- 인스톨
- 기초
- 입문
- Firebird
- SQL
- winsock
- 파라미터
- 설치
- MySQL
- PostgreSQL
- c#
- WIN32 SDK
- 예제
- VB.NET
- 시리얼 통신
- SDK
- 초보
- 데이터베이스
- Today
- Total
목록델파이 (82)
프로그래밍 노트
◆ 델파이에서 TComport 설치하기 01) TComport 소스를 다운 받아 적당한 폴더에 설치한다. C:\Program Files\Borland\BDS\4.0\lib\cportu 개인적으로 위의 폴더에 풀어두었다. 02) Delphi를 실행한구 CportLibX.dbk를 연다.(최신 버전을 선택한다.) 03) CportLibX.dpk 열면 CportLibX.bpl이 Project Manager에 표시된다. 그러면 CportLibX를 오른쪽 클릭하면 아래의 그림과 같이 팝업메뉴가 표시되고 거기서 Compile을 클릭한다. 04) 그리고 델파이에서 다시 DsgnCPortX.dpk를 연다. 05) 그러면 DsGnCportX.bpl이 Project Manager에 표시된다. DsgnCportX.bpl에서 ..
Indy를 재설치하려면 먼저 Indy사이트에 간다. Indy 설치 환경 : Delphi 2006 환경에서의 설치 http://www.indyproject.org/ : Indy 사이트 ■ 최신판 Indy Download Indy 사이트에 첫페이지에서 아래 링크를 클릭하면 델파이 관련 컴포넌트를 받을 수 있는 곳으로 들어간다. Indy.Sockets (VCL) 위 페이지의 맨밑에 보면 [Downloads]가 나오고 거기를 클릭하면 몇가지 버전이 나온다. 여기서는 버전 10을 클릭한다. [Development Snapshot]을 선택한다. 밑의 사이트에 가면 최신판을 업데이트 한다고 한다. indy.Fulgan.com/zip/ 위 사이트에서 indy10.zip을 다운 받는다. 위사이트에서 받지않으면 SubVe..
DLL의 파라미터를 동적 배열로 넘기기 DLL의 반환값을 동적 배열로 반환하기 library SecondDll; uses SysUtils, Classes; {$R *.res} type TDynArrVal = array of Integer; function DynamicSum(DynArr: TDynArrVal): Integer; stdcall; var i, iSum : integer; begin iSum := 0; for i := Low(DynArr) to High(DynArr) do iSum := iSum + DynArr[i]; Result := iSum; end; function DynamicReturn(iCnt: integer): TDynArrVal; stdcall; var i : integer; D..
델파이 DLL 만들기 library FirstDll; uses SysUtils, Classes, Windows; {$R *.res} // 더하기 function NumPlus(iA, iB: Integer): Integer; stdcall; begin Result := iA + iB; end; // 메세지 박스 표시하기 function MsgBoxYN(pcMsg: PChar; pcTitle: PChar): BOOL; stdcall; begin Result := (MessageBox(0, pcMsg, pcTitle, MB_YESNO or MB_ICONQUESTION) = IDYES); end; exports NumPlus, MsgBoxYN; begin end. 델파이에서 만든 DLL 사용하기 unit uMa..
TComDataPacket을 쓰면 처음 문자와 마지막 문자를 설정해 주면 알아서 알아서 Buffering해주고 처음 문자와 마지막 문자를 빼서 보여준다. 그런데 With문하고 버그가 있는 것같다. With로 묶어서 쓰면 이상하게 ComDataRecvOnPacke의 이벤트가 발생하지 않는다. 풀어서 쓰면 특별히 문제가 없는데.... ---------------------------------------------------------------------------------------- CDatapacket := TComDataPacket.Create(nil); with CDatapacket do begin ComPort := Comport; StartString := #02; StopString := ..
// 지정한 폴더의 파일 리스트 가져오기 : 서브 폴더 검색 대응 function FindFiles(const sPath, sMask: string; slFiles: TStringList; bSubDir: boolean): integer; var iFindResult: integer; srSchRec : TSearchRec; begin result := 0; iFindResult := FindFirst(sPath + sMask, faAnyFile - faDirectory, srSchRec); while iFindResult = 0 do begin slFiles.Add(sPath + srSchRec.Name); iFindResult := FindNext(srSchRec); end; FindClose(srS..
// 로컬 컴퓨터에 존재하는 드라이브의 문자열을 반환 function TForm1.GetDriveList:TStringlist; var sDrvChr : string; i : integer; cDrvChr : array[1..255] of char; iDrvType : integer; // 지정한 드라이브의 타입 반환 function GetDrvType(sDrvChr: string): string; begin // 드라이브 타입 반환 iDrvType := GetDriveType(Pchar(sDrvChr)); case iDrvType of DRIVE_UNKNOWN: Result := 'UNKNOWN'; DRIVE_NO_ROOT_DIR: Result := 'NO ROOT'; DRIVE_REMOVABLE: R..
예전부터 VB에 있던 Me가 Delphi에서는 무엇일까 궁금해서 검색도 나름대로 하고 그랬는데 찾지 못했었다. 그런데 오늘 알았다. VB의 Me는 Delphi에서는 Self였다. 알고나니까 이렇게 쉬운데 이걸 알기까지 너무 오랜 시간이 지난 것 같다.
델파이에서 컴퓨터의 IP어드레스 설정하기와 설정된 IP어드레스 가져오기 uses ComObj, ActiveX, UrlMon, // for Set IP address Winsock; // for Get IP address // ====================================================================== // SetIpConfig() // WMI로 IP 어드레스, 게이트웨이, 서브넷마스크 설정 // Arguments ... // AIpAddress - IP 어드레스 입력이 안되었을 경우는 DHCP로 설정 // AGateWay - [생략가] 생략시 GATEWAY 변경 안함 // SubnetMask - [생략가] 생략시 기본설정 '255.255.255.0'. /..
procedure TForm1.Button2Click(Sender: TObject); var ctrlTest: TControl; edtTemp : TEdit; begin ctrlTest := SearchCtrl(Panel1, 'Edit2'); edtTemp := ctrlTest as TEdit; edtTemp.Text := 'Test'; end; function TForm1.SearchCtrl(wctlParent:TWinControl; sName:string):TControl; var i : integer; ctrlRet : TControl; wctlTemp : TWinControl; begin Result := nil; // Parent컨트롤에 검색할 컨트롤이 있는지 검색 for i := 0 to wc..