본문 바로가기

델파이473

프로그램 종료 막기 프로그램 종료 막기 방법 1 form의 Event 중 OnCloseQuery라는 이벤트가 있습니다. 프로그램이 종료되기 전에 일어나는 이벤트입니다. ​ 이 이밴트 procedure를 보면 ​ FormCloseQuery(Sender: TObject; var CanClose : Boolean); 1. Edit1.Text가 "사과" 종료 하고 다른 것이면 종료를 못하게 하자 ​ procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if Edit1.Text = '사과' then CanClose := FALSE else Canclose := FALSE; end; ​ 이런식으로 코딩을 하면 됩니다. ​ ​ 방법2​ 폼의 OnCl.. 2023. 6. 29.
DLL만들기와 사용방법 DLL만들기와 사용방법 DLL를 만들기가 어렵다고 생각하시는 분이 있는데 그렇지 않습니다. DLL에 관한 이해는 다른분들도 많이 올려 놓으신것 같아서 여기서는 작성방법과 사용법에 대해서만 올려드립니다. 설명에서 FILE / NEW 라고 쓰여 있으면 FILE에 들어가서 NEW를 선택하라는 뜻입니다. DLL 만들기 0, DELPHI 실행 1, FILE / NEW / DLL 2, FILE / NEW FORM 또는 NEW DATA MODULE ( UNIT1.PAS나 FORM이 설정된다. ) 3, unit1.pas내에 implementation이라는 구절 아래에 다음과 같이 타이핑한다. function min(i,j:integer):integer; var p:integer; begin if i>j then p:=.. 2023. 6. 28.
DLL(Dynamic-link library)란 (4) DLL(Dynamic-link library)란 (4) DLL의 procedure나 function을 어디에서 import할 것인가? 물론, 그것을 사용하 는 unit 내에서 import할 수도 있다. 하지만 대부분의 경우, 개별 unit을 구성하고 그곳에 한 DLL내의 procedure나 function을 import하기 위한 코드를 모두 몰 아넣는 것이 일반적이다. 이렇게 DLL의 import를 목적으로 구성된 unit이 Import Unit이다. import unit의 좋은 예는 '{DELPHI}\Source\RTL\Win' 내의 unit들이다. 이것들은 모두 Windows API를 지원하기 위해 각 DLL별로 만들어진 모든 unit 의 소스가 있다. 이 unit들, 특히 Windows.pas를 자.. 2023. 6. 26.
DLL(Dynamic-link library)란 (3) DLL(Dynamic-link library)란 (3) 윈도우즈가 실행파일을 구동시키는 과정을 살펴보자. 이것은 Windows 95나 Windows NT등의 WIN32에 국한되는 설명이다. *.EXE 형태의 프로그램이 로딩된다면 우선 커널 프로세스 하나가 생성되어 작동한다. 커널 프로세서의 주 역할은 메모리 영역을 구성하는 것이다. 커널 프로세스가 억세스할 수 있는 메모리 범위 는 32bit 범위, 즉 4기가 바이트에 이른다. 다음으로 커널파일매핑 프로세스가 생성되어 작동한다. 이 프로세스는 실행파일을 하드디스크등의 저장소로부터 커널 프로세스의 메모리 영역으로 복사한다. 이 과정을 통해 실행파일은 실제의 어드레스로 매핑된다. 다음으로 프로그램이 DLL을 이용하고 있다면 이 DLL을 찾아 시스템을 뒤진다... 2023. 6. 23.
DLL(Dynamic-link library)란 (2) DLL(Dynamic-link library)란 (2) DLL은 Dynamic-link library의 약자로 한마디로 표현하자면 동적으로 연결되는 램상주 라이브러리이다. Windows 환경하의 프로그래밍에서 DLL은 단순한 라이브 러리 이상의 의미를 가진다. 우리가 작성한 어플리케이션은 DLL의 징검다리를 뛰 어다닌다. Windows의 많은 부분이 DLL로 구성된 탓이다. Windows의 커널, 그래픽 인터페이스, 디바이스 드라이버등은 모두 DLL로 구성되어 있다. 실제로 Windows 하의 프로그래밍 환경에서 DLL과 완전히 별개인 어플리케이션은 존재할 수 없다. 우리가 Windows API가 DLL을 호출하는 것은 당연한 것이라 치고, VCL 역시 DLL 위에서 구성된 것이다. 심지어 DLL이 깨어.. 2023. 6. 22.
DLL(Dynamic-link library)란 (1) DLL(Dynamic-link library)란 (1) DLL은 단지 procedure와 function만을 외부에 제공할 수 있다. DLL이 procedure 나 function의 연결점을 외부에 제공하는 것을 export라고 한다. 실행파일에서 DLL의 procedure나 function의 연결점에 연결하는 것은 import라고 부른다. DLL 을 이용하기 위해서는 반드시 DLL의 export된 procedure나 fuction중 사용하고자 하는 것을 import하여야 한다. import는 아주 간단하다. 일반 procedure나 function의 선언에서 stdcall, external, name등의 키워드들을 추가로 사용하면 그만이다. 예를들어, Windows API중 "user32.dll"에 들.. 2023. 6. 21.
Windows 운영 체제 버전 및 빌드 정보 Delphi로 알아내기 Windows 운영 체제 버전 및 빌드 정보 Delphi로 알아내기 Delphi는 Object Pascal을 사용하는 통합 개발 환경으로, Windows API를 활용하여 시스템 정보를 얻을 수 있습니다. 아래에는 Delphi에서 Windows 시스템 정보를 가져오기 위한 샘플 소스 코드와 해당 내용을 상세히 설명해 드리겠습니다. uses Windows, SysUtils; function GetSystemInfo: string; var OSVersionInfo: TOSVersionInfo; ComputerName: array[0..MAX_COMPUTERNAME_LENGTH] of Char; ComputerNameLen: DWORD; begin // 운영 체제 정보 가져오기 OSVersionInfo.dwO.. 2023. 6. 19.
시스템 정보 가져오기 시스템 정보 가져오기 델파이에서는 GetSystemInfo 함수를 사용하여 시스템 정보를 가져올 수 있습니다. 이 함수를 통해 프로세서, 메모리, 페이지 파일 및 기타 시스템 리소스에 대한 정보를 얻을 수 있습니다. 아래의 예제는 GetSystemInfo 함수를 사용하여 시스템 정보를 가져오는 방법을 보여줍니다. program SystemInfoExample; {$APPTYPE CONSOLE} uses Windows; procedure GetSystemInformation; var systemInfo: TSystemInfo; begin // 시스템 정보 가져오기 GetSystemInfo(systemInfo); // 시스템 정보 출력 Writeln('시스템 정보:'); Writeln('-----------.. 2023. 6. 15.
메모(TMemo) 팁 TMemo 팁 델파이에서 TMemo는 텍스트 기반 멀티라인 에디트 컨트롤입니다. 이 컨트롤을 사용하면 사용자가 여러 줄의 텍스트를 입력하고 편집할 수 있습니다. TMemo는 다양한 속성과 이벤트를 제공하여 텍스트의 표시 및 편집을 제어할 수 있습니다. 일반적으로 TMemo 컨트롤은 대화형 애플리케이션에서 텍스트 입력 또는 출력에 사용됩니다. 예를 들어, 사용자가 메모를 작성하거나 텍스트 문서를 편집하는 등의 작업에 유용합니다. TMemo의 중요한 속성 중 일부는 다음과 같습니다 Lines Lines 속성은 TMemo에 표시되는 텍스트의 줄 목록을 나타냅니다. 이 속성을 통해 텍스트를 프로그래밍 방식으로 설정하거나 읽을 수 있습니다. Text Text 속성은 TMemo의 전체 텍스트 내용을 가져오거나 설정.. 2023. 6. 14.
런타임시에 컴퍼넌트 이동,크기조절 런타임시에 컴퍼넌트 이동,크기조절 PostMessage( Panel1.Handle, WM_SYSCOMMAND, $F012, 0 ); 여기서, $F012 대신에 아래와 같은 값들을 써보세요. $F001 ; 우측 고정 리사이징 $F002 ; 좌측 고정 리사이징 $F003 ; 하단(only) 고정 리사이징 $F004 ; 우하단(only) 고정 리사이징 $F005 ; 좌하단(only) 고정 리사이징 $F006 ; 상단(only) 고정 리사이징 $F007 ; 우상단(only) 고정 리사이징 $F008 ; 좌상단(only) 고정 리사이징 $F009 ; 이동 $F012 ; 이동 2023. 6. 13.
델파이 객체지향이란?(2) 델파이 객체지향이란?(2) 1. Object의 기본 개념 Object는 데이타와 이와 관련된 procedure를 한데 묶어 표현한 소프트웨어 패키지이다. 이는 현실세계가 처리중심이 아닌 사물(객체 : Object)중심으로 이루어졌다는데에 바탕을 둔 것이다. 세포(cell)를 예로 들어 생각해 보자 세포는 핵, 키토콘드리아, 세포질, 세포막 등으로 이루어 졌는데, 이러한 세포의 구성 요소들에게는 각각의 역활이 주어져 있다. 그러나 다른 기관의 입장에서 살펴보자. 세포의 구성 요소들이 어떠한 일들을 하는지는 그다지 중요한 사실이 아니다. 단지 단백질이나 무기질을 세포내로 전달해 주면, 세포는 그것들을 가지고 자신의 임무만을 수행하면 되는 것이다. 세포내에 어떠한 구성원들이 있는지는 알 필요도 없고, 단지 세.. 2023. 6. 12.
클래스란? 클래스란? 클래스는 객체지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 코드의 재사용성과 유지 보수성을 향상시키는 데 도움을 줍니다. 델파이에서 클래스를 사용하면 더욱 효율적이고 구조화된 프로그램을 개발할 수 있습니다. 클래스란 무엇인가요? 클래스는 데이터와 그 데이터를 조작하는 메서드를 포함하는 하나의 개체(object)입니다. 클래스는 현실 세계의 객체를 모델링하며, 해당 객체의 특징과 동작을 정의합니다. 예를 들어, "사람" 클래스는 이름, 나이, 성별 등의 데이터와 "인사하다", "먹다" 등의 동작을 가질 수 있습니다. 클래스의 구성 요소 클래스는 속성(프로퍼티)과 동작(메서드)으로 구성됩니다. 속성은 클래스의 데이터를 나타내며, 동작은 데이터를 조작하고 사용하는 방법을 정의합니다. 이러한 구성.. 2023. 6. 5.
StringGrid의 Cell에 입력 값 제한 StringGrid의 Cell에 입력 값 제한 하기 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; procedure StringGrid1DrawCell(Sender: TObject; Col, Row: Integer; Rect: TRect; State: TGridDrawState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; tmpText, cellText.. 2023. 6. 2.
델파이 속성(Property) 이해하기 객체 지향 프로그래밍에서의 활용과 장점 델파이 속성(Property) 이해하기 객체 지향 프로그래밍에서의 활용과 장점 델파이(Delphi)는 Object Pascal을 기반으로 한 강력한 프로그래밍 언어로, 객체 지향 프로그래밍(OOP)을 지원하는 대표적인 언어 중 하나입니다. OOP는 코드의 재사용성, 유지 보수성 및 가독성을 향상시키기 위한 강력한 개념을 제공합니다. 이 중 하나인 속성(Property)은 객체 지향 프로그래밍에서 중요한 개념으로, 이번 포스팅에서는 델파이의 속성에 대해 자세히 알아보겠습니다. 속성(property) 한 클래스에서 속성(property)은 그 클래스의 정적인 특성을 나타냅니다. 사람을 예로 든다면 이름, 키, 몸무게, 성별, 생년월일 등과 같은 것이 사람 을 나타내는 속성이 될 수 있습니다. 이 속성은 한 .. 2023. 6. 1.
델파이 객체지향이란? 델파이 객체지향이란 안녕하세요 ^^ ​ OOP, 즉 객체지향이라는 말 많이 들어보셨죠? 저는 델을 1년정도 사용했는데 따지고 보니깐, 델파이가 객체지향 파스칼이라는걸 알면서도 그저 파스칼의 기본 문법만을 가지고 프로그래밍했던 것같아요. ​ 객체지향이라는 향상된 개념을 마다하고 도스에서 C를 쓰듯이 생각없이 짜다보니 어휴... 1000줄만 넘어가면 이게 무슨 말인지... 도스에서도 C++컴파일러를 이용하기는 했지만 그저 C++을 빙자한 C프로그램을 했던것 같아요... 요즘 깨달았죠.. 개념자체를 바꿔야겠다고... 그리고 결심했죠... 객체지향적인 프로그램을 짜자고... ​ 하지만 도대체 객체지향이란 무엇인지? 출간되는 책들을 보면 보통 객체지향 언어의 사용법에 대한 책들만 있지 개념자체를 설명해주는 책은 .. 2023. 5. 31.
좋은 빔프로젝터 고르기 좋은 빔프로젝터 고르기 해상도와 밝기 확인 해상도는 영상의 선명도를 결정하며, 밝기는 영상이 얼마나 선명하고 선명하게 표시되는지를 나타냅니다. 좋은 빔 프로젝터를 선택할 때는 해상도와 밝기를 주의 깊게 살펴보고, 예산 내에서 최고의 성능을 제공하는 모델을 선택하는 것이 중요합니다. 연결 옵션과 호환성 검토 빔 프로젝터를 사용하기 전에 어떤 기기와 연결할 수 있는지 확인해야 합니다. HDMI, VGA, USB 등 다양한 연결 옵션을 지원하는 빔 프로젝터를 선택하는 것이 좋습니다. 또한, 컴퓨터, 노트북, 스마트폰, 태블릿 등 다양한 기기와 호환되는지도 확인해야 합니다. 수명과 내구성 평가 빔 프로젝터는 장시간 사용되므로 내구성이 중요합니다. 제품의 수명을 확인하고, 사용자 리뷰 및 평가를 참고하여 내구성이.. 2023. 5. 28.
포스트맨(Postman) API 개발 및 테스트 포스트맨(Postman) API 개발 및 테스트 포스트맨 API 개발 및 테스트를 위한 인기있는 도구입니다. API는 응용 프로그램 간에 데이터를 교환하기 위한 인터페이스로, 웹 서비스, 모바일 앱, 서버 등 다양한 시스템 간의 통신을 가능하게 합니다. 포스트맨은 개발자가 API를 개발, 테스트, 문서화 및 공유할 수 있도록 도와주는 기능을 제공합니다. 포스트맨은 사용하기 쉽고 강력한 기능을 갖춘 인기 있는 API 개발 도구입니다. 주요 기능은 다음과 같습니다: API 요청 및 응답 관리 포스트맨은 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 API 요청을 보낼 수 있습니다. 요청 헤더, 본문 및 매개변수를 설정하고, 응답을 확인할 수 있습니다. 테스트 자동화 포스트맨.. 2023. 5. 26.
맥북에어 2023 vs 이전 모델 비교 분석 맥북에어 2023 vs 이전 모델 비교 분석 소 개 맥북에어는 Apple의 인기 있는 노트북 시리즈 중 하나입니다. 매년 업데이트되는 최신 모델은 이전 모델보다 발전된 기능과 성능을 제공합니다. 이 포스팅에서는 맥북에어 2023 모델과 이전 모델 사이의 주요 차이점을 비교하고, 새로운 모델의 개선 사항을 살펴보겠습니다. 디자인 맥북에어 2023은 얇고 경량한 디자인을 유지하면서도, 더욱 향상된 내구성을 제공합니다. 새로운 모델은 새로운 색상 옵션과 함께 제공되어 사용자에게 더 많은 선택권을 제공합니다. 성능 맥북에어 2023은 최신 프로세서와 그래픽 카드를 탑재하여 이전 모델보다 더 빠른 작업 및 멀티태스킹을 가능하게 합니다. 더 큰 메모리 용량과 빠른 속도의 저장 장치가 제공되어 파일 관리 및 데이터 .. 2023. 5. 23.
윈도우10(Windows10) 다크모드 변경방법 윈도우10(Windows10) 다크모드 변경방법 제어판으로 들어간다!!!!!!!!! Windows 10에서 다크 모드를 변경하는 방법은 다음과 같습니다: 시작 메뉴를 열고 "설정"을 선택합니다. "개인화"를 클릭합니다. "색상" 탭으로 이동합니다. "색상 선택" 드롭다운 메뉴에서 "어두운"을 선택합니다. "선택한 앱 모드" 아래에 있는 "어두운" 옵션을 선택합니다. 설정 창을 닫고 변경 사항이 적용되었는지 확인합니다. 위의 단계를 따라가면 윈도우 10의 다크 모드로 변경할 수 있습니다. 이를 통해 앱, 탐색기 및 기타 인터페이스 요소가 어둡게 표시됩니다. ​ 2023. 5. 18.
Windows FTP 설정하기(IIS) Windows FTP 설정하기(IIS) 이 글은 윈도우에서 IIS(인터넷 정보서비스, 이하 IIS)를 통해 FTP를 구축하는 과정을 정리합니다. Windows FTP서버는 FTP가 설정된 컴퓨터가 전원이 켜있는 상태에서만 이용가능하며 원격지에서 컴퓨터 전원관리를 위해서는 이글을 통해 WOL 기능을 활용하시길 바랍니다. 제어판에서 IIS - FTP 기능을 켭니다. FTP로 사용할 폴더를 생성합니다. 시작 - 모든 프로그램 - Windows 관리 도구에서 IIS 관리자를 실행합니다. IIS에서 사이트에 오른쪽 클릭 후 FTP 사이트 추가를 진행합니다. FTP 사이트 이름과 위에서 생성한 FTP 실제 폴더 경로를 설정합니다. IP 주소는 기본 IPv4 주소나 지정하지 않은 기본 호스트주소로 설정하고 포트도 기.. 2023. 5. 17.