1. 프로그램이 예외를 올바르게 처리하도록 하려면 SysUtils.pas 유닛을 인용하십시오. 그렇지 않으면 프로그램이 try를 사용하더라도 마찬가지입니다. . . 제외하고. . . 예외도 올바르게 포착되지 않습니다. 2. 상수 문자열 리소스를 정의하는 방법 aa='aaaa';raise Exception.CreateRes(@aa); 3. 문자열 상수 배열 초기화 const constarray:array [0..2] of string=('first ', '두 번째','세 번째');4. 구조 초기화 유형 Tstructinit=record A1:integer:array [0..2]; 정수;End;Const m_structinit:Tstructinit=(A1:0;A2:(0,1,2));5. 다차원 배열의 길이 var array2:array of array of 정수;setlength(array2,2,2) ;6 .Create 및 New를 사용하여 열린 공간은 힙에 존재하며 자동으로 해제될 수 없습니다. 해제하려면 FreeAndNil을 사용하는 것이 좋습니다. 7. SizeOf는 객체에 적합하지 않으며 항상 4를 반환합니다. 고정 유형의 경우 올바르게 반환될 수 있습니다. 8. Create(nil)은 수동으로 해제되어야 하며 Create(self)는 소유자가 해제할 때 해제됩니다. 변경 사항이 변경되었습니다. 상수 PRocedure ChangeConst(const Const;var Value;Size:Integer);begin Move((@Value)^,(@Constant)^,Size);End;10의 값을 정의합니다. 삭제 작업을 수행할 때 루프에서 DownTo를 사용하면 오류가 발생하지 않습니다. 11. 한자의 Ascii 코드는 >128이며, 이는 한자인지 여부를 확인하는 데 사용할 수 있습니다. 12. dll을 작성할 때 사용해야 합니다. BORLANDMM.DLL 메모리 관리를 참조하기 위한 Sharemem 장치. 13. PostMessage는 메시지 대기열에만 메시지를 넣고 처리를 위해 대기열에 있어야 합니다. SendMessage는 메시지 대기열을 우회하고 창 프로시저로 직접 전송되며 메시지 처리 반환 값까지 반환되지 않습니다. 14. 마우스 이동 메시지: CM_MOUSEENTER, CM_MOUSELEAVE15 ThintWindow 및 클래스 메서드를 사용할 수 있습니다. 부동 양식을 생성하려면 힌트를 활성화하세요. 17. 파일 속성 대화 상자를 불러오려면 ShowFileProperties(FileName: String; Wnd: lp동사 := PAnsiChar('속성'); lpIDList := nil; nShow := 0; lpParameters := hIcon := 0; 0; lpClass := 종료; ShellExecuteEX(@sfi);end;procedure TForm1.Button1Click(Sender: TObject);begin ShowFileProperties('c:/AA.txt', Handle);end;18 시스템 시간 변경은 Windows,Dialogs,Forms;var MyTime을 사용합니다. : TsystemTime;begin FillChar(MyTime,sizeof(MyTime),#0); MyTime.wYear:=2003; MyTime.wDay:=01; 그렇지 않은 경우 SetSystem(MyTime) thenShowmessage('Failure') 19. Xcopy(SourceDir,DestinationDir: 끈);
var
검색: TSearchRec;
추천: 단어;
시작하다
SourceDir := SourceDir + '/';
Rec := FindFirst(SourceDir + '*.*', faAnyFile, 검색);
Rec = 0인 동안 Do
시작하다
Search.Name[1] <> '.'인 경우
시작하다
If (Search.Attr And faDirectory) = faDirectory Then
시작하다
Windows.CreateDirectory(PChar(DestinationDir + '/' + Search.Name), nil);
FileSetAttr(DestinationDir + '/' + 검색.이름, FileGetAttr(SourceDir + '/' + 검색.이름));
X_Copy(SourceDir + '/' + 검색.이름, DestinationDir + '/' + 검색.이름);
끝
또 다른
시작하다
CopyFile(PChar(SourceDir + '/' + 검색.이름), PChar(DestinationDir + '/' + 검색.이름), True);
FileSetAttr(DestinationDir + '/' + 검색.이름, FileGetAttr(SourceDir + '/' + 검색.이름));
애플리케이션.ProcessMessages;
끝;
끝;
Rec := FindNext(검색);
끝;
찾기닫기(검색);
끝;20. 투명한 비트맵 그리기 절차 DrawTrans(DestCanvas: TCanvas; ; ORBitmap:= NIL; try ANDBitmap:= TBitmap.Create;= TBitmap.Create; Src := Bounds(0,0, SrcBitmap.Width, SrcBitmap.Height); ORBitmap do start Width:= SrcBitmap.Height; .색상 := clBlack; Canvas.CopyMode := cmSrcCopy(Src, SrcBitmap, Src, AColor); end; 시작 Width:= SrcBitmap.Height; Canvas.Brush.Color := cmSrcInvert ; Canvas.BrushCopy(Src, SrcBitmap, Src, AColor); end; start CM := CopyMode := cmSrcAnd; CopyMode := cmSrcPaint := CM; ANDBitmap.Free; ORBitmap.Free; end;end;프로시저 TForm1.Button4Click(발신자: TObject);begin DrawTrans(Image1.Canvas, 0,0, Image2.Picture.Bitmap, clBlack, clSilver);end;21. CPU 속도 함수 가져오기 GetCpuSpeed: Extended;var t, mhi, mlo, nhi, nlo: dword ; shr32 : comp;shr32 시작 := 65536 := shr32 * 65536; t := GetTickCount; asm DB 0FH,031H // rdtsc mov mhi,edx mov mlo,eax end; while GetTickCount < (t + 1000) do ; nhi,edx mov nlo,eax end; ((nhi * shr32 + nlo) - (mhi * shr32 + mlo)) / 1E6;end;절차 TForm1.Button4Click(Sender: TObject);begin label1.Caption := FloatToStr(GetCpuSpeed) + 'mhz';end; 너무 많이 썼는데 앞으로는 차차 업데이트해서 추가하겠습니다.