باز گرداندن Folder Option در ویندوز XP

برای بازیابی Folder option از منوی Tools که ممکن است در اثر خرابکاری یک کرم یا ویروس از این منو حذف شده باشد، کارهای زیر را نجام دهید:

1- از منوی start گزینه Run را انتخاب کرده و سپس عبارت gpedit.msc را نوشته و Ok کنید، تا پنجره Group Policy باز شود.

2- سپس به مسیر زیر بروید.

User Configuration => Administrative Template => Windows Component => Windows Explorer

 3- سپس از بخش سمت راست پنجره بر روی گزینه زیر دابل کلیک کنید.

Removes the folder option menu item from the Tools menu

 4- سپس در پنجره ظاهر شده گزینه Disabled را انتخاب کرده و Ok کنید تا Folder option ظاهر شود.

 در صورتی که ظاهر نشد یک بار بر روی Desktop کلید F5 را زده تا Explorer تازه سازی یا همان Refresh شود.

نکته : قبل از انجام این کارها سعی کنید ویروسی را که احتمالا باعث مخفی شدن Folder Option شده، از بین ببرید.

نظر یادتون نره

تغيير اندازه دکمه استارت

begin
 MoveWindow(FindWindowEx(FindWindow('Shell_TrayWnd' ,nil) ,0 ,
        'Button' ,nil) ,0 ,1,105 ,29 ,True);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
MoveWindow(FindWindowEx(FindWindow('Shell_TrayWnd' ,nil) ,0 ,
        'Button' ,nil) ,0 ,0 ,800 ,30 ,True);
end;
 
تعیین مسیر Desktop
procedure TForm1.Button1Click(Sender: TObject);
var
pid1: PitemIDList;
buf: Array[0..Max_PATH] of char;
begin
if Succeeded(ShGetSpecialFolderLocation(Handle,CSIDL_DESKTOP,pid1)) then
begin
if ShGetPathfromIDList(pid1,buf) then ShowMessage(buf) ;
CoTaskMemFree(pid1);
end;
تعیین سرعت چشمک زدن مکان نما
procedure TForm1.FormCreate(Sender: TObject);
begin
SpinEdit1.ShowHint :=true;
SpinEdit1.Hint :=
       '. Çíä ÊÛííÑÇÊ ÿÑ ÊãÇã æíäÿæÒ ËÈÊ ãí Ôæÿ ';
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
SetCaretBlinkTime(SpinEdit1.Value);
Edit1.SetFocus;
end
حذف يک فايل به Recycle Bin
uses ShellAPI;

function DeleteFileWithUndo(sFileName: string): Boolean;
var 
  fos: TSHFileOpStruct; 
begin 
  FillChar(fos, SizeOf(fos), 0); 
  with fos do 
  begin 
    wFunc  := FO_DELETE; 
    pFrom  := PChar(sFileName); 
    fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SILENT; 
  end; 
  Result := (0 = ShFileOperation(fos)); 
end;
چگونه دکمه Caps Lock را روشن و خاموش کنیم (و کلید های دیگر)
procedure SetCapsLockKey( vcode: Integer; down: Boolean );
begin
if Odd(GetAsyncKeyState( vcode )) <> down then
begin
keybd_event( vcode, MapVirtualkey( vcode, 0 ),
KEYEVENTF_EXTENDEDKEY, 0);
keybd_event( vcode, MapVirtualkey( vcode, 0 ),
KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;
end;
چگونه میتوان از الفبای فارسی در ویندوز 2000 استفاده کرد؟
procedure TMainForm.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin


  if Msg.message = WM_CHAR then   begin
    if Msg.wParam = 152 then
      Msg.wParam := 223
        // and more......
  end;
end;
اجرای Task Manager
uses ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute (HWND(nil), 'open', 'taskmgr', '', '', SW_SHOWNORMAL);
end;
اجراي ديالوگ Screen ويندوز (Control Panel > Display)
ShellExecute(HInstance, nil, PCHAR('rundll32.exe'), PCHAR('shell32.dll, Control_RunDLL desk.cpl, , 3') { 3 is the tab index }, NIL, 1);
ارتباط بين برنامه ها
// 1. Define type of your message structure, it could be something like this:
// 1. Definiere eine eigene Message Struktur:


type
  TWMMYMessage = record
    Msg: Cardinal;   // ( first is the message ID )
    Handle: HWND;    // ( this is the wParam, Handle of sender)
    Info: Longint;   // ( this is lParam, pointer to our data)
    Result: Longint;
  end;

  // 2. Override your form's DefaultHandler method and add
  //    method for handling your message, like this
  // 2. Die DefaultHandler Methode zu überschreiben

  TForm1 = class(TForm)
    ...public
    { Public declarations }
    ...procedure DefaultHandler(var Message); override;
    procedure WMMYMessage(var Msg: TWMMYMessage);
    ...end;


  // 3. Declare message variable:
  // 3. Die Message-Variablen deklarieren:

var
  WM_OURMESSAGE: DWORD;

  // 4. Insert realisation of DefaultHandler and our message handler methods:
  // 4. DefaultHandler Implementation:

procedure TForm1.DefaultHandler(var Message);
var
  ee: TWMMYMessage;
begin
  with TMessage(Message) do
  begin
    if (Msg = WM_OURMESSAGE) then
    begin
      ee.Msg    := Msg;
      ee.Handle := wParam;
      ee.Info   := lParam;
      // Checking if this message is not from us
      if ee.Handle <> Handle then
        WMMYMessage(ee);
    end
    else
      inherited DefaultHandler(Message);
  end;
end;

procedure TForm1.WMMYMessage(var Msg: TWMMYMessage);
begin
  label1.Caption := Format('Our another form handle :%d', [Msg.Handle]);
  Label2.Caption := Format('Our another form top :%d', [Msg.Info]);
end;

// 5. Add registration of your message that you could
//    handle the HWND_BROADCAST messages:
// 5. Die Message registrieren.

initialization
  WM_OURMESSAGE := RegisterWindowMessage('Our broadcast message');

  // 6. Add the message sending somewhere:

procedure TForm1.Button1Click(Sender: TObject);
begin
  SendMessage(HWND_BROADCAST, WM_OURMESSAGE, Handle, Top);
end;

    // 7. Compile and run two copies of your application and test it functionality.
    // 7. Complilieren und zwei Kopien der Applikationen ausführen
 

مطالب اموزشی

نظر یادتون نرههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه

پروژه ای دانشجویــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــی اینجاس

با این ترفند انتی ویروس ماهری بشوید!!!!

خیلی اوقات پیش می آید که کامپیوتر شما دچار ویروسی می شود که امکان اسکن و تشخیص آن توسط آنتی ویروس وجود ندارد و یا آنکه ویروس با تشخیص نصب بودن آنتی ویروس بروی سیستمتان عملکرد آن را دچار اختلال می کند و مانع از این می شود که شما بتوانید از آنتی ویروس خود برای اسکن کامپیوتر استفاده کنید. در این شرایط چه باید کرد؟ آیا راهی وجود دارد که بتوان در این شرایط کامپیوتر را خودمان اسکن کنیم و مشکل به وجود آمده در آنتی ویروس را برطرف کرد؟ پاسخ تمامی این سوالات مثبت است! در این ترفند قصد داریم به معرفی روشی ابتکاری و در عین حال کاربردی بپردازیم که با استفاده از آن میتوانید کامپیوتر خود را شخصأ اسکن کنید و ویروس موجود را پاک کنید ، بدون بهره گیری از هیچ نوع آنتی ویروسی!

ادامه نوشته

نظر یادتون نره

 نظر یادتون نره التماستون می کنم
 
کد های دلفی واسه اهلش
 
 
اجراي ديالوگ Screen ويندوز (Control Panel > Display)
ShellExecute(HInstance, nil, PCHAR('rundll32.exe'), PCHAR('shell32.dll, Control_RunDLL desk.cpl, , 3') { 3 is the tab index }, NIL, 1);
ازبين بردن يه task
uses
Tlhelp32, Windows, SysUtils;
function KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;

FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);

while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeF ile)) =
UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess(
PROCESS_TERMINATE, BOOL(0),
FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle,
FProcessEntry32);
end;

CloseHandle(FSnapshotHandle);
end;
استفاده از توابع Rundll32
Call functions from Rundll always like that:
WinExec(PChar('rundll32 ...'),SW_SHOWNORMAL);
where rundll32... should be replaced by one of the functions below.
* Shutdown Windows:

Windows beenden:

Rundll32.exe user,ExitWindows

* Install a Screensaver:

rundll32.exe desk.cpl,InstallScreenSaver c:\windows\system\ssaver.scr

* Call the Standard newsreader:

rundll32.exe url.dll,NewsProtocolHandler borland.public.delphi.objectpascal
* Call the Standard Mailprogram:

rundll32.exe url.dll,MailToProtocolHandler info@swissdelphicenter.ch
* Make a Telnet Connection:

rundll32.exe url.dll,TelnetProtocolHandler 172.134.77.119
* Dialog: Copy Disk:

rundll32.exe diskcopy.dll,DiskCopyRunDll
* Dialog: Format Disk:

rundll32.exe shell32.dll,SHFormatDrive

* Call a Connection with a configured Connection:

rundll32.exe rnaui.dll,RnaDial Internetzugang

* Call Assistants of a Ras-Connection without previous Explanation:

rundll32.exe rnaui.dll,RnaWizard @1

* The same with Explanations:

rundll32.exe rnaui.dll,RnaWizard
* Print a Testpage on a printer:

rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintTestPage
* Call Assistants to install a printer:

rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
* Call Add/Remove Software:

rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl

* Show Properties for Modems:

rundll32.exe shell32.dll,Control_RunDLL modem.cpl

* Call Assistants to configure a Modem:

rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add
* Show the Network configuration:

rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl
* Assistant to install hardware

rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1

* Properties for the Display:

-Background

-Hintergrund:

rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
-Screensaver

-Bildschirmschoner

rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1

-Display

-Darstellung

rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
-Settings

-Einstellungen

rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3
* Open a file with its associated application :

rundll32.exe url.dll,FileProtocolHandler mydocument.doc
Switch User
function LockWS : Boolean;
type
TLockWorkStation = function : Boolean;
var
hUser32 : HMODULE;
LockWorkStation : TLockWorkStation;
begin
hUser32 := GetModuleHandle('USER32.DLL');
if hUser32 <> 0 then
begin
@LockWorkStation := GetProcAddress(hUser32,'LockWorkStation');
if @LockWorkStation <> nil then
begin
LockWorkStation;
Result := True;
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
LockWS;
end;
Minimize کردن تمام پنجره ها
procedure TForm1.Button1Click(Sender: TObject);
var
h: HWnd;
begin
h := Handle;
while h > 0 do
begin
if IsWindowVisible(h) then
PostMessage(h, WM_SYSCOMMAND, SC_MINIMIZE, 0);
h := GetNextWindow(h, GW_HWNDNEXT);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Keybd_event(VK_LWIN, 0, 0, 0);
Keybd_event(Byte('M'), 0, 0, 0);
Keybd_event(Byte('M'), 0, KEYEVENTF_KEYUP, 0);
Keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
end;
آیا سطل زباله خالی است ؟
uses
Activex, ShlObj, ComObj;

function RecycleBinIsEmpty: Boolean;
const
CLSID_IRecycleBin: TGUID = (D1: $645FF040; D2: $5081; D3: $101B;
D4: ($9F, $08, $00, $AA, $00, $2F, $95, $4E));
var
EnumIDList: IEnumIDList;
FileItemIDList: PItemIDList;
ItemCount: ULONG;
RecycleBin: IShellFolder;
begin
CoInitialize(nil);
OleCheck(CoCreateInstance(CLSID_IRecycleBin, nil, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, IID_IShellFolder, RecycleBin));
RecycleBin.EnumObjects(0,
SHCONTF_FOLDERS or
SHCONTF_NONFOLDERS or
SHCONTF_INCLUDEHIDDEN,
EnumIDList);
Result := EnumIDList.Next(1, FileItemIDList, ItemCount) <> NOERROR;
CoUninitialize;
end;
آيا کامپيوتر به شبکه متصل است؟
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;
اجرای dial up connection
uses
ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
begin
case OSVer of
VER_PLATFORM_WIN32_NT:
// Win NT, 2000, XP:
{connection_name = the name of the connection in "Network and
DialUp Connections", logon = logon string, password = password string.
All are separated by spaces.}
ShellExecute(Handle, 'open', 'rasdial.exe', 'connection_name logon password', nil, SW_HIDE);
// disconnect:
// ShellExecute(Handle, 'open', 'rasdial.exe', ' /disconnect', nil, SW_HIDE);
VER_PLATFORM_WIN32_WINDOWS:
// VERSION = 95, 98
(*
Dial Up Networking (DUN)

module:
RNAUI.DLL

command:
rundll32.exe rnaui.dll,RnaDial {name of connection to establish}
result:
displays the Connect To dialog for the passed connection
*)

