Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

DelphiÖÐʹÓÃDirectX½ØÆÁº¯Êý


ת×Ô£ºhttp://www.52delphi.com/List.asp?ID=597&Page=1
¡¡¡¡ºËÐÄÌáʾ£ºº¯ÊýÐèÒª uses Direct3D9,D3DX9; żȻ·¢ÏÖÒ»¸öº¯Êý¿ÉÒÔÖ±½Ó±£´æ±íÃæµ½Îļþ1£¡ËùÒÔÐÞ¸ÄÁËһϣ¬º¯ÊýΪ£º...
procedure CaptureScreen(Const FileName: string);
var
BitsPerPixel: Byte;
pD3D: IDirect3D9;
pSurface: IDirect3DSurface9;
g_pD3DDevice: IDirect3DDevice9;
D3DPP: TD3DPresentParameters;
ARect: TRect;
LockedRect: TD3DLockedRect;
BMP: TBitmap;
i, p: Integer;
begin
BitsPerPixel := GetDeviceCaps(Canvas.Handle, BITSPIXEL);
FillChar(d3dpp, SizeOf(d3dpp), 0);
D3DPP.Windowed := True;
D3DPP.Flags := D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
D3DPP.SwapEffect := D3DSWAPEFFECT_DISCARD;
D3DPP.BackBufferWidth := Screen.Width;
D3DPP.BackBufferHeight := Screen.Height;
D3DPP.BackBufferFormat := D3DFMT_X8R8G8B8;
pD3D := Direct3DCreate9(D3D_SDK_VERSION);
pD3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, GetDesktopWindow,
    D3DCREATE_SOFTWARE_VERTEXPROCESSING, @D3DPP, g_pD3DDevice);
g_pD3DDevice.CreateOffscreenPlainSurface(Screen.Width, Screen.Height, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, pSurface, nil);
g_pD3DDevice.GetFrontBufferData(0, pSurface);
// use D3D to save surface. Notes: D3DX%ab.dll is required!
// D3DXSaveSurfaceToFile('Desktop.bmp', D3DXIFF_BMP, pSurface, nil, nil);
// use Bitmap to save surface
ARect := Screen.DesktopRect;
pSurface.LockRect(LockedRect, @ARect, D3DLOCK_NO_DIRTY_UPDATE or D3DLOCK_NOSYSLOCK or D3DLOCK_READONLY);
BMP := TBitmap.Create;
BMP.Width := Screen.Width;
BMP.Height := Screen.Height;
case BitsPerPixel of
    8: BMP.PixelFormat := pf8bit;
    16: BMP.PixelFormat := pf16bit;
    24: BMP.PixelFormat := pf24bit;
    32: BMP.PixelFormat := pf32bit;
end;
p := Cardinal(LockedRect.pBits);
for i := 0 to Screen.Height - 1 do
    begin
      CopyMemory(BMP.ScanLine[i], Ptr(p), Screen.Width * BitsPerPixel div 8);
     


Ïà¹ØÎĵµ£º

DelphiµÚÈý·½¿Ø¼þ°²×°Ð¶ÔØÖ¸ÄÏ


DelphiµÚÈý·½¿Ø¼þ°²×°Ð¶ÔØÖ¸ÄÏ
 
»ù±¾°²×°
1¡¢¶ÔÓÚµ¥¸ö¿Ø¼þ£¬Componet-->install component..-->PAS»òDCUÎļþ-->install;
2¡¢¶ÔÓÚ´ø*.dpkÎļþµÄ¿Ø¼þ°ü£¬File-->Open(ÏÂÀ­Áбí¿òÖÐÑ¡*.dpk)-->install¼´¿É£»
3¡¢¶ÔÓÚ´ø*.bplÎļþµÄ¿Ø¼þ°ü£¬Install Packages-->Add-->bplÎļþÃû¼´¿É£»
4¡¢Èç¹ ......

DelphiÖнØÈ¡ÎļþÃû

