![]() |
![]() |
|
| ترفندهای دلفی |
|
|
|
+ نوشته شده در
جمعه 1386/05/12ساعت 22:32 توسط هوشنگ شیشه لو |
|
|
چطور می توان Desktop از عکس گرفت ؟
روی فرمتون یک Button ، یک SaveDialog (از پالت Dialog) ، و یک Image بگذارید . روی رویداد OnClick کلید خطوط زیر را بنویسید :
Image1.Width:=DesktopCanvas.ClipRect.Right; Image1.Height:=DesktopCanvas.ClipRect.Bottom; Image1.Canvas.CopyRect(Rect(0,0,1024,768), DesktopCanvas,Rect(0,0,1024,768)); If SaveDialog1.Execute then Image1.Picture.Bitmap.SaveToFile(SaveDialog1.FileName);
|
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:57 توسط هوشنگ شیشه لو |
|
|
چگونه می توان از طریق برنامه نویسی CD-Romرا باز و بسته کرد ؟ ابتدا روی فرمتون دو کلید بذارید ، کپشن آنها رو به Open و Close تغییر بدهید : برای انجام این کار نیاز داریم که یونیت MMSystem را قابل استفاده کنیم برای این کار در زیر implementation می نویسیم : Uses MMSystem; برای کلید Open خط زیر را بنویسید: mciSendString('Set cdaudio door open wait',nil,0,handle); و برای کلید Close هم خط زیر را بنویسید: mciSendString('Set cdaudio door Closed wait',nil,0,handle);
|
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:56 توسط هوشنگ شیشه لو |
|
|
آیا می توان فرمی داشت که در آن سوراخی وجود داشته باشد؟ بله ، این کار به راحتی انجام می شه ، اسکریپت زیر رو در رویداد OnPaint فرمتون کپی کنید: Procedure TForm1.FormPaint(Sender: TObject); Var Wnd:HWnd; R1,R2:HRGN; R:TRect; Begin Wnd:=Application.MainForm.Handle; GetWindowRect(Wnd,R); R1:=CreateRectRgn(0,0,R.Right-R.Left,R.Bottom-R.Top); R2:=CreateEllipticRgn(10,30,150,120); CombineRgn(R1,R1,R2,RGN_DIFF); SetWindowRgn(Wnd,R1,true); End; |
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:54 توسط هوشنگ شیشه لو |
|
|
چطور می توان Hint (ToolTip) ی با فونتی متفاوت از فونت استاندارد که ویندوز برای Hin داره ، داشت ؟
قبل از Type اصلی برنامه خطوط زیر رو وارد کنید TMyHint=Class (ThinTWindow( Constructor Create (Aowner:TComponent);override; End; با این کار ما یک کلاس جدیدی از Hint رو برای دلفی تعریف کردیم . و حالا خطوط زیر را در زیر Implementation بنویسید : Constructor TMyhint.Create(Aowner:TComponent); Begin inherited Create (Aowner); Canvas.Font.Name:=’Arial’; Canvas.Brush.Color:=ClBlue; End; و با این کار ساختار TMyHint را بوجود آوردیم ، یعنی خواستیم که فونت آن Arial و رنگ آن آبی باشد. سپس در انتها برای اینکه این ساختار در برنامه اعمال شود خطوط زیر در قسمت OnCreate فرم
اصلی برنامه کپی کنید : Application.ShowHint:=False; HintWindowClass:=TMyhint; Application.ShowHint:=True; |
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:53 توسط هوشنگ شیشه لو |
|
|
هیچ می دونستید در دلفی می توان بدون داشتن هیچ کامپوننت یا ocx خاصی فرم ها را با افکت های مختلف نشون داد؟ برای انجام این کار در رویداد OnCreate فرمی که می خواهید با افکت باز بشه خط زیر را اضافه کنید : AnimateWindow(Form1.Handle, 300, AW_Center); البته بهتره بدونید که فقط همین یه دونه افکت نیست ، پارامتر سوم پردازه بالا نوع افکت رو مشخص می کنه ، اگه رو اون کلید Ctrl+Space رو بزنید از لیستی که باز می شه می تونید افکت های دیگه رو انتخاب کنید . همچنین پارامتر دوم زمان طول کشیدن افکت رو بر حسب میلی ثانیه مشخص می کنه . پارامتر اول هم هندل (شماره منحصر به فردی که ویندوز به هر پنجره اختصاص می ده) فرمیه که می خواهید با افکت نشون داده بشه |
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:51 توسط هوشنگ شیشه لو |
|
تا الان شده که کسی پشت سیستم شما بشینه و برنامه هاتونو نگاه کنه و بعدانکار کنه بگه اون ساعت کار نکردم.با این برنامه می تونید زمان و تاریخ دقیق آخرین دسترسی به یک فایل روببینید.خوب شروع می کنیم یک Button , یک Memo روی فرم بذارید وبرای Button دستورات زیر را بنویسید.
procedure TForm1.Button1Click(Sender: TObject); |
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:47 توسط هوشنگ شیشه لو |
|
|
محیط دلفی برای برنامه نویسی یکی از بهترین محیطهای برنامه نویسی است گذشته از کارکرد داخلی و کمژایلر آن که بسیار قوی و سریع است ُ محیط آن یعنی IDE آنهم قدرت بسیار زیادی دارد که باعث شده یکی از بهترین ادیتورها باشد. در این مقاله من سعی بر این داشته ام تا با ارائه یک سری از نکات و کلیدهای میانبر که می توانند برای کار در دلفی بسیار مفید و کارا باشند، کمک کنم تا شما بتوانید با قدرت بیشتر به برنامه نویسی و کار در این محیط قدرتمند ادامه دهید. |
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:43 توسط هوشنگ شیشه لو |
|
|
انجام این کار بسیار ساده است. برای این کار کافی است بر روی فرم خود یک StatusBar اضافه نمایید حالا در قسمت تعاریف متغیر های عمومی کد زیر را بنویسید:
ProgressBar1: TprogressBar; در ادامه دستورات زیر را در خاصیت OnCreate فرم خود بنویسید: varProgressBarStyle: LongInt;begin{create a run progress bar in the status bar} ProgressBar1 := TProgressBar.Create(StatusBar1);ProgressBar1.Parent := StatusBar1;{remove progress bar border} ProgressBarStyle := GetWindowLong(ProgressBar1.Handle, GWL_EXSTYLE);ProgressBarStyle := ProgressBarStyle - WS_EX_STATICEDGE;SetWindowLong(ProgressBar1.Handle, GWL_EXSTYLE, ProgressBarStyle);{set progress bar position and size - put in Panel[2]} ProgressBar1.Left := StatusBar1.Panels.Items[0].Width +StatusBar1.Panels.Items[1].Width + 4;ProgressBar1.Top := 4;ProgressBar1.Height := StatusBar1.Height - 6;ProgressBar1.Width := StatusBar1.Panels.Items[2].Width - 6;{set range and initial state} ProgressBar1.Min := 0;ProgressBar1.Max := 100;ProgressBar1.Step := 1;ProgressBar1.Position := 0;end;حالا برای آنکه پس از خارج شدن از فرم حافظه اشغال شده آزاد گردد، در قسمت OnDestroy در Event فرمتان دستور زیر را اضافه نمایید. |
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:40 توسط هوشنگ شیشه لو |
|
|
توسط این کد می توانید تشخیص دهید که ویندوز چه مدت است که در حال اجراست
' Hours ' + IntToStr(m) + ' Minutes ' + IntToStr(s) + ' Seconds'; end; |
|
+ نوشته شده در
یکشنبه 1386/05/07ساعت 0:38 توسط هوشنگ شیشه لو |
|
|
صفحه نخست پست الکترونیک آرشیو وبلاگ عناوین مطالب وبلاگ |
| درباره وبلاگ |
|
هوشنگ شيشه لو
اهر - ارسباران |
| نوشته های پیشین |
|
شهریور 1386 مرداد 1386 مهر 1385 |
|
RSS
|