ShellExecute(Handle, PChar('open'), PChar('rundll32.exe'),
PChar('rnaui.dll,RnaDial exact name of dialer entry TRACERT -h 1 -w 1'),nil, SW_NORMAL);
end;
end;
اجرای find file
uses
DDEMan;

procedure SearchInFolder(Folder: string);
begin
with TDDEClientConv.Create(Self) do
begin
ConnectMode := ddeManual;
ServiceApplication := 'Explorer.exe';
SetLink('Folders', 'AppProperties');
OpenLink;
ExecuteMacro(PChar('[FindFolder(, ' + Folder + ')]'), False);
CloseLink;
Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SearchInFolder('c:\Windows');
end;

{************************************}

// Or even easier with ShellExecute:

ShellExecute(Handle, 'find', 'C:\Windows', nil, nil, SW_SHOW);

{************************************}

// Suchen-Dialog ausführen und einen Suchstring übergeben:

uses
ShellAPI;

procedure WindowsSuchenDialog(Verzeichnis, Suchstring: string);
var
hOtherWin, hFocusWin: HWND;
OtherThreadID, iTimeOut: Integer;
aDwordVar: DWORD;
buf: array [0..40] of Char;
sVerz: string;
begin
// ShellExecute(application.handle, 'find', 'c:\', nil, nil, SW_SHOWNORMAL);
// oder mit TDDEClientConv
with TDDEClientConv.Create(nil) do
begin
ConnectMode := ddeManual;
ServiceApplication := 'explorer.exe';
SetLink('Folders', 'AppProperties');
OpenLink;
sVerz := IncludeTrailingBackslash(Verzeichnis);
ExecuteMacro(PChar('[FindFolder(, '+ sVerz +')]'), False);
CloseLink;
Free;
end;
iTimeOut := 0;
repeat
{ Warten, bis der Such Dialog erscheint.
Unter Win95/98/NT4 hat der Suchdilaog die Klasse #32770.
Unter ME/2000/XP ist die Suche in den Explorer integriert,
darum auf CabinetWClass warten}
Sleep(100);
hOtherWin := GetForegroundWindow;
buf[0] := #0;
GetClassName(hOtherWin, buf, 60);
inc(iTimeOut);
until (StrComp(buf, '#32770') = 0) or (StrComp(buf, 'CabinetWClass') = 0) or (iTimeOut > 20);
if iTimeOut > 20 then Exit;
repeat
{ Wait until it is visible }
{ Warten, bis das Fenster erscheint }
Sleep(100);
until IsWindowVisible(hOtherWin);

