کاربری
کاربر گرامی به خوش آمدید . اگر این نخستین بازدید شما از سایت است , لطفا ثبت نام کنید:

   

جهت تبلیغات در پرشین فروم کلیک کنید

نمایش نتایج: از شماره 1 تا 7 , از مجموع 7

موضوع: فرم بيضي شكل Delphi

  1. #1

    پیش فرض فرم بيضي شكل Delphi

    براي آنكه يك فرم بيضي شكل داشته باشيد مي بايست هر گونه تغيير در شكل فرم را در هنگام رويداد ايجاد فرم قرار دهيد . يعني در رويداد OnCreate.

    براي انجام اين عمل روي فرم مورد نظر دابل كليك كنيد تا رويداد OnCreate آن ظاهر گردد . حال با استفاده از دستور جالب SetWindowRgn كه قابليت تغيير شكل كنترلهاي بسياري را دارا مي باشد فرم را تغيير شكل مي دهيم . اما در ابتدا مي بايست شكل بيضي را براي Handle آن تعريف كنيم . اين عمل توسط تابع CreateEllipticRgn انجام مي شود كه داراي چهار پارامتر است:

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

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]

    بنابراين كد رويداد ايجاد فرم بايد به شكل زير باشد :

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

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]

  2. 3 کاربر برای این پست سودمند از faramarz2006 عزیز تشکر کرده اند:


  3. Left Ad Image/Code 1 needs to be placed here, no larger than 260 pixels in height.
    Right Ad Image/Code 2 needs to be placed here, no larger than 260 pixels in height.
  4. #2

    پیش فرض چگونه تشخيص دهيم برنامه ما در حال اجراست ؟ Delphi

    گاهي پيش مي آيد كه بخواهيم زماني كه برنامه ما در حال اجرا مي باشد كاربر نتواند آن را مجددا اجرا كند . چرا كه ممكن است در منابع بكار گرفته شده توسط برنامه خللي ايجاد گردد . اين ترفند بخصوص در برنامه هاي بانك اطلاعاتي كاربرد زيادي مي تواند داشته باشد چرا كه اجراي مجدد برنامه و دستكاري آن در ركوردهاي بانك اطلاعاتي همان برنامه ( به شرط آنكه بانك اطلاعاتي توسط اجراي اول تسخير نشده باشد چرا كه در آن صورت تا زمانيكه اجراي اول فايل را آزاد نكند دستكاري ركورد ها غير ممكن است ) اختلالات جبران ناپذيري بوجود مي آورد . پس در ابتداي كار لازم است بدانيم آيا برنامه ما در حال اجرا مي باشد يا نه سپس تصميمات لازم را اخذ كنيم . بطور مثال براي كاربر پيغام دهيم كه برنامه هم اكنون در حال اجرا مي باشد .

    ابتدا بلاك اصلي پروژه را باز كنيد . اين عمل را مي توانيد با فشردن كليدهاي Ctrl + F12 و سپس انتخاب يونيت اصلي پروژه انجام دهيد .

    در ابتدا در قسمت معرفي يونيت ها يونيت Windows را اضافه كنيد :

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

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    حال در قسمت تعريف متغير ها , متغيري از نوع THandle تعريف كنيد :

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

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]

    Mutex يك مقدار 32 بيتي براي تشخيص يكتا بودن يك منبع مي باشد.

    حال به بلاك اصلي برنامه مي رسيم كه مي بايست كد آن را به صورت زير تغيير دهيد :

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

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]

    تابع CreateMutex متغيري كه از نوع THandle تعريف كرده ايد را با مقدار اوليه OneCopyMutex مقدار دهي مي كند . توجه داشته باشيد كه در واقع منظور از اين مقدار دهي اوليه قرار دادن رشته OneCopyMutex در متغير نيست بلكه متغير براي تشخيص وجود يك كپي از يك منبع مقدار دهي اوليه مي شود.

    حال با استفاده از شرط if WaitForSingleObject(Mutex,0)<>wait_TimeOut then تشخيص مي دهيم كه آيا يك كپي ديگر از Mutex تعريف شده است يانه. كه چنانچه مقدار برگشتي تابع WaitForSingleObject برابر با wait_TimeOut باشد مسلم است كه برنامه در حال اجرا مي باشد.

  5. #3

    پیش فرض ايجاد يك فرم Splash در Delphi

    حتما با اجراي بسياري از نرم افزار ها متوجه شده ايد كه در ابتداي اجراي آنان يك فرم ظاهر شده و پس از چند لحظه بسته و نرم افزار اجرا مي گردد . به اين فرمها , فرم Splash گويند كه در ابتداي اجراي برنامه ها تا زمان بارگذاري كامل برنامه و اجراي آن ظاهر مي شوند و معمولا داراي توضيحاتي در مورد برنامه هستند . اگر شما هم مي خواهيد براي برنامه خود يك فرم Splash ايجاد كنيد مراحل زير را طي نماييد :

    1- ابتدا يك فرم جديد به پروژه خود اضافه كنيد و اندازه آنرا به دلخواه تغيير دهيد . ( تا حدي كه براي يك فرم Splash اندازه مناسبي باشد. )

    2- به آن فرم يك عنصر image از سربرگ Additional اضافه كرده و Align آنرا alClient بگيريد تا تمام فرم را بپوشاند.

    3- تصوير مورد نظر خود را كه براي Splash طراحي كرده ايد , در مولفه image قرار دهيد . خاصيت Stretch آنرا نيز فعال كنيد تا تصوير كاملا هم اندازه مولفه image شود.

    4- براي آنكه نوار عنوان فرم در بالاي فرم Splash ظاهر نشود , خاصيت BorderStyle فرم را برابر bsNone بگيريد.

    5- حال براي فرم Splash يك نام مناسب انتخاب كنيد . من نام آنرا SplashForm گذاشتم .

    6- بهتر است فرم Splash در وسط صفحه نمايش ظاهر شود . پس خاصيت Position آنرا برابر poScreenCenter كنيد.

    7- هم اكنون به پنجره ويرايشگر كد رفته و در آن صفحه كد اصلي Project را باز كنيد ( نه كد Unit ) . كد پروژه را به صورت زير تغيير دهيد :


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

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]


    8- حتما جمله (Application.CreateForm(TSplashForm, SplashForm را از بلاك اصلي پروژه كه بصورت خودكار در آن درج شده , حذف كنيد.

    توضيح كد برنامه : در واقع در ابتداي اجراي برنامه , Application با فرم اصلي اجرا نمي شود بلكه فرم Splash ظاهر شده و نمايش داده مي شود. حال Application مقداردهي شده و فرم اصلي برنامه ايجاد مي شود . پس از آنكه فرم اصلي ايجاد و كامل شد , فرم Splash مخفي و آزاد مي گردد . حال Application اجرا مي شود.

  6. یک کاربر برای این پست سودمند از faramarz2006 عزیز تشکر کرده اند:


  7. #4

    پیش فرض بدست آوردن مختصات مكان نماي Mouse در Delphi

    براي بدست آوردن موقعيت اشاره گر Mouse روي صفحه نمايش مي توانيد از نوع TMouse استفاده كنيد . اين نوع قابليتهاي فراواني براي كار با مويس دارد . در ابتدا يك متغير از اين نوع در بخش Var برنامه تعريف كنيد :

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

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]

    حال دو Edit از سربرگ Standard روي فرم قرار دهيد . اين دو Edit جهت نمايش موقعيت سطري و ستوني اشاره گر مويس بكار مي روند.

    از سربرگ System يك Timer به فرم اضافه كنيد . اين عنصر را براي آن به كار مي بريم تا در هر لحظه بتوانيم موقعيت Mouse را بخوانيم . تغييرات زمان تنها چيزي است كه دائما در حال انجام مي باشد . مقدار خاصيت Interval از Timer را هر چه كمتر بگيريد رويداد تغييرات زمان آن Timer در فواصل كمتري فراخواني مي شود. من اين مقدار را يك گرفتم .

    روي ‏Timer دابل كليك كنيد تا رويداد تغييرات زمان آن ((TForm1.Timer1Timer(Sender: TObject) فراخواني شود. حال در اين رويداد كد زير را بنويسيد :

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

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]

    مي توانيد برنامه را اجرا كنيد . همانطور كه مي بينيد مكان نما را به هر نقطه از صفحه نمايش كه مي بريد ( حتي خارج از فرم ) موقعيت آن نمايش داده مي شود. مي توان به جاي Edit از Label هم استفاده كرد . از مختصات مكان نماي Mouse در بسياري از برنامه هاي گرافيكي استفاده مي شود . حتي در زماني كه روي نقطه اي از يك كنترل خاص كليك شود ,شما مي توانيد آنرا تشخيص داده و عكس العمل نشان دهيد.

  8. یک کاربر برای این پست سودمند از faramarz2006 عزیز تشکر کرده اند:


  9. #5

    پیش فرض تعريف فيلد جستجو در Delphi

    فيلدهاي جستجو يا Lookup Fields فيلد هايي هستند كه براي تسريع در عمل جستجو در بانك هاي اطلاعاتي و همچنين يافتن ركوردهاي وابسته و نيز ارتباط بين دو جدول بانك اطلاعاتي بكار مي روند. كاربرد مهم اين فيلدها در ارتباط بين دو بانك اطلاعاتي مي باشد. يعني مي توان بوسيله آنها دو ركورد در دو بانك اطلاعاتي مجزا را از طريق برابر بودن مقادير دو فيلد كه در هر دو ركورد موجود هستند ، به هم مرتبط نمود.

    چگونگي كاربرد اين فيلدهاي جالب را به كمك دو جدول بانك اطلاعاتي بر روي يك فرم شرح مي دهيم:

    فرض كنيد دو جدول بانك اطلاعاتي بر روي فرم خود به همراه تمام متعلقاتشان قرار داده ايد. اين دو جدول به دو بانك مجزا بر روي ديسك اختصاص يافته اند. در اين دو بانك اطلاعاتي فيلدي قرار دارد با نام Number كه براي تعدادي از ركوردهاي دو بانك ، داراي مقدار يكساني است. حال مي خواهيم از طريق اين مقدار مساوي ، اطلاعات مرتبط به هم در دو بانك اطلاعاتي را بيابيم.

    ابتدا روي جدول شماره 2 راست كليك كرده و از منوي باز شده گزينه Fields Editor را برگزينيد.

    حال كادر ويرايشگر فيلدها براي جدول 2 باز مي شود . روي آن راست كليك كنيد و سپس Add all fields را انتخاب كنيد تا تمام فيلدهاي جدول 2 به اين كادر افزوده شوند.

    مجددا روي اين كادر راست كليك كرده و اين بار با انتخاب گزينه New field ، يك فيلد جديد تعريف كنيد.

    پنجره New field باز مي شود. در قسمت Name ، نام مناسبي براي فيلد جديد تايپ كنيد مثلا :LookUp1 .

    در بخش Type نيز نوع فيلد را تعيين نماييد . براي اين مثال من String تعريف مي كنم.

    اندازه آن را نيز در بخش Size مشخص نماييد.

    حال در پانل Field Type نوع فيلد جديد را Lookup بگيريد.

    در پانل Lookup definition مي توان از طريق دو گزينه key fields و Lookup keys بين دو جدول ارتباط برقرار نمود. در واقع اين دو گزينه دو فيلدي را در دو جدول تعيين مي كنند كه قرار است از طريق مقادير مساوي آنها دو جدول به هم ربط پيدا كنند.

    در بخش Key Fields نام فيلد مورد نظر از جدول 1 را انتخاب كنيد.

    در بخش Dataset نيز جدول 1 را براي ارتباط بخشيدن آن با جدول 2 برگزينيد.

    حال در قسمت Lookup keys فيلد مورد نظر در جدول دوم را به عنوان كليد جستجو برگزينيد.

    در قسمت Result Field هم فيلدي را برگزينيد كه قرار است به عنوان نتيجه عمل جستجو ، براي كاربر به نمايش درآيد.

    كليد OK را بزنيد.

    دو جدول از طريق فيلد LookUp1 به هم مرتبط مي شوند.

    چنانچه به كادر ويرايشگر فيلدهاي جدول 2 بنگريد ، مي بينيد كه فيلد LookUp1 به ركورد جدول 2 افزوده شده است.آنرا گرفته و روي فرم بكشيد و رها كنيد. نتيجه عمل خود را روي فرم مي بينيد.

  10. یک کاربر برای این پست سودمند از faramarz2006 عزیز تشکر کرده اند:


  11. #6

    پیش فرض نصب يك عنصر موجود در ليست عناصر به صورت DLL در Delphi

    اين مقاله چگونگي نصب يك عنصر يا Component است كه آنرا در اختيار داريد و مي خواهيد از آن استفاده كنيد. ممكن است شما اين عنصر را از اينترنت دريافت كرده ايد و يا از دوستانتان گرفته ايد . به هر حال حتما بايد آنرا به شكل كامل (باتمام فايلهاي مورد نياز) در اختيار داشته باشيد.

    روش به ساده ترين شكل ممكن شرح داده شده است تا براي افراد تازه كار به راحتي قابل انجام باشد . پس از چند بار تمرين مي توانيد خودتان براحتي به شكلهاي مختلف و در مكان هاي مختلف عناصر جديدي را نصب كنيد. اين روش نحوه ايجاد يك Package در يك فايل DLL است تا بتوان عنصر نصب شده را در ليست عناصر و مثلا در سربرگ Samples مشاهده كرد.

    مراحل ايجاد Package :

    1- از منوي File زير منوي New و سپس گزينه Other را انتخاب كنيد.

    2- از كادر New items و از سربرگ New گزينه Package را دابل كليك كنيد.



    3- در پنجره Package روي كليد Add كليك كنيد.



    4- در پنجره Add روي كليد Browse كليك كنيد و فايل Unit مربوط به عنصر را آدرس دهي نماييد . سپس كليد Ok را بفشاريد.



    5- دكمه Compile را در صفحه Package كليك كنيد تا فايل Unit كامپايل و به Package تبديل شود.

    6- براي نصب عنصر روي دكمه Install كليك نماييد.

    7- پنجره Package را ببنديد.

    8- عنصر شما به طور پيش فرض در سربرگ Samples نصب شده و آماده استفاده مي باشد.

  12. 2 کاربر برای این پست سودمند از faramarz2006 عزیز تشکر کرده اند:


  13. #7

    پیش فرض

    با تشکر از راهنمای های شما در مورد ساخت فرم splash
    من چگونه می توانم صفحه project را باز کنم روی صفحه تنها unit را دارم
    با تشکر کیانوش
    ایمیل:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. آموزش Delphi 7
    توسط .IT. در انجمن کامپیوتر
    پاسخ ها: 0
    آخرين نوشته: 26-01-11, 02:23
  2. كشيدن فرم از هر نقطه روي آن در Delphi و VB
    توسط faramarz2006 در انجمن برنامه نویسی
    پاسخ ها: 13
    آخرين نوشته: 08-03-09, 00:37
  3. استخراج اطلاعات سخت افزار در Delphi
    توسط nezamk در انجمن برنامه نویسی
    پاسخ ها: 2
    آخرين نوشته: 05-10-08, 23:51
  4. Delphi 2007 for Win32
    توسط Hector2000 در انجمن برنامه نویسی
    پاسخ ها: 0
    آخرين نوشته: 25-05-08, 14:52
  5. نحوه استفاده از بانكهاي اطلاعاتي در Delphi
    توسط faramarz2006 در انجمن برنامه نویسی
    پاسخ ها: 2
    آخرين نوشته: 07-04-07, 01:09

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
درباره ما

دوستان ما
لینک های مفید
ابزار ها
session بارگذاری مجدد کد امنیتی مندرج در تصویر را وارد کنید: