일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터베이스
- 셋업
- 델파이
- 인스톨
- WIN32 SDK
- Visual Studio 2005
- dll
- 예제
- vb
- SQL
- 소니
- xml
- 기초
- Firebird
- VB.NET
- c#
- MFC
- 파이어버드
- Delphi
- 문자열
- 시리얼 통신
- 파라미터
- winsock
- 초보
- PostgreSQL
- Visual Basic
- MySQL
- 입문
- 설치
- SDK
- Today
- Total
목록델파이 (82)
프로그래밍 노트
선택한 폴더의 들어있는 파일을 리스트 박스에 표시하는 예제 function TfrmMain.GetFileList(sFolder: string): integer; var SrcRec : TSearchRec; nCnt : integer; begin if DirectoryExists(sFolder) then begin nCnt := 0; // '\'가 없으면 붙임 sFolder := IncludeTrailingPathDelimiter(sFolder); // 폴더의 모든 파일 표시 if FindFirst(sFolder + '*.*', faAnyFile, SrcRec) = 0 then try repeat // 폴더, 현 폴더, 상위 폴더 제외 if not((SrcRec.Attr and faDirectory > 0..
파일 유무 체크를 하는데 있어서 네트워크 경유로 파일을 체크할 경우에는 체크하려는 네트워크가 검색이 안 될 경우에는 프로그램이 먹통이 된 것처럼 잠시 멈쳐 버린다 그런 것을 해결하기 위해서 스레드로 이 처리를 하면 지정한 시간만 기다리고 응답이 없으면 다음 처리로 넘어가게 할 수 있다. 네트워크가 아닌 경우에는 FileExists는 폴더나 파일이 없으면 바로 다음 행으로 넘어간다. // 네트워크 파일 유뮤 체크 스레드 TCheckFileThread = class(TThread) private FFileName : String; FResult : Integer; protected procedure Execute;override; published property FileName : String read F..
델파이에서 날짜 더하고 빼기 예제 uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DateUtils; procedure TForm1.Button1Click(Sender: TObject); var dtNow : TDateTime; dtThen : TDateTime; begin // IncDay 한날을 더한 날짜 반환 // IncMonth 한달을 더한 날짜 반환 // IncYear 한년을 더한 날짜 반환 // 오늘 날짜 표시 Label1.Caption := DateToStr(Now()); // 오늘 날에서 지정한 날짜 가감산 Label2.Caption := DateToStr(Inc..
델파이 : 사용할 수 있는 COM 포트 정보를 레지스터리에서 가져오기 procedure TfrmMain.FormCreate(Sender: TObject); var i:integer; regCom : TRegistry; begin regCom := TRegistry.Create; with regCom do try RootKey := HKEY_LOCAL_MACHINE; if OpenKey('\HARDWARE\DEVICEMAP\SERIALCOMM', False)then begin GetValueNames(cmbComPort.Items); for i := 0 to cmbComPort.Items.Count - 1 do begin cmbComPort.items[i] := ReadString(cmbComPort.it..
델파이에서 처음 스레드를 써보고 있는데 이런 에러가 떴다. Thread Error: The handle is invalid (6) 정말 내가 초보이기 때문에 뜨는 에러 였다. TThread의 컨스트럭터가 호출되지 않아서 에러가 뜬다고 한다. 문제가 생기는 스레드의 컨스트럭터의 마지막 부분에 inherited Create(False); 나 inherited Create(True); 를 넣으면 된다.
델파이에서 VC 8.0(VS 2005)에서 작성한 DLL을 사용하는데 개발환경이 셋업되어있지않은 곳에서 사용하는데 문제가 있어서 몇일간 삽질한 내용을 정리하고자한다. 테스트 환경 우선 Visual C++ Ver 8.0에서 DLL을 만들었다. 그리고 그것을 Delphi 2005에서 만든 실행 파일에서 불러서 쓰려했다. 실행파일을 실행한 OS는 Windows XP Professional SP2로 개발환경이 전혀 깔려있지않은 상태였다. ■ 첫번째 삽질 델파이라 만든 실행파일을 실행하면 아래의 메세지가 떴다. "응용 프로그램을 제대로 초기화하지 못했습니다(0xc0150002)." → 문제는 Visual C++ Ver 8.0에서 DLL을 만들 때 Debug 모드로 빌드를 해서 Debug용 DLL로 테스트를 했었다..
델파이에서 원하는 버젼 정보를 문자열로 넘겨주는 함수의 예제 type TVerKind = ( tvComments, // 코멘트 tvCompanyName, // 회사명 tvFileDescription, // 설명 tvFileVersion, // 파일버젼 tvInternalName, // 내부명 tvLegalCopyright, // 저작권 tvLegalTrademarks, // 상표 tvOriginalFilename, // 정식파일명 tvPrivateBuild, // Private Build tvProductName, // 제품명 tvProductVersion, // 제품버젼 tvSpecialBuild); // Special Build const csVerKey: array [TVerKind] of Stri..
델파이에서의 VB의 ByRef같이 참조로 변수를 넘기는 방법 unit Unit1; interface uses Forms, StdCtrls, Controls, Classes; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private procedure RefParam(var sParam : string); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var sTest : string; begin sTest := ''; RefParam(sTest); Button1.Capt..
델파이에서 IIF가 없지만 IfThen이 있다. IfThen을 쓰려면 uses절에 Math를 추가해야 된다. Math를 추가하는 것을 봐서 짐작이 가듯 IfThen에서 리턴값은 수치값이다. procedure TForm1.Button1Click(Sender: TObject); var iCheck : integer; begin iCheck := IfThen(CheckBox1.Checked, 1, 0); ShowMessage(IntToStr(iCheck)); end;
델파이에서 텍스트박스에서 오른쪽 클릭하면 뜨는 팝업창 없애기 텍스트 박스에서 숫자입력 만 제한한다고 하여도 오른쪽 클릭에서 붙여넣기를 하면 숫자입력이 가능한 것을 이것을 이용하면 숫자 입력이 불가능하여진다. (반대로 붙이기가 안되서 불편하려나? -.-;) procedure TfrmTest.edtTestContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); begin // 오른쪽 클릭해서 뜨는 팝업창 불능화 하기 Handled := True; end; 알고나니까 이렇게 쉬운데 이거 찾는데 시간이 너무 오래 걸렸다. T.T 나의 검색 능력이 떨어져서 그런걸까?