بانک آموزشی

بانک آموزشی

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

بانک آموزشی

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

از کار انداختن 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

 


پیغام‌های گوشی‌های NOKIA و رفع اشکال آنها

 temporary over-load. Continue :

با این پیغام احتمالا موقع گرفتن عکس مواجه شوید.
پیشنهاد برای رفع این مشکل :
1- خاموش روشن کردن گوشی
2- خالی کردن فایلهای tmp از MMC (با برنامه Extended File Manager می‌تونید این کار رو انجام بدید )
3- خالی کردن ram گوشی ( برای اینکار کلید meno را بزنید و نگه دارید و با زدن کلید c برنامه های را که احتیاج ندارین ببندین )
* روشی که نتیجه داده: خالی شدن باطری گوشی تا اینکه خود گوشی اتوماتیک خاموش شود، بعد از ساعاتی گوشی را به شازژ بزنید و پس از شارژ روشن کنید.

App Closed main :

این یک پیغام کلی است و پیگیری این پیغام کار آسونی نیست. www.ir-tci.org
پیشنهاد برای رفع این مشکل :
1- پاک کردن آخرین برنامه‌های ریخته شده روی گوشی
2- مستر ریست گوشی

App. Closed sSaverdaemon :

اخطاری است برای اسکرین سیوری که خوب کار نمی‌کند، برنامه اسکرین سیور خودتونو پاک کنید.

App..Closed.ACN LIST :

اخطاری است که به دلایل زیر پیش می‌یاد:
1.ایجاد مشکل در نرم افزار
2. ناهمخوانی نرم افزار با سخت افزار گوشی
3. اجرای همزمان چندین برنامه

App.Closed mailnit :

این پیغام زمانی ظاهر می‌شود که در مموری کارت مشکل پیش بیاد، در این حالت مموری کارت باید فرمت بشه.

App. Closed ncnlist :

وقتی messege میاد بجای زنگ زدن این erorr مشاهده می‌شه .
پیشنهاد برای رفع این مشکل :
3- پاک کردن آخرین برنامه‌های نصب شده.
4- غیر فعال کردن Receive Report در بخش Text Message
5- پاک کردن پیغامهایی که بصورت فونت فارسی در گوشی ذخیره شدند
6- مستر ریست گوشی

System Error :

پیغام مربوط به سیستم گوشی هست. مشکلات زیادی باعث ایجاد این error میشه1 :- وصل کردن مموری کارت گوشی دیگه که روش برنامه نصب هست -2کامل نصب نشدن یک برنامه که در روت گوشی نصب شده -3 مستر ریست کردن گوشی قبل از فرمت کردن مموری کارت و...
پیشنهاد برای رفع این مشکل :
1- مستر ریست گوشی

phone will be restarted :

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

General :Alredy in use :

اینError هنگام پاک کردن مسیج و یا فایلی دیده شده.
پیشنهاد برای رفع این مشکل :
فایلی توی فولدر Message بصورت Hidden شده که اگر از Hidden بودن خارجش کنید درست میشه. برای اینکار از برنامه SeleQ استفاده کنید.

Memmory Card Corrupted :

این مشکل زمانی ایجاد می‌شود که مموری کارت خوب فرمت نشده و یا در حین فرمت با مشکل دیگه‌ای روبرو شده، برای مثال خود من وقتی یکبار مموری کارت روفرمت می کردم، وقتی وسطهای کار Cancel کردم – این پیغام را برای من می‌داد. دوباره فرمت کردم و درست، شما هم سعی کنید دوباره فرمت کنید و اگه نشد با کارت ریدر فرمت کنید.

there is nothing good palying :

زمانی با این پیغام مواجه می‌شویم که از برنامة mum sms و یا برنامه‌های مشابهی که برای sms هست استفاده می‌کنیم. این برنامه‌ها smsها رو مخفی میکنه – اگه شما این برنامه رو پاک کنید از این مشکل هم راحت می شوید.

Phone Startup Failed.Contact the retailer :

این پیغام موقعی ظاهر میشود که بعلت ریستارت نادرست و یا نصب یک برنامه مخرب فایل startup گوشی پاک شده باشه
برای حل این مشکل سیم کارت ومموری کارت را درآورده و دوباره جا بزنید، اگه درست نشد مستر ریست کنید. در صورتیکه با فلش هم درست نشود نیاز به سرویس در یک نمایندگی است و احتمال مشکل سخت افزاری دارد.