DelphiÖнØÈ¡ÎļþÃû²»º¬ºó׺²¿·Ö ÊÕ²Ø
µ±ÎļþÃûº¬ÓÐÖÐÎÄʱ£¬²»ÄÜÖ±½ÓÓÃLeftStr(FileName, Length(FileName - 4))»òÕßÓÃPosÀ´¶¨Î»"."µÄλÖÃÀ´»ñÈ¡¡£ÒòΪÖÐÎÄÒ»¸ö×Ö·ûÏ൱ÓëÁ½¸öÓ¢ÎÄ×Ö·û¡£ÕâÑù½ØÈ¡ÍùÍù»¹ÊÇ°ÑÕû¸öFileName¶¼½ØÏÂÀ´ÁË¡£
Ó¦µ±Ê¹ÓÃCopyº¯Êý£¬ÈçÏ£º
TmpFileLength := Pos(extFile, FileName); TmpFileName := ......

¡¶Delphi Ëã·¨ÓëÊý¾Ý½á¹¹¡·: ¹ØÓÚ const

Èç¹û²ÎÊýÔÚº¯ÊýÖв»¿ÉÄÜÐÞ¸Ä, Ò»¶¨ÒªÊ¹Óà const;
²»È», ±àÒëÆ÷¾Í»á:
¼Ù¶¨ÏÈÐÞ¸Ä, ÏÈÒª±¸·Ý; ʹÓÃÇ°ºóÒªÔö¼õÒýÓüÆÊý; »¹ÒªÌ×ÉÏ try finally.
Ö¸¶¨ÁË const ¾Í¿ÉÒÔ±ÜÃâÒÔÉϹý³Ì´Ó¶øÌá¸ßЧÂÊ.
unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs ......

ÓÃDelphi¿ª·¢JNI(Java+Native+Interface)Ó¦ÓÃ

JNI(Java+Native+Interface£¬Java±¾µØ½Ó¿Ú)¼¼Êõ´ó¼Ò¶¼²»Ä°Éú£¬Ëü¿ÉÒÔ°ïÖú½â¾öJava·ÃÎʵײãÓ²¼þµÄ¾ÖÏÞºÍÖ´ÐÐЧÂʵÄÌá¸ß¡£¹ØÓÚJNIµÄ¿ª·¢£¬´ó¶àÊý×ÊÁÏÌÖÂ۵Ķ¼ÊÇÈçºÎÓÃC/C++ÓïÑÔ¿ª·¢JNI£¬ÉõÖÁÓÚJDKÒ²ÌṩÁËÒ»¸öjavah¹¤¾ßÀ´×Ô¶¯Éú³ÉCÓïÑÔ³ÌÐò¿ò¼Ü¡£µ«ÊÇ£¬¶ÔÓÚ¹ã´óµÄDelphi³ÌÐòÔ±À´Ëµ£¬ÄѵÀ¾Í²»ÄÜÓÃ×Ô¼ºÏ²°®µÄDelphiÓëJava»¥Í¨Ïû ......

Delphi ͨ¹ýMSHTMLʵÏÖÒ»¸öHTML½âÎöÀà

×î½ü¾­³£»áÄ£ÄâÍøÒ³Ìá½»·µ»ØÍøÒ³Ô´Â룬Ȼºó»ñµÃÍøÒ³ÖÐÏàÓ¦µÄÔªËØ£¬ÓÚÊÇÐèÒª³£³£½âÎöHtmlÖÐÏàÓ¦µÄ¸÷ÖÖÔªËØ£¬ÍøÂçÊǸöºÃ¶«Î÷£¬ËÑË÷Ò»·¬£¬¾ÍÕÒµ½ÁË
ºÃ¼¸¸öDelphi°æ±¾µÄHtmlParserµÄÀà¿â£¬ÊÔ×ÅʹÓÃÁ˼¸¸ö£¬·¢ÏÖ½âÎöÆðÀ´¶¼²»ÍêÕû£¬»ò¶à»òÉٵĻسöÏÖһЩÎÊÌ⣡ÓÚÊÇÏëµ½ÁËÈç¹û½çÃæÉÏÓÐÒ»¸öä¯
ÀÀÆ÷£¬ÎÒÃÇ¿ÉÒÔͨ¹ýWebBrowserµÄDocu ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