شهریور ماه 87 - کدهای آماده دلفی افزایش بازدید - افزایش بازدید و ترافیک سایت شما
سفارش تبلیغ
صبا ویژن
خداوند، عبادت پیشه پاکیزه را دوست دارد. [رسول خدا صلی الله علیه و آله]
کدهای آماده دلفی

 

این کد باعث می شود که پنجره های زیرین نیز دیده شوند.تنظیم درصد شفافیت نیز با شماست.

در قسمت Wnd . باید Handle فرم را بدهید.مثلا MakeWndTrans(Form1.Handle,50)?

 

function MakeWndTrans(Wnd: HWND; nAlpha: Integer = 10): Boolean;
type
  TSetLayeredWindowAttributes = function(hwnd: HWND; crKey: COLORREF; bAlpha: Byte;
    dwFlags: Longint): Longint; stdcall;
const
  // Use crKey as the transparency color.
  LWA_COLORKEY = 1;
  // Use bAlpha to determine the opacity of the layered window..
  LWA_ALPHA = 2;
  WS_EX_LAYERED = $80000;
var
  hUser32: HMODULE;
  SetLayeredWindowAttributes: TSetLayeredWindowAttributes;
  i : Integer;
begin
  Result := False;
  // Here we import the function from USER32.DLL
  hUser32 := GetModuleHandle("USER32.DLL");
  if hUser32 <> 0 then
  begin
    @SetLayeredWindowAttributes := GetProcAddress(hUser32,"SetLayeredWindowAttributes");
    // If the import did not succeed, make sure your app can handle it!
    if @SetLayeredWindowAttributes <> nil then
    begin
      // Check the current state of the dialog, and then add the WS_EX_LAYERED attribute
      SetWindowLong(Wnd, GWL_EXSTYLE, GetWindowLong(Wnd, GWL_EXSTYLE) or WS_EX_LAYERED);
      // The SetLayeredWindowAttributes function sets the opacity and
      // transparency color key of a layered window
      SetLayeredWindowAttributes(Wnd, 0, Trunc((255 / 100) * (100 - nAlpha)), LWA_ALPHA);
      Result := True;
    end;
  end;
end;



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:48 عصر

 

این کد تمام کلیدهای کی برد را می فشارد (مجازی) انتخاب کلید به صورت random است و هر ثانیه هزار بار این اتفاق روی میدهد.در این صورت رایانه قطعا هنگ می کند.با این کار ماشین حساب ویندوز و تمام نرم افزار های ویندوز اجرا می شود(از هر کدام صدها بار)

یک Timer بگذارید.Interval آن را برابر ? بگذارید.دو بار روی آن کلیک کرده و از کد زیر استفاده کنید:

 
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Timer1: TTimer;
    procedure Button1Click(Sender: T);
    procedure Timer1Timer(Sender: T);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses Math;

{$R *.dfm}
procedure x(key:byte;e:DWORD);
 begin
 keybd_event(key,e,0,0);
 keybd_event(key,e,KEYEVENTF_KEYUP,0);
end;

procedure TForm1.Timer1Timer(Sender: T);
begin
 a:=Random(3945);
  x(a,1);
end;

end.



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:47 عصر

 

با این کد شما می توانید تشخیص دهید که آیا موس به رایانه ی شما متصل است یا نه.
فقط یک دکمه و یک Label در فرم قرارا دهید و برای رویداد دکمه کد زیر را تعریف کنید.

procedure TForm1.Button1Click(Sender: T);
begin

if GetSystemMetrics(SM_MOUSEPRESENT)<>0 then
 Label1.Caption:="Mouse is Connect"
else Label1.Caption:="Mouse is Not Connect";
end;



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:46 عصر

 

با این کد Windir به آدرس دایرکتوری ویندوز تبدیل می شود.


procedure TForm1.Button1Click(Sender: T);
var
  WinDir: array[0..255] of Char;
begin
  GetWindowsDirectory(WinDir, MAX_PATH);
end;



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:46 عصر

 

این کد به نمایشگر نقطه ی موس اجازه نمی دهد که از کادر فرم خارج شود. این کد را در OnActivate فرم قرار دهید:

procedure TForm1.FormActivate(Sender: T);
var
 Po :TPoint;
 a:TRect;
begin
a := ClientRect;
 with a do begin
  po := ClientToScreen(Point(Left,Top)) ;
  Left := Po.X;
  Top  := Po.Y ;
  Po := ClientToScreen(Point(Right,Bottom)) ;
  Right  := Po.X;
  Bottom := Po.Y;
 end;
  ClipCursor(@a);
end;



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:45 عصر

 

این کد تنها از فرم عکس می گیرد.کد بسیار جالبی است.با یک کد کلیدی از فرم خود عکس بگیرید:

  GetFormImage.SaveToFile("c:\Form.bmp");

 



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:45 عصر



 

با این کد لیست فولدر های درون درایو یا فولدر دیگری را بیابید:

procedure GetSubDirs (Folder: string; sList: TStringList);
var
  sr: TSearchRec;