close all application :

هنگام نصب برنامه و یا ... رخ می‌دهد. گوشی را خاموش کرده و پس از روشن کردن دوباره سعی نمایید

unable to install comitable with series 60 support version 0.00 :

معمولا برای گوشی های غیراز سری 60 به هنگام نصب برنامه ایجاد می‌شود ولی گاهی در گوشی هایی که مربوط به سری 60 هم هستند دیده می‌شود. برای اینکار بهتر است گوشی را مستر ریست کنید.

select access point (no data) :

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

گوشی فقط عدد تایپ می‌کنه :

پیشنهاد برای رفع این مشکل :
1- دکمه مربع را بگیرید و نگه دارید تا حروف تایپ بشه
2- تعریف کردن کاری برای دکمه مربع درگوشی ( مانند برنامه‌های چراغ قوه (power torch ) و ... )

ساعت گوشی عقب وجلو می‌شه:

پیشنهاد برای رفع این مشکل :
به قسمت تنظیم زمان می روید و GMT offset را روی 03:30+ تنظیم می کنید به محض تغییر دادن offset از شما سوال می کند که
update date and time of the phone? شما No را انتخاب کنید

آمدن صدای موزیک از گوشی هنگام استفاده از هندزفری :

این مشکل روی گوشی‌های 3650 می‌باشد – راه حلی غیر علمی دارد به این صورت که خیلی آروم فیش هندز فری رو تا نصفه داخل گوشی فرو کنید بعد که صدا داخل اسپیکر ها شد فیش رو آروم تا ته فرو کنید

گوشی مدام پیغام خطای با علامت ! را نشان می دهد.

احتمالا Error مربوط به برنامه Mini Gps باشه که تنظیم شده روی Event Alarm و یا یه برنامه مثل( screen saver ) که بعد از هر 20-30 ثانیه میخواد فعال شه و چون نمیتونه ارور میده

موبایل پیغامهایی مثل رسیدن پیام کوتاه (مَسیج) و تلفنهایی که جواب نداده شده (میس کال) را نمایش نمی دهد:

در قسمت log گوشی منوی چپ را بزنید و سپس در قسمت اپشن گوشی در قسمت log duration به جای گزینه no log یا 1 روز یا 10 یا 30 را انتخاب کنید!

کم شدن صدا هنگام صحبت در 6600 :

برنامة Callcheater را غیر فعال کنید و یا کلاً پاک کنید

پس از خاموش کردن گوشی روشن نمی شود :

این مورد در موارد زیادی اتفاق می‌افتد. در حالت شایع وقتی sms ها در حالت Sending در Outbox باقی بمانند و گوشی خاموش شود، دیگه روشن نمی‌شه.
بهتره در درجة اول مموری کارت رو درآورده و گوشی رو روشن کنید اگه درست نشد مستر ریست کنید و بعد گوشی رو فرمت.

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

موزیک روشن شدن گوشی نوکیا 6600 قطع و وصل میشه :

در حالت Safe Mode این مشکل بوجود نمیاد. این مشکل مربوط به مموری کارت می‌باشد و ربطى هم به Firmware نداره. بهتره نرم افزار هاى Autorun رو حذف کنید. کسانی هم که پین کد وارد گوشی کردند اگه مدتی پس از درخواست پین کد و وارد کدن اون فاصله بذارند مشکل حل می‌شود.

دریافت نکردن sms :

اگه برنامه‌ای درباره sms دارید پاک کنید. به تنظیمات message مراجعه کنید و شماره مرکز sms رو چک کنید. در صورتی که با اینکارها درست نشد مستر یست و غیر از اون مراجعه به مخابرات.

جایگزینی صدای زنگ اصلی گوشی 3230 بجای زنگ انتخابی :

با تعویض سیمکارت درست شده

ذخیره نشدن عکسهای گرفته شده توسط گوشی، وارد نشدن به گالری ، نمایش داده نشدن عکسها در گوشی :

فقط مستر ریست

قطع شدن تماسها و دادن miss Call به آنها :

این ایراد از مخابرات می‌باشد و از گوشی شما مشکلی ندارد.

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

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