'델파이다운로드'에 해당되는 글 4건
- 2020.04.12 :: [DelPhi] 자신의 개인 DLL 제작한 후 사용해보기 소스
- 2020.04.12 :: [DelPhi] 간단하게 dll로 값을 저장&불러오기
- 2020.04.12 :: [DelPhi] 델파이 체크 프로세스 함수 소스
- 2020.04.12 :: [DelPhi] 델파이 폼이란 무엇인가? (기본메뉴알아보기)
{ 여기서 부터 dll 작성부분이다 }
{ 여기서 두함수가 DLL 함수가 된다 }
library Firstdll;
uses
Windows;
function Triple( N : Integer) : Integer; stdcall;
begin
MessageBox(0,'Triple function called',
'First Dll',mb_Ok);
Result := N * 3;
end;
function Double( N : Integer) : Integer; stdcall;
begin
MessageBox(0,'Double function called',
'First Dll',mb_Ok);
Result := N * 2;
end;
exports
Triple , Double;
begin
end.
{ 여기까지가 Dll 작성 루틴이다 }
{ 여기서 부터는 DLL 에 있는 함수를 호출하는것을 보여주는 예이다.}
unit dllcall;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Spin;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
{ DLL 함수를 선언한다 }
function Double( N : Integer) : Integer;
stdcall; external 'FirstDll.dll';
function Triple( N : Integer) : Integer;
stdcall; external 'FirstDll.dll';
implementation
{$R *.DFM}
{DLL 함수의 호출}
procedure TForm1.Button1Click(Sender: TObject);
begin
SpinEdit1.Value := Double(SpinEdit1.Value);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SpinEdit2.Value := Triple(SpinEdit2.Value);
end;
end.
----- Dfm 파일 -----
object Form1: TForm1
Left = 200
Top = 108
Width = 328
Height = 156
Caption = 'Form1'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 24
Top = 24
Width = 75
Height = 25
Caption = 'Double'
TabOrder = 0
OnClick = Button1Click
end
object Button2: TButton
Left = 24
Top = 80
Width = 75
Height = 25
Caption = 'Triple'
TabOrder = 1
OnClick = Button2Click
end
object SpinEdit1: TSpinEdit
Left = 144
Top = 24
Width = 121
Height = 22
MaxValue = 0
MinValue = 0
TabOrder = 2
Value = 0
end
object SpinEdit2: TSpinEdit
Left = 144
Top = 80
Width = 121
Height = 22
MaxValue = 0
MinValue = 0
TabOrder = 3
Value = 0
end;
end;
'DelPhi' 카테고리의 다른 글
[DelPhi] Edit에 버튼을 넣어보자 소스 (0) | 2020.04.12 |
---|---|
[DelPhi] 간단하게 dll로 값을 저장&불러오기 (0) | 2020.04.12 |
[DelPhi] 델파이 랜덤문자 만들기 두번째방법 (0) | 2020.04.12 |
[DelPhi] 델파이 랜덤문자 만들기 첫번째방법 (0) | 2020.04.12 |
[DelPhi] 델파이 캡션명 인젝터 구동하기 소스 (0) | 2020.04.12 |
1.Classes 추가
uses
Classes;
2.값을 저장하고 불러올 Packed record를 만듭니다!
type
TPerson = Packed record
sName : Array[1..50] of Char;
nAge : Integer;
end;
//저장할 데이터의 크기를 고정시켜줍니다.
var
Person : TPerson;
3. dll 저장!
procedure WriteDll;
var
sFilePath : string;
Stream : TMemoryStream;
begin
sFilePath := '저장될 경로명' + '파일명.dll';
Stream := TMemoryStream.Create;
try
Stream.Clear;
Stream.Write(Person, SizeOf(TPerson))
Stream.SaveToFile(sFilePath);
finally
Stream.Free;
end;
4.dll 불러옵니다
procedure ReadDll;
var
sFilePath : string;
Stream : TMemoryStream;
begin
sFilePath := '불러올 경로명' + '파일명.dll';
Stream := TMemoryStream.Create;
FillChar(Person, Sizeof(TPerson), #0); //공백으로 채워줍니다.
try
Stream.LoadFromFile(sFilePath);
Stream.Position := 0;
Stream.Read(Person, SizeOf(TPerson));
finally
Stream.Free;
//공백으로 채웠기 때문에 Trim을 사용해 문자열의 양쪽 공백을 제가한뒤 사용
ShowMessage(Trim(Person.sName));
end;
'DelPhi' 카테고리의 다른 글
[DelPhi] 자신의 개인 DLL 제작한 후 사용해보기 소스 (0) | 2020.04.12 |
---|---|
[DelPhi] Edit에 버튼을 넣어보자 소스 (0) | 2020.04.12 |
[DelPhi] 델파이 랜덤문자 만들기 두번째방법 (0) | 2020.04.12 |
[DelPhi] 델파이 랜덤문자 만들기 첫번째방법 (0) | 2020.04.12 |
[DelPhi] 델파이 캡션명 인젝터 구동하기 소스 (0) | 2020.04.12 |
function Ch4ckPr0c4(Process: String): Boolean;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := False;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile))
= UpperCase(Process)) or (UpperCase(FProcessEntry32.szExeFile)
= UpperCase(Process))) then
begin
PID := FProcessEntry32.th32ProcessID;
if PID <> 0 then
begin
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, PID);
Result := True;
Break;
end;
end;
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
'DelPhi' 카테고리의 다른 글
[DelPhi] 델파이 랜덤문자 만들기 첫번째방법 (0) | 2020.04.12 |
---|---|
[DelPhi] 델파이 캡션명 인젝터 구동하기 소스 (0) | 2020.04.12 |
[DelPhi] 델파이 폼이란 무엇인가? (기본메뉴알아보기) (0) | 2020.04.12 |
[DelPhi] 델파이 단축키 모음 (0) | 2020.04.12 |
[DelPhi] 어레기오브바이트 스캔 함수 소스 (0) | 2020.04.12 |
▶ 폼(Form)의 정의
폼은 델파이 프로그래밍에서 가장 중심적인 요소이며 실행시 사용자의 눈에 직접적으로 나타나는 하나의 윈도우가 된다.
폼은 도화지에 비유할 수 있으며 버튼이나 레이블, 리스트 박스, 콤보 박스 등의 컴포넌트를 바로 이 폼에 배치해 놓음으로써
완성되어 간다.
▶ 폼의 중요 속성
폼도 일종의 컴포넌트이므로 다양한 속성을 가지고 있다. 완성된 어플리케이션의 윈도우로 나타나게될 폼은 그 속성을 어떻게
지정하느냐에 따라 각기 다른 여러 가지의 외형을 갖게 되는 것이다.
★ Align
☞ 폼의 사이즈 및 위치를 정해준다. 디폴트 값은 alNone 이다.
alNone : 폼의 크기 및 위치가 사용자가 디자인한 사이즈,위치로서 나타난다.
alClient : 크기가 모니터 화면 전체 크기로 조정되어 나타난다.
alTop : 폼이 모니터 화면 상단에 나타난다.
alBottom : 폼이 모니터 화면 하단에 나타난다.
alLeft : 폼이 모니터 화면 좌측에 나타난다.
alRight : 폼이 모니터 화면 우측에 나타난다.
★ BorderStyle
☞ 폼의 성질을 정해준다. 디폴트 값은 bsSizeable 이다.
bsSingle : 크기 조절이 불가능하며 하나의 선을 가진 경계선을 갖는다.
bsToolWindow : bsSingle과 같으나 종료버튼만을 가지며 컨트롤 메뉴도 가지지 않는다.
bsSizeable : 크기 조절, 위치 이동, 최소화-최대화 버튼, 컨트롤 메뉴 기능과 경계선을 모두 갖는다.
bsSizeToolWin : bsSizeable과 같으나 종료버튼만을 가지며 컨트롤 메뉴도 가지지 않는다.
bsDialog : 크기 조절이 불가능한 일종의 대화상자의 형태를 갖는다.
bsNone : 크기 조절, 최소화-최대화 버튼, 컨트롤 메뉴, 위치 변경 기능이 모두 불가능하며 경계선도
없는 가장 단순한 폼이다.
★ Caption
☞ 폼의 경계선의 제목을 설정한다.
★ Color
☞ 폼 표면의 색을 설정한다.
★ Height, width, left, top
☞ Height : 폼의 크기 조절
☞ width : 폼의 높이 조절
☞ left : 폼의 맨 왼쪽 모서리의 위치 조절
☞ top : 폼의 맨 위쪽 모서리의 위치 조절
★ VerScrollBar 와 HorzScrollBar
☞ 폼에 생성될 수직, 또는 수평 스크롤 바의 유무와 세부 속성들을 지정한다.
▶ 폼의 중요 이벤트
☞ OnActive : 폼이 포커스를 받을 때 발생
☞ OnClose : 폼이 종료할때 발생
☞ OnCloseQuery : 폼의 종료 조건을 지정할 수 있다.
☞ OnClick : 폼 위에서 마우스가 클릭될 때 발생
☞ OnCreate : 프로그램이 실행됨에 따라 폼이 생성되면서 발생하는 디폴트 이벤트이다.
☞ OnDeactivate : 폼이 포커스를 잃을 때 발생
☞ OnHide : 폼이 보이지 않을 때 발생
☞ OnPaint : 폼이 새로 그려질 때 발생
☞ OnResize : 폼의 크기가 변경될 때 발생
☞ OnShow : 폼이 보이게 될 때 발생
▶ 폼의 중요 메소드
★ Close
☞ 폼 안에 배치된 모든 컴포넌트 및 모듈을 메모리에서 완전히 제거하고 폼을 닫는다.
예제1) Form14.close;
☞ name이 Form14인 폼을 닫는다.
예제2) close;
☞ 현재 코딩을 하고 있는 자기 자신의 폼을 닫는다.
다시 말해서, Form1의 유닛에서 이 메소드가 쓰여지고 있을때, Form1을 close시키는 것과 같다.
★ Hide
☞ 폼을 보이지 않도록 하나 메모리에서 완전히 제거하는 것은 아니다.
★ Show
☞ 폼을 보여준다.
★ ShowModal
☞ 폼을 보여주되 Modal 형태로 보여준다. 해당 폼을 종료하지 않고서는 다른 폼이나 어플리케이션으로 전환 할
수 없는 폼을 모달 폼(Modal Form)이라 한다
'DelPhi' 카테고리의 다른 글
[DelPhi] 델파이 캡션명 인젝터 구동하기 소스 (0) | 2020.04.12 |
---|---|
[DelPhi] 델파이 체크 프로세스 함수 소스 (0) | 2020.04.12 |
[DelPhi] 델파이 단축키 모음 (0) | 2020.04.12 |
[DelPhi] 어레기오브바이트 스캔 함수 소스 (0) | 2020.04.12 |
[DelPhi] DLL 인젝터 소스 (0) | 2020.04.11 |