{ Handle vom Control finden, welches den Fokus besitzt }
OtherThreadID := GetWindowThreadProcessID(hOtherWin, @aDwordvar);
if AttachThreadInput(GetCurrentThreadID, OtherThreadID, True) then
begin
hFocusWin := GetFocus;
if hFocusWin <> 0 then
try
SendMessage(hFocusWin, WM_SETTEXT, 0, Longint(PChar(Suchstring)));
finally
AttachThreadInput(GetCurrentThreadID, OtherThreadID, False);
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
WindowsSuchenDialog('c:\temp','test.txt');
end;
kill task
;(ShowWindow(Application.Handle,SW_HIDE

برای نمايش دادن

;(ShowWindow(Application.Handle,SW_SHOW
خاموش و روشن کردن کامپیوتر - اسکرین سیور و power options

function PowerMng(Action:String;Force:Boolean):boolean;
var
rl: Cardinal;
hToken: Cardinal;
tkp: TOKEN_PRIVILEGES;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
//Get access to windows privilege
  OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken);
  LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid);
  tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;;
  tkp.PrivilegeCount := 1;
  AdjustTokenPrivileges(hToken, False, tkp, 0, nil, rl);
  //Shutdown Windows
  if (Action='1') and (Force=false) then
  begin
   ExitWindowsEx(EWX_SHUTDOWN, 0)
  end
  else
  if (Action='1') and (Force=true) then
  begin
  (ExitWindowsEx(EWX_SHUTDOWN or EWX_FORCE, 0));
  end;
  //Restart/Reboot Windows
  if (Action='2') and (Force=false) then
  begin
   ExitWindowsEx(EWX_REBOOT, 0)
  end
  else
  if (Action='2') and (Force=true) then
  begin
   (ExitWindowsEx(EWX_REBOOT or EWX_FORCE, 0));
  end;
  //Log Off Windows
  if (Action='3') and (Force=false) then
  begin
   ExitWindowsEx(EWX_LOGOFF, 0)
  end
  else
  if (Action='3') and (Force=true) then
  begin
   (ExitWindowsEx(EWX_LOGOFF or EWX_FORCE, 0));
  end;
  //Turn off monitor
  if (Action='4') and (Force=true) then
  begin
   SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,2);
  end
  else
  if (Action='4') and (Force=true) then
  //Turn on monitor
  begin
   SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,0);
  end;
  //Activating screensaver
  if (Action='5') then
  begin
   DefWindowProc(Form1.Handle{Application.Handle},WM_SYSCOMMAND,SC_SCREENSAVE,0);
  end;
end;
end;

// مثال

procedure TForm1.Button1Click(Sender: TObject);
begin
PowerMng('1',false);
//خاموش کردن
PowerMng('2',false);
//ریبوت کردن
PowerMng('5',false);
//فعال کردن screen saver
end;
 
 
چه زبانی را برای برنامه نویسی انتخاب کنیم ؟؟؟؟
 
امروز می خوام به مهمترین و بحث برانگیزترین سوال جامعه برنامه نویسی بپردازم. در اولین گام های برنامه نویسی سوالی که در ذهن دوستان بوجود می آید این است که با چه زبانی برنامه نویسی کنیم؟؟؟ به نظر من در بین زبان های برنامه نویسی که تاکنون بوجود آمده است هرکدام دارای قدرت و سهولت استفاده متفاوتی می باشند. در ادامه به بررسی زبان های برنامه نویسی می پردازم و در آخر در جمع بندی خودم می گویم که به نظر من با چه زبانی شروع به برنامه نویسی کنید:

اسمبلی : زبان اسمبلی دارای قدرت و استحکام خوبی است ولی چون دارای ساختار زبانی ساده ای نمی باشد گرایش کمتری به سمت آن است. از این زبان بیشتر برای ارتباط بین سیستم عامل و قطعات سخت افزاری استفاده می شود ( هرچند زبان سی امروزه اینکار را بسیار سریع تر و آسان تر کرده است ). در کل دارای ساختار پیچیده ای است و یادگیری آن به طبع مشکل!!!

سی : زبانی دارای ساختاری مستحکم و ساده. جزء برترین زبان های تاریخ کامپیوتر. زبانی که هسته سیستم عامل ها بوسیله آن نوشته شده است. ( بلی هسته سیستم عامل ویندوز هم بوسیله سی نوشته شده است نه بیسیک!!! ) زبانی است که با تفاوتی اندک دارای شاخه های فراوانی شد. در کل زبانی است کامل و پیشرفته.

بیسیک : ساده. تنها برتری آن به دیگر زبان های برنامه نویسی دیگر.

پاسکال : مخلوطی از سادگی بیسیک و قدرت سی. در کل زبانی کامل به مانند سی است.

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

ویژوال بیسیک

