새로운 Windows 프로그래밍 언어인 Delphi는 뛰어난 기능이 많기 때문에 프로그래머와 매니아들의 선호가 점점 더 커지고 있습니다. 다음 10가지 팁은 광범위한 주제를 다루고 있으며 Delphi 매니아들에게 도움이 되기를 바랍니다.
1. vb와 유사합니다. doevents가 작동합니다.
Delphi에는 vb와 동등한 기능이 없다는 것을 알 수 있습니다. doevents 기능이 작동하므로 Windows가 동시에 여러 이벤트에 응답하도록 할 수 없는 경우가 있습니다. 실제로 Delphi의 애플리케이션 개체에는 PRocessMessage와 같은 유사한 메서드가 포함되어 있습니다. VB처럼 완료하려면 ProcessMessage를 사용하세요. NET의 doevent와 동일한 기능입니다.
2. Delphi에서 NetscapeNavigator를 호출합니다.
인터넷이 대중화되면서 Delphi 프로그램에서 Netscape 브라우저를 시작하고 지정한 WWW 주소의 홈페이지를 표시하는 것에 대해 생각해 본 적이 있습니까? 다음 프로그램은 이 기능을 수행할 수 있습니다.
프로그램넷스케이프;
DDEMan을 사용합니다.
절차Go??toURL(sURL: 문자열);
var
dde:TDDEClientConv;
시작하다
dde:=TDDEClientConv. 생성(nil);
철회하다
시작하다
//넷스케이프의 위치를 지정합니다. exe
ServiceApplication:=′c: s32program etscape. exe';
//NetscapeNavigator를 활성화합니다.
SetLink('넷스케이프', 'WWW-활성화');
요청데이터('0xFFFFFFFF');
//지정된 URL로 이동
SetLink('넷스케이프', 'WWW-OpenURL');
RequestData(sURL+′,,0xFFFFFFFF,0x3,,,′);
닫기링크;
끝;
ㅋㅋㅋ 무료;
끝;
시작하다
GotoURL('http://www.yahoo.com/');
끝.
3. 형식화된 정수 출력.
상대적으로 큰 숫자는 출력 시 읽기 어렵게 나타납니다. 다음과 같이 Delphi에서 섹션 표시로 숫자를 표시하는 것은 매우 간단합니다. 캡션: ΚFormatFloat('#', 524667500).
4. 컴파일 타임에 힌트를 얻으세요.
Delphi2.0에서는 컴파일할 때 어떤 변수가 선언되었지만 사용되지 않았는지와 같은 몇 가지 힌트를 알려달라고 컴파일러에 요청할 수 있습니다. 우리는 메뉴 옵션을 통해 Delphi에서 이 작업을 수행할지 여부를 제어할 수 있다는 것을 알고 있습니다. 하지만 특별한 요구 사항으로 인해 지정된 코드 세그먼트에서 사용자에게 메시지를 표시하기 위해 Delphi만 필요한 경우에는 어떻게 해야 할까요? 다음 절차를 참조하십시오.
{$힌튼}
절차Tform1. Button1Click(보내는 사람: TObject);
var
X: 정수;
시작하다
끝;
{$힌트오프}
5. Windows95 배경화면을 변경하세요.
델파이에서는 배경화면을 쉽게 변경할 수 있습니다. 다음 절차를 참고하세요.
절차ChangeIt;
var
등록:TregIni파일;
시작하다
등록:ΚTRegIni파일. 생성('제어판')
;
등록. WriteString('데스크탑', '벽지',
'c: pwin95forest. bmp');
등록. WriteString('데스크탑', '타일벽지
','1');
등록. 무료;
SystemParametersInfo(SPI-SETDESKWALLPAPER, 0
, 없음, SPIF-SENDWININICHANGE);
끝;
6. 파일이 마지막으로 사용된 날짜를 가져옵니다.
Win95에는 파일에 마지막으로 액세스한 날짜를 가져오는 새로운 기능이 있습니다. 유명한 CleanSweapforWin95 소프트웨어는 파일이 자주 액세스되는지 여부를 판단하는 기초 중 하나로 이 기능을 사용합니다. 델파이에서는 다음 프로그램을 통해 이 기능을 구현할 수 있습니다.
functionGetFileLastaccessTime(sFileName:string):TDate??Time;
var
ffd:TWin32FindData;
dft:DWord;
왼쪽:TFileTime;
h: THandle;
시작하다
//파일정보 가져오기
h:Κ윈도우. FindFirstFile(PChar(sFileName), ffd);
if(INVALID―HANDLE―VALUEΙΛh) then
시작하다
//우리는 단 하나의 파일을 찾고 있습니다. 그래서cloSE우리의 "찾기"
윈도우. 찾기닫기(h);
//FILETIME을 로컬FILETIME으로 변환합니다.
FileTimeToLocalFileTime(ffd.ftLastAccessTime, lft);
//FILETIME을DOS시간으로 변환
FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo);
//마지막으로 델파이의 기본 날짜/시간 함수에서 사용하기 위해 DOStime을 TDateTime으로 변환합니다.
결과: ΚFileDateToDateTime(dft);
끝;
끝;
GetFileLastAccessTime()은 Delphi의 TdateTime 형식으로 지정한 파일의 마지막 액세스 날짜를 반환합니다.
7. 다채로운 라벨.
우리는 델파이가 제공하는 단순한 라벨에 더 이상 만족하지 않습니다. 성능 역량을 강화하기 위해 라벨에 다양한 글꼴과 색상을 사용할 수 있습니까? 대답은 '그렇다'이며, 제3자가 제공하는 컨트롤은 필요하지 않습니다. 단지 Delphi 자체에서 제공하는 TRichEdit을 영리하게 사용하면 됩니다. 먼저 TRichEdit 컨트롤의 테두리(RichEd??it1)를 제거합니다. BorderStyle: ΚbsNone; 또한 읽기 전용 속성을 true로 설정합니다: RichEd??it1. ReadOnly: ΚTrue; 그런 다음 write와 같은 소프트웨어를 사용하여 다음 명령문을 통해 표시할 수 있는 RichText 형식의 텍스트를 생성합니다.
리치편집1. 일반 텍스트:ΚFalse;
리치편집1. 윤곽. LoadFromFile(′c: est.rtf′);
8. Win95에서 심각한 오류가 표시되는 것을 방지하는 방법.
프로그램을 어떻게 반복적으로 디버깅하더라도 사용자에게 전달한 후에는 예상치 못한 오류가 발생할 수 있습니다. Win95가 흰색 창을 표시하고 사용자에게 당혹스러운 예상치 못한 오류가 발생했음을 알리는 것을 방지하는 방법은 무엇입니까? 우리는 이것을 할 수 있습니다:
var
wOldError??모드: 단어;
시작하다
//tellwin??중요한 오류를 무시하고 현재 저장??렌트오류 모드를 저장합니다.
wOldError??모드: ΚSetEr??rorMode(SEM-FAILCRITI??CALERRORS);
노력하다
//중요한 오류를 생성할 수 있는 코드는 여기에 있습니다. . .
마지막으로
//이전 오류 모드로 돌아가기
SetErrorMode(wOldErrorMode);
끝;
끝;
이 기능을 완료하려면 주로 SetErrorMode()를 사용하십시오.
9. 방금 마우스로 클릭한 개체는 무엇입니까?
Win95에서는 마우스의 오른쪽 버튼이 큰 역할을 하지만, 역사적인 이유로 인해 Delphi에서도 오른쪽 버튼의 사용이 충분히 효과적이지 않습니다. 다음 프로그램은 개체의 이름을 아는 방법을 알려줍니다. 방금 마우스 오른쪽 버튼을 클릭했습니다. 먼저 팝메뉴를 생성하면 다음 코드를 통해 방금 마우스 오른쪽 버튼을 클릭한 개체의 이름을 알 수 있습니다. Popup??Menu1. PopupComponent. 클래스명.
10. CD-ROM이나 다른 디스크가 변경되었는지 확인하십시오.
CD-ROM이나 디스크가 변경되었는지 확인하는 가장 간단한 방법은 볼륨 번호를 확인하는 것입니다. 다음 함수를 사용하면 디스크의 볼륨 시리즈 번호 GetDiskVolSerialID('E')를 반환할 수 있습니다.
functionGetDiskVolSerialID(cDriveName: char): DWord;
var
dwTemp1, dwTemp2:DWord;
시작하다
GetVolumeInformation(PChar(cDriveName+′:′), Nil, 0, ΝResult, dwTemp2, dwTemp2, Nil, 0);
끝;