بانک آموزشی

بانک آموزشی

نرم افزار - سخت افزار - طراحی - برنامه نویسی _ ویروس شناسی ...
بانک آموزشی

بانک آموزشی

نرم افزار - سخت افزار - طراحی - برنامه نویسی _ ویروس شناسی ...

یه لرزاننده فرم - shake Form

procedure WindowShake(wHandle: THandle) ;
const   MAXDELTA = 4;
        SHAKETIMES = 500;
   var
     oRect, wRect :TRect;
     deltax : integer;
     deltay : integer;
     cnt : integer;
     dx, dy : integer;
   begin
 
GetWindowRect(wHandle,wRect) ;
oRect := wRect;
Randomize;
   for cnt := 0 to SHAKETIMES do
     begin     deltax := Round(Random(MAXDELTA)) ;
    deltay := Round(Random(MAXDELTA)) ;
    dx := Round(1 + Random(2)) ;
     if dx = 2 then dx := -1;
     dy := Round(1 + Random(2)) ;
      if dy = 2 then dy := -1;
       OffsetRect(wRect,dx * deltax, dy * deltay) ;
MoveWindow(wHandle, wRect.Left,wRect.Top,wRect.Right - wRect.Left,wRect.Bottom - wRect.Top,true) ;
      end;

MoveWindow(wHandle, oRect.Left,oRect.Top,oRect.Right - oRect.Left,oRect.Bottom - oRect.Top,true) ;
end;

از کار انداختن Alt+F4 در برنامه

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

برای این کار باید کلیدهای ALT+F4 از کار بیفتد.

برای اینگونه عمل کنید:

در قسمت VAR در بالای قسمت IMPLEMENTATION یک متغییر به شکل زیر تعریف نمایید :

CV:BOOLEAN;

 در رویداد ON CLOSE QUERY این گونه بنویسید

CANCLOSE:=CV;

و در رویداد ONSHOW فر م اینگونه بنویسید

CV:=FALSE;

حال تا زمانی که این متغییر FALSE باشد فرم بسته نمیشود بنابراین در کلیدی که برای خروج تعریف مینمایید باید اینگونه عمل کنید

CV:=TRUE;

FORM.CLOSE;

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

Add Shellapi in uses then: => ابتدا -> ShellApi -> را به قسمت  -> Uses -> اضافه کنید

shellexecute(handle,'open','http://www.WOC.com',nil,nil,sw_show);

آیا کامپیوتر به شبکه متصل است؟

procedure TForm1.Button1Click(Sender: TObject);
begin
  if GetSystemMetrics(SM_NETWORK) and $01 = $01 then
    ShowMessage('Computer is attached to a network!')
  else
    ShowMessage('Computer is not attached to a network!');
end;

اتصال به SQL SERVER

ADOConnection1.ConnectionString

 := 'Server=Hostname;DataBase=DatabaseName
