| MyTime.wMonth:=06;
MyTime.wDay:=01;
If not SetSystem(MyTime) then
Showmessage(‘Failure’);
End;
19. 复制文件夹Xcopy
. procedure Xcopy(SourceDir,DestinationDir:String); var Search : TSearchRec; Rec : word; Begin SourceDir := SourceDir + ''''\''''; Rec := FindFirst(SourceDir + ''''*.*'''', faAnyFile, Search); While Rec = 0 Do Begin If Search.Name[1] <> ''''.'''' Then Begin If (Search.Attr And faDirectory) = faDirectory Then Begin Windows.CreateDirectory(PChar(DestinationDir + ''''\'''' + Search.Name), nil); FileSetAttr(DestinationDir + ''''\'''' + Search.Name, FileGetAttr(SourceDir + ''''\'''' + Search.Name)); X_Copy(SourceDir + ''''\'''' + Search.Name, DestinationDir + ''''\'''' + Search.Name); end Else Begin CopyFile(PChar(SourceDir + ''''\'''' + Search.Name),PChar(DestinationDir + ''''\'''' + Search.Name), True); FileSetAttr(DestinationDir + ''''\'''' + Search.Name, FileGetAttr(SourceDir + ''''\'''' + Search.Name)); Application.ProcessMessages; end; end; Rec := FindNext(Search); end; FindClose(Search); end;
20. 绘制透明位图
procedure DrawTrans(DestCanvas: TCanvas; X,Y: smallint; SrcBitmap: TBitmap; AColor, BackColor: TColor);
var ANDBitmap, ORBitmap: TBitmap;
CM: TCopyMode;
Src: TRect;
begin
ANDBitmap:= NIL;
ORBitmap:= NIL;
try
ANDBitmap:= TBitmap.Create;
ORBitmap:= TBitmap.Create;
Src := Bounds(0,0, SrcBitmap.Width, SrcBitmap.Height);
with ORBitmap do begin
Width:= SrcBitmap.Width;
Height:= SrcBitmap.Height;
Canvas.Brush.Color := clBlack;
Canvas.CopyMode := cmSrcCopy;
Canvas.BrushCopy(Src, SrcBitmap, Src, AColor);
end;
with ANDBitmap do begin
Width:= SrcBitmap.Width;
Height:= SrcBitmap.Height;
Canvas.Brush.Color := BackColor;
Canvas.CopyMode := cmSrcInvert;
Canvas.BrushCopy(Src, SrcBitmap, Src, AColor);
end;
with DestCanvas do begin
CM := CopyMode;
CopyMode := cmSrcAnd;
Draw(X,Y, ANDBitmap);
CopyMode := cmSrcPaint;
Draw(X,Y, ORBitmap);
CopyMode := CM;
end;
finally
ANDBitmap.Free;
ORBitmap.Free;
end;
上一页 [1] [2] [3] 下一页 |