본문 바로가기

delphi

[Delphi] 스크린 기준 컴포넌트 객체의 좌표 구하기 * TPoint 를 이용.procedure TfrmTest.TestButtonClick(Sender: TObject);var tempPoint : TPoint;begin tempPoint := TSpeedButton(Sender).ClientToScreen(Point(0, 0)); ShowMessage('[X : ' + IntToStr(tempPoint.X) + '] [Y : ' + IntToStr(tempPoint.Y) + ']');end; 더보기
[Delphi] 레지스트리(Registry) 등록 레지스트리 등록하는 간단한 예제 소스 1. 대충 폼을 그리고 2. 소스 (1) 'TRegistry' Class를 이용하여 myRegistry 선언. (2) myRegistry 의 Rootkey 설정. (3) 사용할 경로의 레지스트리 존재 유무 확인 후 레지스트리 등록 * 추가적으로 'TRegIniFile' Class를 이용하여 ini파일 읽기/쓰기 식으로도 등록 가능하다. unit frmRegiSetup; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry; type TForm1 = class(TForm) Button1: TButton; Butto.. 더보기
[Delphi] 재귀함수를 이용한 폴더 복사 재귀를 이용한 폴더 복사pOverWrite 가 True이면 덮어쓰기, False이면 덮어쓰지 않고 건너감// pSourceDir 폴더를 pDestinationDir 경로로 복사// pSourceDir : 소스 디렉토리, pDestinationDir : 목적 디렉토리, pOverWrite : 덮어쓰기 유무procedure CopyDirectoryAll(pSourceDir, pDestinationDir: string; pOverWrite: Boolean);var TempList : TSearchRec;begin if FindFirst(pSourceDir + '\*', faAnyFile, TempList) = 0 then begin if not DirectoryExists(pDestinationDir) the.. 더보기
[Delphi] 재귀함수를 이용한 폴더 삭제 필요할 때마다 매번 작성하다보니 귀찮은 데다가 시간 아까움.. 별 것도 아닌데 그냥 긁어다 쓰는게 정답.// pDir 디렉토리, 하위 폴더 및 파일 모두 삭제procedure RemoveDirectoryAll(pDir: string);var TempList : TSearchRec;begin if FindFirst(pDir + '\*', faAnyFile, TempList) = 0 then begin repeat if ((TempList.attr and faDirectory) = faDirectory) and not (TempList.Name = '.') and not (TempList.Name = '..') then begin if DirectoryExists(pDir + '\' + TempList.Na.. 더보기