일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시리얼 통신
- PostgreSQL
- 인스톨
- 파이어버드
- xml
- 소니
- vb
- 문자열
- 셋업
- 초보
- SDK
- Visual Studio 2005
- WIN32 SDK
- c#
- 델파이
- 예제
- MFC
- 설치
- 데이터베이스
- MySQL
- Firebird
- winsock
- VB.NET
- 기초
- Delphi
- dll
- 입문
- SQL
- Visual Basic
- 파라미터
- Today
- Total
목록분류 전체보기 (350)
프로그래밍 노트
델파이에서 XML에 CRLF를 쓰고 읽으려고 하면 CRLF를 써도 읽어지는 것은 LF만 읽어진다. 인터넷에서 열심히 뒤져 봐도 뾰족한 대안을 못찾았다. 그래서 생각해낸 방법은 LF만 있을 경우 LF를 모두 CRLF로 바꾸면 된다. 먼저 LF만 있는지 확인하는 방법 function CheckOnlyLF(sSrc: string): boolean; var iCrLf, iLf : integer; begin result := false; iCrLf := Pos(#13 + #10, sSrc); iLf := Pos(#10, sSrc); if (iCrLf = 0) and (iLf > 0) then result := true; end; 이 소스는 LF를 하나만 검색하면 그냥 나와버린다. 그리고 LF를 모두 CRLF로 변..
델파이에서 16진수 문자열을 2진수 문자열로 바꾸기 function HexToBin(sHex: string): string; var iHex, iDigit : integer; begin iDigit := Length(sHex) * 4; iHex := StrToInt('$' + sHex); result := StringOfChar('0', iDigit); while iHex > 0 do begin if (iHex and 1) = 1 then result[iDigit] := '1'; dec(iDigit) ; iHex := iHex shr 1; end; end;
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; Type // 이벤트 핸들러 생성 TMy1stEvent = procedure(PrvValue, CurValue: integer) of object; // 값 변경 감시 클래스 정의 [사용자 이벤트 정의] TWatchChangeValue = class private FOnChangeVal : TMy1stEvent; public procedure ChangeValue(PrvValue, CurValue: integer); published property OnChangeValue : TMy1stE..
procedure TForm1.Button1Click(Sender: TObject); var i, j : integer; begin SetLength(bbb, 3, 2); for i := low(bbb) to high(bbb) do begin for j := low(bbb[i]) to High(bbb[i]) do begin bbb[i,j] := TButton.Create(nil); bbb[i,j].parent := self; bbb[i,j].Width := 10; bbb[i,j].Height := 20; bbb[i,j].Top := 30 * i; bbb[i,j].Left := 20 * j + bbb[i,j].Width; end; end; for i := low(bbb) to high(bbb) do beg..
원본소스 링크 : Torry's Delphi Pages unit RVButton; interface uses SysUtils, Classes, Controls, Messages, Graphics, Windows; const iOffset = 3; type TRVButton = class(TGraphicControl) private FCaption : string; FButtonColor: TColor; FLButtonDown: boolean; FBtnPoints : array[1..2] of TPoint; FKRgn : HRgn; procedure SetCaption(Value: string); procedure SetButtonColor(Value: TColor); procedure FreeRegion..
bmp의 지정한 색을 투명하게 그리는 소스 procedure TForm1.DrawOpaque0Bmp(Cnvs: TCanvas; bmpSource: TBitmap; x, y: integer; clTransparent: TColor); var width, height : integer; clPrevColor: TColor; tpBmpSize : TPOINT; bmpInfo : BITMAP; hSourceBmp : HBitmap; hdcTarget, hdcSource : HDC; bmAndMask, bmAndObject, bmAndMem, bmWork : HBITMAP; bmMaskOld, bmObjectOld, bmMemOld, bmWorkOld : HBITMAP; hdcMask, hdcObject, hdc..
procedure DrawTransparentBmp(Cnv: TCanvas; x,y: Integer; Bmp: TBitmap; clTransparent: TColor); var bmpXOR, bmpAND, bmpINVAND, bmpTarget: TBitmap; oldcol: Longint; begin try bmpAND := TBitmap.Create; bmpAND.Width := Bmp.Width; bmpAND.Height := Bmp.Height; bmpAND.Monochrome := True; oldcol := SetBkColor(Bmp.Canvas.Handle, ColorToRGB(clTransparent)); BitBlt(bmpAND.Canvas.Handle, 0,0,Bmp.Width,Bmp.H..
델파이에서 TBitmap.Create에서 Undeclared identifier 에러가 뜰때가 있다. E2003 Undeclared identifier: 'Create' 이럴 때는 간단하게 해결할 수 있다. Bitmap: Graphics.TBitmap; 위와 같이 변수형을 선언해 주면된다. 위와 같이 쓰지 않으면 아래의 윈도우즈에 있는 Bitmap형을 인식하는 것같다. Bitmap: Windows.TBitmap;
컴포넌트에 속해 있는 컴포넌트 수 구하는 방법 procedure TForm1.Panel1Click(Sender: TObject); var i : integer; pnlSender : TPanel absolute Sender; begin // 클릭한 패널의 부모가 가지고 있는 자식들의 수 for i := 0 to pnlSender.Parent.ControlCount - 1 do begin // 컨트롤이 TPanel인가? if (pnlSender.Parent.controls[i] is TPanel) then TLabel(pnlSender.Parent.Controls[i]).Color := clBtnFace; end; pnlSender.Color := clBlue; end; 이렇게 하면 어떤 컴포넌트 안에 속..
[Pascal Warning] uAAA.pas(12): W1005 Unit 'FileCtrl' is specific to a platform 요즘 FileCtrl를 쓰는 사람이 별로 없겠지만 혹시라도 쓰는 사람이 있으면 이런 메세지가 뜬다. 이 메세지를 안뜨게 하려면 아래와 같은 코드를 넣어주면 된다. uses {$WARN UNIT_PLATFORM OFF} FileCtrl; {$WARN UNIT_PLATFORM ON}