; ('  ADOConnection1.Open('UserName', 'Password
;  ADOConnection1.Connected
 := True

انتخاب مجموعه ای از رکوردها در DBGrid

طریقه انتخاب مجموعه ای از رکوردها در DBGrid  (فیلتر کردن رکوردهای انتحاب شده)

var
  x: Integer;
  BMList: array of TVarRec;
begin
  SetLength(BMList, dbgrid1.SelectedRows.Count);
  for X:=0 to dbgrid1.SelectedRows.Count - 1 do
  begin
    BMList[x].VType := vtPointer;
    BMList[x].VPointer := Pointer(dbgrid1.SelectedRows[x]);
    DataModule1.ADOTable1.GotoBookMark(BMList[x].VPointer);
  end;
  DataModule1.ADOTable1.FilterOnBookmarks(BMList);
end;

ایجاد خروجی از TDBGrid به قالب Excel

unit DBGridExportToExcel; 

interface 

uses 
  Windows, Messages, SysUtils, Classes, Graphics,

 Controls, Forms, Dialogs, 
  ExtCtrls, StdCtrls, ComCtrls, DB, IniFiles, Buttons, dbgrids

, ADOX_TLB, ADODB; 


type TScrollEvents = class 
       BeforeScroll_Event: TDataSetNotifyEvent; 
       AfterScroll_Event: TDataSetNotifyEvent; 
       AutoCalcFields_Property: Boolean; 
  end; 

procedure DisableDependencies(DataSet: TDataSet; 

var ScrollEvents: TScrollEvents); 
procedure EnableDependencies(DataSet: TDataSet;

 ScrollEvents: TScrollEvents); 
procedure DBGridToExcelADO(DBGrid: TDBGrid; FileName: string; 

SheetName: string); 


implementation 

//Support procedures: I made that in order to increase speed in 
//the process of scanning large amounts 
//of records in a dataset 

procedure DisableDependencies(DataSet: TDataSet; var

 ScrollEvents: TScrollEvents); 
begin 
     with DataSet do 
          begin 
               DisableControls; 
               ScrollEvents := TScrollEvents.Create(); 
               with ScrollEvents do 
                    begin 
                         BeforeScroll_Event := BeforeScroll; 
                         AfterScroll_Event := AfterScroll; 
                         AutoCalcFields_Property := AutoCalcFields; 
                         BeforeScroll := nil; 
                         AfterScroll := nil; 
                         AutoCalcFields := False; 
                    end; 
          end; 
end; 

procedure EnableDependencies(DataSet: TDataSet;

 ScrollEvents: TScrollEvents); 
begin 
     with DataSet do 
          begin 
               EnableControls; 
               with ScrollEvents do 
                    begin 
                         BeforeScroll := BeforeScroll_Event; 
                         AfterScroll := AfterScroll_Event; 
                         AutoCalcFields := AutoCalcFields_Property; 
                    end; 
          end; 
end; 

//This is the procedure which make the work: 

procedure DBGridToExcelADO(DBGrid: TDBGrid;

 FileName: string; SheetName: string); 
var 
  cat: _Catalog; 
  tbl: _Table; 
  col: _Column; 
  i: integer; 
  ADOConnection: TADOConnection; 
  ADOQuery: TADOQuery; 
  ScrollEvents: TScrollEvents; 
  SavePlace: TBookmark; 
begin 
  // 
  //WorkBook creation (database) 
  cat := CoCatalog.Create; 
  cat._Set_ActiveConnection('Provider=Microsoft.Jet.OLEDB.4.0; 

Data Source=' + FileName + ';Extended Properties=Excel 8.0'); 
  //WorkSheet creation (table) 
  tbl := CoTable.Create; 
  tbl.Set_Name(SheetName); 
  //Columns creation (fields) 
  DBGrid.DataSource.DataSet.First; 
  with DBGrid.Columns do 
    begin 
      for i := 0 to Count - 1 do 
        if Items[i].Visible then 
        begin 
          col := nil; 
          col := CoColumn.Create; 
          with col do 
            begin 
              Set_Name(Items[i].Title.Caption); 
              Set_Type_(adVarWChar); 
            end; 
          //add column to table 
          tbl.Columns.Append(col, adVarWChar, 20); 
        end; 
    end; 
  //add table to database 
  cat.Tables.Append(tbl); 

  col := nil; 
  tbl := nil; 
  cat := nil; 

  //exporting 
  ADOConnection := TADOConnection.Create(nil); 
  ADOConnection.LoginPrompt := False; 
  ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;

 Data Source=' + FileName + ';Extended Properties=Excel 8.0'; 
  ADOQuery := TADOQuery.Create(nil); 
  ADOQuery.Connection := ADOConnection; 
  ADOQuery.SQL.Text := 'Select * from [' + SheetName + '$]'; 
  ADOQuery.Open; 


  DisableDependencies(DBGrid.DataSource.DataSet, ScrollEvents); 
  SavePlace := DBGrid.DataSource.DataSet.GetBookmark; 
  try 
  with DBGrid.DataSource.DataSet do 
    begin 
      First; 
      while not Eof do 
        begin 
          ADOQuery.Append; 
          with DBGrid.Columns do 
            begin 
              ADOQuery.Edit; 
              for i := 0 to Count - 1 do 
                if Items[i].Visible then 
                  begin 
                    ADOQuery.FieldByName(Items[i].Title.Caption).

AsString := FieldByName(Items[i].FieldName).AsString; 
                  end; 
              ADOQuery.Post; 
            end; 
          Next; 
        end; 
    end; 

  finally 
  DBGrid.DataSource.DataSet.GotoBookmark(SavePlace); 
  DBGrid.DataSource.DataSet.FreeBookmark(SavePlace); 
  EnableDependencies(DBGrid.DataSource.DataSet, ScrollEvents); 

  ADOQuery.Close; 
  ADOConnection.Close; 

  ADOQuery.Free; 
  ADOConnection.Free; 

  end; 

end; 

end. 

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

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

خوب شروع می کنیم یک Button , یک Memo روی فرم بذارید و برای Button دستورات زیر را بنویسید. 

procedure TForm1.Button1Click(Sender: TObject);
var
SearchRec : TSearchRec;
Success : integer;
DT : TFileTime;
ST : TSystemTime;
begin
Memo1.Font.Name:='Tahoma';
Success := SysUtils.FindFirst('c:\Yahoo!\YPager.exe'{ اسم و آدرس فایل با پسوند },faAnyFile,SearchRec);
if (Success = 0) and
((SearchRec.FindData.ftLastAccessTime.dwLowDateTime <> 0 ) or
(SearchRec.FindData.ftLastAccessTime.dwHighDateTime <> 0 )) then
begin
FileTimeToLocalFileTime(SearchRec.FindData.ftLastAccessTime,DT);
FileTimeToSystemTime(DT,ST);
Memo1.Lines.Clear;
Memo1.Lines.Add('آخرین زمان و تاریخ دسترسی به فایل ');
Memo1.Lines.Add('سال = ' + IntToStr(ST.wYear));
Memo1.Lines.Add('ماه = ' + IntToStr(ST.wMonth));
Memo1.Lines.Add('روز از هفته= ' + IntToStr(ST.wDayOfWeek));
Memo1.Lines.Add('روز = ' + IntToStr(ST.wDay));
Memo1.Lines.Add('ساعت = ' + IntToStr(ST.wHour));
Memo1.Lines.Add('دقیقه = ' + IntToStr(ST.wMinute));
Memo1.Lines.Add('ثانیه= ' + IntToStr(ST.wSecond));
Memo1.Lines.Add('میلی ثانیه = ' +IntToStr(ST.wMilliseconds));
end;
SysUtils.FindClose(SearchRec);

end;

سری کامل کد های مخفی گوشی های نوکیا

 ممکن است بعضی از این کد ها در یک سری از گوشی ها اجرا نشود !!

#06#*
سریال نامبر گوشی را نشان میدهد ( IMEI )

#92702689#*
نمایش : سریال نامبر گوشی ، تاریخ ساخت ، تاریخ فروش ، تاریخ آخرین تعمیرات ( 0000 به معنای نداشتن تعمیر قبلی) برای خروج از این صفحه باید گوشی را خاموش و دوباره روشن کنید.

#3370*
با این کد شما از حالت EFR استفاده خواهید کرد که باعث میگردد از حداکثر کیفیت صدای گوشی برخوردار شوید اما در عوض مصرف باطری شما کمی بالاتر خواهد رفت

#3370#
حالت EFR را غیر فعال میسازد.

#4720#*
گوشی را در حالت کیفیت صدای پائین قرار میدهد و در عوض مصرف باطری شما درحدود 30 درصد کاهش میابد.

#4720#*
حالت قبل را غیر فعال میسازد.

#0000#* و یا #9999#*
ورژن سیستم عامل گوشی ، تاریخ ساخت نرم افزار ، و نوع فشرده سازی را نشان میدهد.

#30#*
شماره های محرمانه گوشی را نمایش میدهد.

#67705646#*
در گوشی های مدل 3310 و 3330 لوگوی شبکه را حذف میکند ( IR-TCI )

#73#*
تایمر گوشی و همچنین تمام امتیازات بدست آمده در بازی ها را Reset میکند.

#746025625#*
نمایش وضعیت سرعت clock سیمکارت گوشی. اگر گوشی شما دارای حالت SIM Clock Stop Allowed باشد به این معنا خواهد بود که گوشی شما میتواند درحالت کمترین میزان مصرف باطری درحالت Standby قرار بگیرد.


#2640#*
کد رمز فعلی گوشی را نشان میدهد. کد رمز گوشی در حالت عادی 12345 می باشد.

#7780#*
RESET گوشی یا همان بازگشت به حالت تنظیمات کارخانه ای است. مناسب برای زمانیکه گوشی هنگ کرده است . درواقع درایو C گوشی را ریست میکند ( ریست گوشی بدون حذف برنامه ها و دفترچه تلفن و اس ام اس ) بعد از وارد کردن این کد ، گوشی از شما تقاضای وارد کردن security code را خواهد داشت.

#7370#*
فرمت گوشی . مناسب برای زمانیکه گوشی بسیار زیاد هنگ کرده است. درواقع این کد درایو C گوشی را فرمت میکند و البته تمامی برنامه ها و فایلهای موجود بر روی این درایو از بین خواهند رفت . بعد از وارد کردن این کد ، گوشی از شما تقاضای وارد کردن security code را خواهد داشت.


روش مستقیم فرمت گوشی های اسمارت فون بدون نیاز به منوی گوشی:

اگر پسوورد ( security code ) گوشی قبلا تغییر داده شده است و آنرا نمی دانید و همچنین گوشی شما از سیستم عامل سیمبین ورژن7 استفاده می کند ( مثل 6600 و 7610 و 6620 و 6260 و 9500 و 9300 ) ابتدا گوشی را خاموش کرده و در حالیکه سه دگمه سبز ، * ، 3 را همزمان نگه داشته اید گوشی را روشن کنید و آنها را آنقدر نگه دارید تا کار فرمت آغاز بشود. دراین حالت از شما دیگر پسوورد خواسته نخواهد شد و مستقیما گوشی فرمت خواهد شد.

فرمت کارت حافظه گوشی:

به صورت safe mode گوشی را روشن کنید ( برای اینکار درحالیکه دگمه pen (مداد) را نگه داشته اید گوشی را روشن کنید البته درظاهر تفاوتی را مشاهده نخواهید کرد.) سپس این مسیر را در گوشی دنبال کنید : menu>>Extras>>Memory>>Format MEM.card

حالت safe mode برای شما بسیار مفید است. و در مواقعی که گوشی هنگ کرده و بالا نمی آید احتمالا به شما کمک می کند و باعث می شود گوشی بالا بیاید و بعد از آن بتوانید گوشی را درصورت تمایلتان فورمت و یا کار دیگری بر روی آن انجام دهید. درواقع کار آن همانند عمل safe mode ویندوز می باشد و در این حالت دیگر اکثر برنامه های کاربردی که در پشت صحنه همیشه در حال اجرا بودند ، دیگر اجرا نخواهند شد و به همین دلیل گوشی اصطلاحا به راحتی بالا می آید. که در گوشی های مختلف کمی متفاوت می باشد و در اسمارت فون ها اکثرا باید کلید خاصی را ( کلید ABC و یا PEN ) را نگه داشته و سپس گوشی را روشن کنید. تاکید می کنم که در حالت safe mode شما تغییری در ظاهر منوی گوشی نخواهید دید و همه چیز در پشت صحنه اتفاق افتاده است و یا بهتر بگویم از اتفاق افتادن آنها ( برنامه ها ) جلوگیری کرده است.

#43#*
کنترل حالت call waiting ( انتظار) گوشی.

#61#*
کنترل شماره ای که به عنوان divert در صورتیکه به تلفن پاسخ داده نشود ، تعیین گردیده است.

#62#*
کنترل شماره ای که به عنوان divert درصورتیکه شبکه دچار اشکال باشد ( آنتن نباشد ) تعیین گردیده است.

#67#*
کنترل شماره ای که به عنوان divert درصورتیکه گوشی اشغال باشد ، تعیین گردیده است.

#شماره*21**
divert به شماره مورد نظر در هر حالت.

#شماره*61**
divert به شماره موردنظر در حالت عدم پاسخ گوئی ( no Reply ) به تماس.

#شماره*67**
divert به شماره مورد نظر در حالت اشغال بودن گوشی ( on Busy )

ارسال sms رایگان از طریق اینترنت به موبایل

شما می توانید از طریق سایت زیر به هر نقطه از دنیا که بخواهیدبه صورت رایگان sms بزنید .

products

http://www.sms.bi/index.go?refid=568720