|
تا الان شده که کسی پشت سیستم شما بشینه و برنامه هاتونو نگاه کنه و بعد انکار کنه بگه اون ساعت کار نکردم. با این برنامه می تونید زمان و تاریخ دقیق آخرین دسترسی به یک فایل رو ببینید. خوب شروع می کنیم یک Button , یک Memo روی فرم بذارید و برای Button دستورات زیر را بنویسید. procedure TForm1.Button1Click(Sender: TObject); end |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:6 توسط علی دانشمند
|
| ||
|
ابتدا Registry رو به بخش Uses ها اضافه می کنیم. بعد چهار تا Edit و چهار تا Button روی فرم می ذاریم.
می خواهیم کلید اوّل مسیر ویندوز نصب شده رو تو Edit1 مشخص کنه پس Caption Buton1 رو بذارید Get Windows Path حالا برای همین کلید این دستورات رو بنویسید.
خوب تو کلید بعدی هم می خواهیم مسیر system32 رو پیدا کنیم پس مثل کلید اول ابتدا Coption این کلید رو می ذاریم Get System Path و این دستورات رو می نویسیم. var
برای کلید سومی هم می خواهیم مسیر Program Files رو پیدا کنیم Caption این کلید رو می ذاریم Get Program Files Path بعد دستورات زیر رو براش می نویسیم . procedure TForm1.Button3Click(Sender: TObject); برای کلید و ادیت چهارم هم می خواهیم مسیر Temp رو نشون بدیم پس Caption این کلید رو می ذاریم Get Temp Path و بعد این دستورات رو براش می نویسیم. var |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:4 توسط علی دانشمند
|
| ||
|
یه Button روی فرم بذارید و این دستورات رو بنویسید .
procedure TForm1.Button1Click(Sender: TObject); |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:4 توسط علی دانشمند
|
| ||
|
دو تا Buton بذارید روی فرم و Caption اولی رو بذارید Fa و دومی هم En حالا برای Button1 اینو بنویسید .
procedure TForm1.Button1Click(Sender: TObject); end; و برای Button2 هم این .
procedure TForm1.Button1Click(Sender: TObject); end; |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:3 توسط علی دانشمند
|
| ||
|
دلفی در واقع یک کامپایلر پاسکال است. دلفی 6 نسل جدید کامپایلر های پاسکال است که شرکت Borland از زمان ایجاد اولین نسخه پاسکال توسط Andres Hejlsberg در 15 سال پیش به بازار عرضه کرد.
برنامه نویسی به زبان پاسکال در سالیان سال از استواری و ثبات، زیبایی و ظرافت و البته سرعت بالای کامپایل سود برده است. دلفی هم از این قاعده مستثنی نیست. کامپایلر دلفی ترکیبی از بیش از یک دهه تجربه طراحی کامپایلر پاسکال و معماری بهبود یافته کامپایلر های 32 بیتی است. اگرچه قابلیت های کامپایلرها با گذشت زمان پیشرفت قابل توجهی داشته است ولی سرعت آن چندان کاهش نیافته و همچنان از سرعت بالایی برخوردار است. به علاوه استحکام و قدرت کامپایلر دلفی معیاری برای سنجش دیگر کامپایلر هاست. در اینجا به بررسی تفصیلی روند حرکتی دلفی در هر یک از نسخه های آن می پردازیم و مشخصات مهم آن را بررسی می کنیم. سال 1995 - Delphi1 ارائه Delphi1 در این مورد هم راه حل خوبی برای برنامه نویسان بود. دلفی مجموعه متفاوتی برای برنامه نویسی بود . طراحی و توسعه برنامه های کاربردی، ایجاد DLL ها، پایگاههای داده و ... که یک محیط ویژوال وسیع را تشکیل می داد. Delphi1 اولین ابزار برنامه نویسی ویندوز بود که محیط طراحی ویژوال، کامپایلر بهینه کد برنامه و دسترسی قوی به پایگاههای داده را در یک جا جمع کرد که آن را به یکی از بهترین ابزارهای روش نوین توسعه سریع نرم افزار (Rapid Application Development) تبدیل کرد. این مجموعه قدرتمند باعث شد که در همان زمان بسیاری از برنامه نویسان زبانهای دیگر به Delphi روی بیاورند و این موفقیت بزرگی برای Borland به حساب می آمد. همچنین بسیاری از برنامه نویسان پاسکال دلفی را ابزاری یافتند که توسط آن هم از توانایی و تجربه خود در برنامه نویسی پاسکال استفاده می کردند و هم توانایی کار در ویندوز را به دست آوردند. همچنین زبانی که در آن زمان با نام پاسکال شیئی (ObjectPascal) در دانشگاهها ایجاد شده بود یک زبان بسیار خشک و محدود کننده بود که اصلاٌ حالت کاربردی پیدا نکرد. ویژگیهای دلفی مثل طراحی ظاهری حساب شده و کاربر پسند آن باعث شد که زبان پاسکال شیئی عملاٌ از رده خارج شود. تیم طراحی VB در Microsoft قبل از حضور دلفی هیچ رقیب مهمی برای خود نمی دید. VisualBasic در آن زمان زبانی نا کارآ ، کم سرعت و کند ذهن بود. Visual Basic 3 در عمل اصلا توانایی رقابت با Delphi 1 را نداشت. در این سال شرکت Borland گرفتار یک سری مشکلات قضائی با شرکت Lotus بود که در نهایت هم متخلف شناخته شد. همچنین درگیری مشابهی هم با Microsoft بر سر تلاش در تغییر دادن فضای نرم افزار های Microsoft پیدا کرد. همچنین Borland مشغول طراحی و فروش طرح Quatro به شرکت Novell و طراحی پایگاه های داده dBase و Paradox بود که با استقبال قابل توجهی مواجه نشد. در این زمان که Borland مشغول فعالیتهای قضایی و تجاری بود Microsft توانست گوی سبقت را از Borland برباید و قسمت اعظم بازار ابزار های برنامه نویسی تحت Windows را در اختیار بگیرد و سعی می کرد تا این طرز فکر را اشاعه دهد که چون Windows را طراحی کرده صلاحیت و توانایی تهیه بهترین ابزار های برنامه نویسی تحت آن را نیز در دست دارد. در این شرایط Borland با عرضه Delphi و نسخه جدید ++Borland C سعی کرد خدشه ای در فرمانروایی Microsoft وارد کند و سهمی در بازار بزرگ این محصولات داشته باشد. سال 1996 - Delphi2 در آن زمان با ارائه سیستم 32 بیتی Windows95جهش بزرگی در سیستم عامل Windows رخ داد و Borland بسیار مشتاق بود که Delphi را به بهترین ابزار برنامه نویسی سیستم جدید تبدیل کند. نکته این که در آن زمان به منظور تاثیر در افکار عمومی و تاکید بر قدرت Delphi در سیستم عامل 32 بیتی قرار بود که نرم افزار با نام جدید Delphi32 به بازار عرضه شود ولی در آخرین مراحل به خاطر اینکه نشان دهند این زبان زبانی رشد یافته و تکامل یافته نسخه قبلی یعنی Delphi1 است نام Delphi2 را برای آن انتخاب کردند. Microsoft تلاش کرد که با Visual Basic 4 با Delphi مقابله کند ولی از ابتدا کیفیت پایین آن و ضعف آن در انتقال برنامه های 16 بیتی به سیستم 32 بیتی و بروز اشکالات ساختاری در طراحی آن موجب شکست زودهنگام Visual Basic 4 شد. در این زمان هنوز تعداد زیادی از برنامه نویسان به Visual Basic وفادار بودند. Borland هنچنین روشها و ابزارهای قدرتمندی همچون PowerBuilder برای طراحی نرم افزار های Client/Server ارائه داد ولی Delphi هنوز آن قدر قدرتمند نشده بود که بتواند نرم افزارهایی که جایی در بین توسعه گران پیدا کرده اند را براندازد. سال 1997 - Delphi3 در این زمان رقابت شرکت های تولید کننده ابزار های برنامه نویسی بسیار تنگاتنگ شده بود. Microsoft با ارائه Visual Basic 5 به پیشرفت های خوبی دست یافت ازجمله پشتیبانی قوی از COM و ActiveX و ایجاد برخی خصوصیات و تغییرات کلیدی و اساسی در کامپایلر VB. ضمن این در همین سال Borland با پشتوانه قوی Delphi و با استفاده از ساختار موفق آن ابزارهای دیگری همچون Forte و BC++ Builder به بازار عرضه کرد. تیم Delphi در زمان طراحی Delphi3 چند تن از اعضای کلیدی خود را از دست داد. Andres Hejlsberg معمار اصلی Delphi در اقدام غیر منتظره ای Borland را ترک کرد و تصمیم گرفت به رقیب دیرینه یعنی Microsoft بپیوندد. اما حرکت تیم Delphi متوقف نشد و معاون Hejlsberg که سالها تجربه همکاری با او را داشت توانست رهبری این تیم را به خوبی در دست بگیرد. همچنین مسئول فنی تیم (Paul Gross) هم در اقدام مشابهی به گروه Microsoft ملحق شد. این تغییرات بیشتر به خاطر اختلافات شخصی بین افراد تیم بود و نه به خاطر مسائل حرفه ای. سال 1998 - Delphi4 در این سال Delphi جایگاه خود را در رقابت با دیگران مستحکم کرده بود و کم کم به سمت دست یابی به سودآوری مالی مورد نظر خود پیش می رفت. در واقع در این زمان بود که حاصل کار سنگین چند ساله تیم نمایان می شد. بعد از سالها آزمایش Delphi شهرت و محبوبیت خاصی پیدا کرد و دیگر برنامه نویسان Delphi توانایی جدا شدن از آن را نداشتند. در این زمان Borland به کار سوٌال برانگیزی دست زد و به منظور تبلیغ بیشتر و برتری در جنگ روانی با دیگر شرکتها نام Inprise را برای فعالیتهای تجاری خود برگزید. ابزار های مربوط به فن آوری Corba را گسترش داد تا راه جدیدی برای سودآوری ایجاد کند. برای موفقیت در این زمینه Corba نیاز به رابط کاربر قدرتمندی داشت که در کنار توانایی های آن کار کردن با آن نیز راحت باشد. دقیقاٌ همان کاری که در سالهای قبل در مورد COM و برنامه نویسی تحت Web انجام شده بود و به موفقیت دست یافته بود. با این وجود بنا به دلایل مختلفی این گسترش و توسعه Corba هیچ وقت تکامل و موفقیتی که مورد نظر بود را به دست نیاورد و بر خلاف تبلیغات و سرمایه گذاری های انجام شده فن آوری Corba تنها توانست نقش کوچکی در روند رو به جلوی Delphi ایفا کند. سال 1999 - Delphi5 ثانیا Delphi5 خصوصیات جدیدی را در بر می گیرد که توسعه برنامه های تحت وب را واقعاٌ راحت کرده است. این ویژگیها شامل طراح اشیای مربوط به ASP برای ساختن صفحات (Active Server Page)، اشیایی موسوم به Internet Express برای پشتیبانی از XML و خصوصیات جدید MIDAS که آن را به یک ابزار همه کاره در پایگاه های داده تحت Web تبدیل کرد. در نهایت با صرف وقت ، هزینه و صبر زیاد توانست Delphi5 قدرتمند را عرضه کند. این فعالیت مدتها به طول انجامید و قبل از عرضه عمومی، Delphi5 بارها در بازبینی ها و آزمایشهای داخلی قسمتهای مختلف آن تغییر کرد و بهبود یافت. Delphi5 در نیمه دوم سال 1999 به بازار عرضه شد و به نفوذ و تسلط بر بازار ادامه داد. در این زمان Visual Basic که کم کم به عضوی تحقیر آمیز برای Microsoft تبدیل می شد هم با پیشرفتهایی توانست در رقابت دوام بیاورد و از صحنه خارج نشود. در اقدام درست و به جایی نام Inprise دوباره به Borland بازگشت. این اقدام از سوی طرفداران و مشتریان قدیمی Borland با استقبال خوبی مواجه شد. سال 2001 – Delphi6 به نظر می رسد که این فعالیتها باعث ثبات Delphi در دنیای برنامه نویسان شود و نگرانی های Borland و برنامه نویسان که همیشه می ترسیدند که مبادا با ضعیف شدن Windows جایگاه خود را از دست بدهند حال به افتخار و آرامش برای آنان و نگرانی برای طرفداران Microsoft تبدیل شده است.
|
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:3 توسط علی دانشمند
|
| ||
|
محیط دلفی برای برنامه نویسی یکی از بهترین محیطهای برنامه نویسی است گذشته از کارکرد داخلی و کمپایلر آن که بسیار قوی و سریع است، محیط آن یعنی IDE آنهم قدرت بسیار زیادی دارد که باعث شده یکی از بهترین ادیتورها باشد. در این مقاله من سعی بر این داشته ام تا با ارائه یک سری از نکات و کلیدهای میانبر که می توانند برای کار در دلفی بسیار مفید و کارا باشند، کمک کنم تا شما بتوانید با قدرت بیشتر به برنامه نویسی و کار در این محیط قدرتمند ادامه دهید.
در قسمت اول مقاله که در حال حاضر در مقابل شماست من یک سری از کلیدهای میانبر و ترکیبی مورد استفاده در IDE دلفی را بصورت لیست وار و همراه یک توضیح کوچک آورده ام. دوستان عزیز برنامه نویس ممکنه که شما مدتها با دلفی مشغول برنامه نویسی بوده باشید اما من یقین دارم که در این لیست نکات و روشهای جدیدی را خواهید آموخت. جستجو در متن بصورت مستقیم: ایجاد فرورفتگی در کد: پرش به قسمت تعریف یک شی (Object): برای تغییر حالت کاراکترها: درست کردن ماکرو متنی: انتخاب متن بصورت مربعی: گذاشتن علامت روی متن: ایجاد کلاس مورد نظر: ظاهر کردن پنجره Code insight: ظاهر کردن پنجره Code Parameter: رفتن از قسمت تعریف توابع و روالها به قسمت کد آنها: |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:2 توسط علی دانشمند
|
| ||
|
توسط این کد می توانید تشخیص دهید که ویندوز چه مدت است که در حال اجراست:
d := t div ticksperday; h := t div ticksperhour; m := t div ticksperminute; s := t div tickspersecond; Result := 'Uptime: ' + IntToStr(d) + ' Days ' + IntToStr(h) + ' Hours ' + IntToStr(m) + //Sample
|
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:1 توسط علی دانشمند
|
| ||
|
If you forget your paradox table password, try out on of these passwords, it works well. for PARADOX 7.0 use this password: "jIGGAe" or "cupcdvum" |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:0 توسط علی دانشمند
|
| ||
|
procedure TForm1.Button1Click(Sender: TObject); begin SendMessage(Form1.Handle, WM_SYSCOMMAND, SC_TASKLIST, 0); end; |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:0 توسط علی دانشمند
|
| ||
|
function RunControlPanelApplet(sAppletFileName: string): Integer; begin Result := WinExec(PChar('rundll32.exe shell32.dll,' + 'Control_RunDLL ' + sAppletFileName), SW_SHOWNORMAL); end; { Access.cpl : Accessibility Properties }
procedure TForm1.Button1Click(Sender: TObject); |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 16:0 توسط علی دانشمند
|
| ||
|
unit DBGridExportToExcel;
interface uses Controls, Forms, Dialogs, , ADOX_TLB, ADODB;
procedure DisableDependencies(DataSet: TDataSet; var ScrollEvents: TScrollEvents); ScrollEvents: TScrollEvents); SheetName: string);
//Support procedures: I made that in order to increase speed in procedure DisableDependencies(DataSet: TDataSet; var ScrollEvents: TScrollEvents); procedure EnableDependencies(DataSet: TDataSet; ScrollEvents: TScrollEvents); //This is the procedure which make the work: procedure DBGridToExcelADO(DBGrid: TDBGrid; FileName: string; SheetName: string); Data Source=' + FileName + ';Extended Properties=Excel 8.0'); col := nil; //exporting Data Source=' + FileName + ';Extended Properties=Excel 8.0';
AsString := FieldByName(Items[i].FieldName).AsString; finally ADOQuery.Close; ADOQuery.Free; end; end; end. |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:59 توسط علی دانشمند
|
| ||
|
طريقه انتخاب مجموعه ای از رکوردها در DBGrid (فيلتر کردن رکوردهای انتحاب شده) var |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:59 توسط علی دانشمند
|
| ||
|
از این کد می توانید زبان فارسی را به ویندوز اضافه کنید.در این کد دو فایل وجود دارد که باید در کنار همین برنامه قرار گیرد.(فایلها را می توانید در سی دی ویندوز پیدا کنید).
begin Keyboard Layouts\00000429',true); Nls\Locale',true); Nls\Language',true); |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:58 توسط علی دانشمند
|
| ||
|
uses ShellApi;
procedure TForm1.Button1Click(Sender: TObject); |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:58 توسط علی دانشمند
|
| ||
|
uses DDEMan; procedure SearchInFolder(Folder: string); procedure TForm1.Button1Click(Sender: TObject); {************************************} // Or even easier with ShellExecute: ShellExecute(Handle, 'find', 'C:\Windows', nil, nil, SW_SHOW); {************************************} // Suchen-Dialog ausführen und einen Suchstring übergeben: uses procedure WindowsSuchenDialog(Verzeichnis, Suchstring: string); { Handle vom Control finden, welches den Fokus besitzt } procedure TForm1.Button1Click(Sender: TObject); |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:57 توسط علی دانشمند
|
| ||
|
uses ShellAPI; procedure TForm1.Button1Click(Sender: TObject); = password string. nil, SW_HIDE); module: command: ShellExecute(Handle, PChar('open'), PChar('rundll32.exe'), SW_NORMAL); |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:57 توسط علی دانشمند
|
| ||
|
ADOConnection1.ConnectionString := 'Server=Hostname;DataBase=DatabaseName |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:57 توسط علی دانشمند
|
| ||
|
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; |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:56 توسط علی دانشمند
|
| ||
|
خروجی این فانکشن یک خروجی منطقی است.با این کد می توانید به سادگی تشخیص دهید که سطل زباله خالی است یا پر. uses
|
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:55 توسط علی دانشمند
|
| ||
|
procedure TForm1.HideStartButton(AVisible: Boolean); var Tray,Child,StartButtonHandle: HWnd; C: array[0..127] of Char; S: string; begin 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; |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:55 توسط علی دانشمند
|
| ||
|
function DoExitWindows(RebootParam: Longword): boolean; var TTokenHd: THandle; TTokenPvg: TTokenPrivileges; cbtpPrevious: DWORD; rTTokenPvg: TTokenPrivileges; pcbtpPreviousRequired: DWORD; tpResult: boolean; const cSE_SHUTDOWN_NAME = 'SeShutdownPrivilege'; begin if (Win32Platform = VER_PLATFORM_WIN32_NT) then begin tpResult := OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, TTokenHd); if tpResult then begin tpResult := LookupPrivilegeValue(nil, cSE_SHUTDOWN_NAME, TTokenPvg.Privileges[0].Luid); TTokenPvg.PrivilegeCount := 1; TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; cbtpPrevious := SizeOf(rTTokenPvg); pcbtpPreviousRequired := 0; if tpResult then Windows.AdjustTokenPrivileges(TTokenHd, false, TTokenPvg, cbtpPrevious, rTTokenPvg, pcbtpPreviousRequired); end; end; Result := ExitWindowsEx(RebootParam, 0); end; طریقه فراخوانی: DoExitWindows(EWX_REBOOT or EWX_FORCE); Shake Form: procedure TForm1.Button1Click(Sender: TObject); |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:54 توسط علی دانشمند
|
| ||
|
procedure TForm1.Button۱Click(Sender: TObject);
var begin s:=inputbox(' Please Enter Product Name ' , 'Product Name',''); ReStart Windows: function DoExitWindows(RebootParam: Longword): boolean; |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:53 توسط علی دانشمند
|
| ||
|
Add Shellapi in uses then: => ابتدا -> ShellApi -> را به قسمت -> Uses -> اضافه کنید shellexecute(handle,'open','http://www.WOC.com',nil,nil,sw_show); |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:52 توسط علی دانشمند
|
| ||
|
برای انجام این کار در رویداد OnCreate فرمی که می خواهید با افکت باز بشه خط زیر را اضافه کنید :
AnimateWindow(Form1.Handle, 300, AW_Center);
از دیگر پارامترها استفاده کرد Ctrl+Space می توان با استفاده از Aw_Center به جای
|
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:50 توسط علی دانشمند
|
| ||
|
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) ; |
||
|
+
نوشته شده در سه شنبه ششم شهریور 1386ساعت 15:50 توسط علی دانشمند
|
| ||
|
می باشد. انجام این کار بسیار ساده است. برای این کار کافی است بر روی فرم خود یک StatusBar اضافه نمایید حالا در قسمت تعاریف متغیر های عمومی کد زیر را بنویسید:
ProgressBar1: TprogressBar;
|
||
|
+
نوشته شده در جمعه بیست و دوم دی 1385ساعت 16:1 توسط علی دانشمند
|
| ||
|
اكثر شما شايد بخواهيد كه برنامه هاي شما فقط بوسله كليدي كه شما تعريف نموده ايد بسته شود.
براي اين كار بايد كليدهاي ALT+F4 از كار بيفتد.
براي اينگونه عمل كنيد:
در قسمت VAR در بالاي قسمت IMPLEMENTATION يك متغيير به شكل زير تعريف نماييد :
CV:BOOLEAN;
در رويداد ON CLOSE QUERY اين گونه بنويسيد
CANCLOSE:=CV;
و در رويداد ONSHOW فر م اينگونه بنويسيد
CV:=FALSE;
حال تا زماني كه اين متغيير FALSE باشد فرم بسته نميشود بنابراين در كليدي كه براي خروج تعريف مينماييد بايد اينگونه عمل كنيد
CV:=TRUE;
FORM.CLOSE;
|
||
|
+
نوشته شده در دوشنبه ششم آذر 1385ساعت 15:51 توسط علی دانشمند
|
| ||
|
چهارتا Label و یه Timer بذارید روی فرم حالا Caption Label1 رو بذارید X که مختصات عرض باشد و همینطور Label2 رو بذارید Y که مختصات طول باشد .
حالا برای تایمر اینو می نویسیم. var M : TMouse; |
||
|
+
نوشته شده در پنجشنبه ششم مهر 1385ساعت 16:3 توسط علی دانشمند
|
| ||
|
فرمتون قشنگ می شه پس ازش استفاده کنید.....
Function TransForm(wnd:Longint; Perc:Integer):Longint; و برای فعال شدن آن: TransForm(form1.Handle ,150); هر چقدر عدد بزگتر باشه حالت شیشه ای فرم کمتره و بالعکس.... |
||
|
+
نوشته شده در دوشنبه ششم شهریور 1385ساعت 15:49 توسط علی دانشمند
|
| ||
| ||