نمایش نتایج 1 تا 17 از 17

نام تاپیک: نکات دلفی و توابع کاربردی

  1. #1
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    Post نکات دلفی و توابع کاربردی

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




    تابعی جهت بدست آوردن ولوم سریالِ دیسک 2#
    چگونه Edit فقط عدد بگیرد 3#
    چگونه برنامه مان فقط یک نسخه اجرا شود 6#
    تغییر رزولوشن مانیتور 7#
    چگونه Edit فقط عدد بگیرد 12#
    ساختن کتابخانه توابع 14#
    پاک کردن تمام EDIT های فرم 15#
    آخرین ویرایش به وسیله hr110 : دوشنبه 26 فروردین 1387 در 19:24 عصر

  2. #2
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    تابعی جهت بدست آوردن ولوم سریالِ دیسک

    با این تابع می توانید ولوم سریالِ دیسک را بدست آوردید


    Function GetDiscVolSerialID(cDriveName : char) :DWORD;
    var
    dwtemp1,dwtemp2 : DWORD;
    begin
    GetVolumeInformation(PChar(cDriveName + ':\'),Nil,0,@Result , dwtemp1 ,dwtemp2,Nil, 0);
    end;
    آخرین ویرایش به وسیله babak_delphi : دوشنبه 26 فروردین 1387 در 18:58 عصر

  3. #3
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    Post چگونه Edit فقط عدد بگیرد

    تابعی که میشه اون رو در رویدادهای کیبورد برای Edit قرار داد تا فقط عدد بگیره


    Function IsNum(ch : char) : char;
    begin
    if Pos(ch,#8#13'1234567890') = 0 then
    ch := #0;
    Result := ch;
    end;

    آخرین ویرایش به وسیله babak_delphi : دوشنبه 26 فروردین 1387 در 18:59 عصر

  4. #4
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634
    شما هم اگر توابع کاربردی دارید بگذارید تا تاپیک کاربردی بشه

  5. #5
    اگر بتونید در صفحه اول تاپیک (پست اول) فهرستی از نکات را آماده کنید، با دسته بندی موضوعی، و پست های بی ربط (مثل تشکر، یا سوال) را گزارش کنید تا حذف بشند، تاپیک مفیدی خواهد شد. در صورت انجام این کار، تاپیک بصورت اعلان در میاد.

    موفق باشید


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  6. #6
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    Post چگونه برنامه مان فقط یک نسخه اجرا شود

    برای اینکه بعد از اجرای برنامه اگر کاربر روی آیکن برنامه کلیک کرد ، همزمان چند نسخه از اون اجرا نشه می تونیم فایل DPR پروژه رو بصورت زیر تغییر بدیم


    uses
    windows;
    var
    hmutex : THandle;
    begin
    hmutex := CreateMutex(nil,false,'OneCopyMutex');
    if waitforsingleobject(hmutex, 0) <> wait_timeout then
    begin
    Application.Initialize;
    .
    .
    .
    Application.Run;
    end;
    end.
    آخرین ویرایش به وسیله babak_delphi : دوشنبه 26 فروردین 1387 در 19:00 عصر

  7. #7
    کاربر دائمی آواتار computer-mag
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    شهر گنبدهای فیروزه ای
    پست
    163
    تغییر رزولوشن مانیتور



    function SetDisplay1024x768: Boolean;
    var
    DevMode: TDeviceMode;
    begin
    EnumDisplaySettings(nil, 0, DevMode);
    DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
    DevMode.dmPelsWidth := 1024;
    DevMode.dmPelsHeight := 768;
    Result := ChangeDisplaySettings(DevMode, CDS_UPDATEREGISTRY)
    = DISP_CHANGE_SUCCESSFUL;
    end;

    این رو از وبلاگی برداشتم ولی چون قدیمی هست منبعش رو متاسفانه یادم نیست

  8. #8
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
    اگر بتونید در صفحه اول تاپیک (پست اول) فهرستی از نکات را آماده کنید، با دسته بندی موضوعی، و پست های بی ربط (مثل تشکر، یا سوال) را گزارش کنید تا حذف بشند، تاپیک مفیدی خواهد شد. در صورت انجام این کار، تاپیک بصورت اعلان در میاد.

    موفق باشید
    جناب کشاورز شما چرا!؟ در اعلانات این بخش تاپیکی به نام "نکات برنامه نویسی در دلفی" تاپیک شماره 52234 که به این امر اختصاص داده شده.

    لطفاً دوستان تمامی نکات رو در این تاپیک مرقوم بفرمایند، ضمنا در این اولی پست نیز ایندکس وجود دارد.

    با عرض پوزش و تشکر فراوان
    ... چه بگویم که غم از دل برود چون تو بیایی

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112
    تاپیک نکات برنامه نویسی در دلفی مناسب تر نیست؟ البته با یه فهرست بندی موضوعی.

  10. #10
    من چند تا پست در زمینه توابع کاربردی و خوب دلفی نوشتم
    اگه میشه ادرس تاپیک هایی که قبلا نوشتید بدید

  11. #11
    نقل قول نوشته شده توسط babak_delphi مشاهده تاپیک
    تابعی که میشه اون رو در رویدادهای کیبورد برای Edit قرار داد تا فقط عدد بگیره


    Function IsNum(ch : char) : char;
    begin
    if Pos(ch,#8#13'1234567890') = 0 then
    ch := #0;
    Result := ch;
    end;



    از این کد هم می توان به منظور مورد نظر رسید


    if key = #13 then
    frmAddNewItem.SelectNext(edtMablaq,true,false);
    if not(key in ['0'..'9',#8]) then
    begin
    key:=#0;
    beep;
    end;

  12. #12
    نقل قول نوشته شده توسط babak_delphi مشاهده تاپیک
    تابعی که میشه اون رو در رویدادهای کیبورد برای Edit قرار داد تا فقط عدد بگیره


    Function IsNum(ch : char) : char;
    begin
    if Pos(ch,#8#13'1234567890') = 0 then
    ch := #0;
    Result := ch;
    end;



    از این کد هم می توان به منظور مورد نظر رسید




    if not(key in ['0'..'9',#8]) then
    begin
    ;key:=#0
    ;beep
    ;end

  13. #13
    نقل قول نوشته شده توسط babak_delphi مشاهده تاپیک
    تابعی که میشه اون رو در رویدادهای کیبورد برای Edit قرار داد تا فقط عدد بگیره


    Function IsNum(ch : char) : char;
    begin
    if Pos(ch,#8#13'1234567890') = 0 then
    ch := #0;
    Result := ch;
    end;

    از این کد هم میشه استفاده کرد

    if not(key in ['0'..'9',#8]) then
    begin
    ;key:=#0
    ;beep
    ;end

  14. #14
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634
    شما خودتون می تونید مثل دلفی یا هر زبان برنامه نویسی دیگر ، برای خود کتابخانه ای از توابع بنویسید و با کپی کردن آن در پروژه ها یا اضافه کردن آن به مسیر فایلهای دلفی در تنظیمات کامپایلر و سپس USE کردن در فرمها ، می توانید از توابع موجود در آن در تمام پروژه هایتان استفاده کنید
    فقط باید توابع را عمومی بنویسید و مثلا از نام فرم یا در کل نام کنترل استفاده نکنید و نهایتا اگر مجبور به این کار بودید آن کنترل یا نام آن (مورد دوم بهتر است) را به صورت پارامتر به توابعتان ارسال کنید

  15. #15
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634
    در اکثر فرمهایی که برای دریافت اطلاعات از کاربر هستند ، معمولا دکمه ای داریم که برای پاک کردن فرم یا در حقیقت پاک کردن محتوای Edit ها بکار میره
    میتونید کد زیر رو برای این دکمه قرار بدین تا لازم نباشه که برای هر فرم تک تک edit ها رو بنویسید
    این کد به این صورت کار میکنه که روی فرم تمام Edit ها رو پیدا میکنه و اونها رو Clear می کنه

    procedure clear_Edits;
    var
    cnt : integer;
    begin
    for cnt := 0 to ComponentCount - 1 do
    begin
    if Components[cnt].ClassName = 'TEdit' then
    TEdit(Components[cnt]).Clear
    end;
    end;


    حالا اگه توابعتون رو در یک کتابخونه نگهداری می کنید و اون Unit رو در فرمتون Use می کنید ، می تونید این تابع رو به شکل زیر تغییر بدین تا با فراخوانی از یک Unit دیگه هم بدرستی کار کنه


    procedure clear_Edits;
    var
    cnt : integer;
    begin
    for cnt := 0 to Screen.ActiveForm.ComponentCount - 1 do
    begin
    if (Screen.ActiveForm.Components[cnt].ClassName = 'TEdit') then
    TEdit(Screen.ActiveForm.Components[cnt]).Clear
    end;
    end

  16. #16
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    Lightbulb

    جناب آقای hr110 من اون تاپیک که اعلان شده رو دیدم
    خب این هم یک تاپیکه
    به هر حا شما یا آقای کشاورز عزیز اگر صلاح می دونید این پستها رو به اونجا منتقل کنید و به من هم اطلاع بدید
    اگر هم که نه ، همینجا ادامه میدیم

    یا حق

  17. #17
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    قرار بود که تمامی مطالب و موضوعات در اون تاپیک پیگیری شوند که کاربران از سردرگمی رها بشن و همچنین مطالب تکراری عنوان نشه.

    لطفاً اینگونه مطالب رو در همون تاپیک ادامه دهید، به این دلیل من این تاپیک رو قفل میکنم.
    ... چه بگویم که غم از دل برود چون تو بیایی

قوانین ایجاد تاپیک در تالار

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