begin
  if
FindFirst (Folder + "*.*", faDirectory, sr) = 0 then
  try

    repeat
      if (sr.Attr and faDirectory) = faDirectory then
        sList.Add (sr.Name);
    until FindNext(sr) <> 0;
  finally
    FindClose(sr);
  end;
end;



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:43 عصر

نمایش پنجره Turn OFF ویندوز XP

یک دکمه بر روی فرم خود قرار دهید و از کد زیر استفاده کنید:

uses ComObj;

procedure TForm1.Button1Click(Sender: T);
var
  shell: Variant;
begin
  shell := CreateOle("Shell.Application");
  shell.ShutdownWindows;
end;



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:42 عصر

 

با قطعه کد زیر این کار را می توانید به راحتی انجام دهید:

 

uses ComObj,registry;

function HasCDRecorder: Boolean;
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  try
    // set the the Mainkey, bestimmt den Hauptschlüssel
    reg.RootKey := HKEY_CURRENT_USER;
    // Open a key, den Schlüssel ?ffnen
    reg.OpenKey("Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning", False);
    // Check if the Key exists, Uberprüfen ob die Zeichenfolge existiert
    Result := reg.ValueExists("CD Recorder Drive");
    // Close the key, Schlüssel schliessen
    reg.CloseKey;
  finally
    // and free the TRegistry , das TRegistry Objekt freigeben
    reg.Free;
  end;
end;

یک دکمه بر روی فرم خود قرار دهید و با کد زیرآن را آزمایش کنید:

procedure TForm1.Button1Click(Sender: T);
begin
if HasCDRecorder then
    ShowMessage("CD-Recorder available.")
else
    ShowMessage("CD-Recorder NOT available.");
end;



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:42 عصر

رندر کردن RTF در یک تصویر

با این کد یک RTF را در عکس بیاندازید.این کد RTF را همراه با تمام جزئیات (از قبیل رنگ .اندازه. شکل ) وارد تصویر می کند.

 

uses RichEdit;

function RTFtoBitmap(myRTF: TRichEdit; GiveSpaceForBorder: Integer): TBitmap;

var
  myRect: TRect;
  temp: TBitmap;
begin
  temp := TBitmap.Create;

  myRect := myRTF.ClientRect;
  // using this statement
  // myRect := Rect(0,0,MyRTF.Width,MyRTF.Height);

  temp.Width  := myRect.Right;
  temp.Height := myRect.Bottom;
  with temp.Canvas do
  begin 
    Lock; 
    try
      myRTF.Perform(WM_PRINT, Handle, PRF_CLIENT);
      //you can trying to change PRF_CLIENT with
      //PRF_CHILDREN or PRF_CLIENT or PRF_NONCLIENT or PRF_ERASEBKGND
      //or combine them. See what happen...

    finally
      Unlock
    end;
  end;

  Result := TBitmap.Create;
  Result := CreateEmptyBmp(clWhite,
    temp.Width + GiveSpaceForBorder * 2,
    temp.Height + GiveSpaceForBorder * 2);
  Result.Canvas.Lock;
  Result.Canvas.Draw(GiveSpaceForBorder, GiveSpaceForBorder, temp);
  Result.Canvas.Unlock;
  temp.Free;
end;


procedure MakeBorder(const bdr: TBitmap; BorderWidth: Integer; BorderColor: TColor);
begin
  with bdr.Canvas do
  begin
    Brush.Style := bsClear;
    pen.Width := BorderWidth;
    pen.Color := BorderColor;
    rectangle(BorderWidth - 1, BorderWidth - 1, bdr.Width, bdr.Height);
  end;
end;



محمد مقصودلو ::: چهارشنبه 87/7/24::: ساعت 1:42 عصر

   1   2   3      >

لیست کل یادداشت های این وبلاگ

>> بازدیدهای وبلاگ <<
بازدید امروز: 24
بازدید دیروز: 8
کل بازدید :87592

>> درباره خودم <<
کدهای آماده دلفی
محمد مقصودلو
در این وبلاگ سعی میکنم مطالب مربوط به برنامه نویسی دلفی ، پاسکال و گرافیک رایانه ای 2 بعدی و 3 بعدی را به روز کنم منتظر سوالات شما نیز هستم

>>تست سرعت تایپ<<

>> پیوندهای روزانه <<

>>فهرست موضوعی یادداشت ها<<

>>آرشیو شده ها<<

>>لوگوی وبلاگ من<<
کدهای آماده دلفی

>>لوگوی دوستان<<



>>اشتراک در خبرنامه<<
 

>>طراح قالب<<


>>ذکر روزهای هفته<<

>>جستجوگر وبلاگها<<

>>ساعت<<

>> اخبار فناوری<<

>>جدیدترین اس ام اس های اینترنت<<

>>فال حافظ<<

>>دیکشنری آنلاین<<
-

>>جک یا لطیفه<<

>>هواشناسی<<

>>تاریخ و ساعت<<
شنبه 103/2/15 ساعت 8:34 صبح