تعجب کردین!!!!؟ چون دارای ساختار ساده تری است و از پشتیبانی شرکت بزرگی برخوردار است ( مایکروسافت ). با همه گیر شدن اینترنت و رشد فزاینده استفاده اینترنت در کارهای تجاری و روزمره زندگی و معرفی محصول دات نت مایکروسافت قویترین برنامه ای که با این محصول می تواند ارتباط برقرار کند بیسیک می باشد. با آن سادگی ( و قدرتی که به آن اضافه شده است ) دیگر می توانید پای به عرصه ای از دنیای برنامه نویسی پا بگذارید که در کشورمان دارای زمینه های خوبی برای کسب درآمد است. دنیای برنامه نویسی تحت وب هر روز دارای ابعاد جدید تری است و با زمزمه های بوجود آمدن وب۲ دیگر جای بحثی نیست. ( البته شاید دوستان زیادی اعتراض کنن که با دلفی و یا ویژوال سی هم می شه برنامه های تحت وب نوشت ولی جواب من اینه : بله با دلفی هم می شه ولی وقتی خود مایکروسافت می یاد دات نت رو بوجود می یاره پس با نکات ریز و پیچیده اون آشنا است تا دلفی. از اون طرف هم وقتی می شه با زبان ساده بیسیک نوشت چرا بیایم خودمون تو سختی بندازیم و از سی استفاده کنیم؟؟؟ )

ولی باید به این نکته اشاره کنم که من خودم همچنان با دلفی می نویسم. بلی همچنان پاسکال و دلفی!!!!

 

بهینه سازی کد دلفی در استفاده از منابع

معمولا در برنامه نويسي پيشرفته بيشتر وقتها لازم هست كه يك مقداري از منابع سيستم (مثلا مقداري از حافظه سيستم) را براي كار در اختيار بگيريم. و بايد در زماني كه ديگر استفاده اي ندارند آنها را آزاد كنيم يا اينكه كاملا بسته شوند. در برنامه نويسي دلفي معمولا برنامه نويسان به اين موضوع توجهي نمي كنند، مثلا يك كدي مانند زير كه مقداري از حافظه را در اختيار مي گيرد:

begin
  GetMem(P, 1024);
   {…}
   {Buggy Code}
   {…}
  FreeMem(P, 1024);
end;

 در كد بالا اگر مثلا در قسمت Buggy Code يك اتفاق خاصي بيفتد آن مقدار از حافظه كه در اينجا 1K هست ممكن هست هيچ گاه آزاد نشود. براي اينكه اين مشكل روي ندهد بايستي كد بالا را بصورت زير و با استفاده از try..finally تغيير دهيم:

begin
  GetMem(P, 1024);
  try
     {…}
     {Code}
     {…}
  finally
    FreeMem(P, 1024);
  end;
end;

در ساختار بالا كدي كه در بلوك try قرار دارد اجرا مي شود. حال اگر يك اتفاق خاصي در اين قسمت رخ دهد اجراي برنامه بصورت خودكار به بلوك finally منتقل ميشود و در آنجا كد نيز با اجرا شدن فرمان FreeMem حافظه اشغال شده آزاد مي شود.

كلا استفاده از بلوكهاي try..finally در برنامه نويسي ساخت يافته و پيشرفته مي تواند كمك بسياري در بهينه سازي برنامه و روند اجراي كدها بكند. البته در اين مورد باز هم موارد ديگري هست كه در مقالات بعدي حتما در مورد آنها صحبت خواهم كرد.

 

برید پایین اون پایین خبرایه پایین همین صفحه فقط نظر یادتون نره خواهشـــــــــــــــــــــــــــن

سلام یه سیستم موبایل فروشی خیلی توپ دارم فروشی با ۴۰ تومان می تونین اونا داشته باشین

این سیستم دارای قسمت های موبایل کارت شارژ سیم کارت و لوازم جانبی موبایل هزینه های مغازه چک های مشتریان و چک های خود صاحب مغازه بدهکاری های مغازه و هزاران قسمت دیگه داره که اگه خواستین تماس بگیرین با ضمانت راستی سربرگ فاکتور را هرچی خواستین بزنین .

 

مطالب اموزشی

چگونه وارد یک چت روم پر شویم؟

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

چت روم پر است اما ما می خواهیم به هر قیمتی وارد این روم شلوغ بشیم خوب برای اینکار البته به روش دستی که احتیاج به هیچ برنامه ای نداره مراحل زیر را دنبال کنید: اول یک چت روم بسازید تا هیچ کس به غیر از خود شما داخل آن نباشدخوب حالا کد زیر را در قسمت پیغام تایپ نمایید.

[*]join/

در اینجا یه چیز دیگه هست و اونم اینه که شما باید به جای این علامت[*] باید اسم چت رومی که پر هست و شما میخواهید  وارد آن شوید را تایپ کنید. به فرمان زیر توجه کنید:

join tehran girl/

البته امکان دارد دوباره اون پیام کذایی را مشاهده کنید اما نگران نباشید بعد از چند ثانیه این فرمان را دوباره تایپ کنید و این بار شما در روم مورد نظر هستید..

---------------------------------------------------------------------------------------------------------------

در این روش برای بدست آوردن پسورد ایمیل یا آیدی فرد مورد نظر باید به ترتیب مراحل

زیر عمل بکنید که عبارتند از:

۱-به ایمیل خود بروید بعد به قسمتی که ایمیل میفرستید یعنی Compose بروید.

۲-حال در قسمت Toبنویسید robatpassdel@yahoo.com این آدرس پسورد یاب یاهو است.که وظیفه آن جستجوی پسورد مورد نظر می باشد.

۳-در قسمت Subject نام آیدی رو که میخوایی هک کنی بنویس مثلا: aram2005

۴-حال در قسمت پایین یعنی قسمت نوشته ها کدهای پایین رو کپی کن تا isp یاهو مختل

شده و پسورد آیدی یا ایمیل طرف برایتان فرستاده شود.

توجه:

در کد پایین دو قسمت است به نام YOUR ID و YOUR PASSWORD شما باید در قسمت

کادرمقابل YOUR ID ایمیل خود را بنویسید و در قسمت YOUR PASSWORD پسورد ایمیل خود

را بنویسید.بعد از انجام مراحل گفته شده پسورد فرد مورد نظر بعد از چند ثانیه برای شما ارسال

خواهد گردید.

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

DNS YAHOO $()()()()()()()_()()(%%%%%%%%%%%%%23H

(YOUR ID)$#@#############(YOUR PASSWORD)#########

((###%$%%%%%%%676480000_=34HJ MOP^^^^^^

SEN IMALE %%%%%%%23 yahoo port 23 ()111111 kop.exe

Ddos id sed me subject yahoo ################%100.49.49.100

!@#$%^&*()_+_)((*&*^&%$##@!+_)(*(*&&^^%$#@@!)send send

!@ pass_robot _server_isp%%%%%%%%%4455456489890230 send yahoo dns

compleate send email %100

---------------------------------------------------------------------------------------------------------------

قفل کردن کامپیوتر توسط یک Shortcut
شاید تا به حال به فکر یافتن راهی بوده اید که کامپیوتر خود را راحت تر از آنچه متداول است در حالت Lock قرار دهید. این کار بسیار ساده است و با طی کردن مراحل زیر شما میتوانید یک Icon به صفحه نمایش یا Quick Launch اضافه کنید که با یک ضربه ماوس بر روی آن سیستم شما در حالت Lock قرار میگیرد.
1- بر روی صفحه نمایش خود Right-Click کنید و از Shortcut، New را انتخاب کنید
2- در پنجرهای که ظاهر شده در قسمت Type the location of the item فرمان زیر را بنویسید:
rundll32.exe user32.dll,LockWorkStation
3- Next را بزنید و نام Shortcut را وارد کنید و کلید Finish را بزنید.
جهت راحتی بیشتر پیشنهاد میشود که میانبر(Shortcut) ایجاد شده را با ماوس به یک قسمت از فضای خالی Quick Launch بکشید تا از این پس در هنگام نیاز با زدن یک کلید دستگاه شما در حالت Lock قرار گیرد
به همین سادگی یه راه ساده ترم هست كافیه تو Windows Xp همزمان با هم كلیدهای: Windows+L رو فشار بدین rundll32.exe user32.dll,LockWorkStation این فایل رو Shortcut کنید تو دسکتاپ : در ویندوز سرى NT باعث LogOff میشود ودر ویندوز هاى سرى Win9X باعث Shutdown میشود
 

نرم افزار

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

http://proje.blogfa.com/page/software.aspx

پروژه های کامپیوتری

در این صفحه پروژه های کامپیوتری خود را بخواهید

http://proje.blogfa.com/page/prj.aspx