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

نام تاپیک: حجم هر درایو؟

  1. #1
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    حجم هر درایو؟

    چطور میشه حجم هر درایو رو بدست آورد؟؟؟////
    و اینکه کدوم فلاپیه کدوم سی دیه کدوم فلاش مموریه؟؟
    کدوم روش ویندوز نصبه ؟؟؟
    البته تو سی

  2. #2
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: حجم هر درایو؟

    نمیشه بدون استفاده از api های ویندوز اینو نوشت که
    #include <windows.h>
    داخلش نباشه در ضمن آیا میشه لیست تمام درایو های موجود را با مشخصاتش بدست آورد با همین api های ویندوز و آدرس پوشه های خاص مثل تمپ و غیره؟؟؟؟؟

  3. #3
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: حجم هر درایو؟

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

  4. #4

    نقل قول: حجم هر درایو؟

    نقل قول نوشته شده توسط Negative_Se7en مشاهده تاپیک
    سلام. اگه مظورت تو زبان C بود منم به زبان C نوشتم.
    سلام.
    چند تا چیز نظر من رو توی کدتون به خودش جلب کرد. اولین مساله، نحوه استفاده از مقدار بازگشتی تابع GetDriveType هستش. یعنی چی سوئیچ گذاشتید با 1، 2، 3 و ... مقایسه می کنید؟ این کار اصلا صحیح نیست. روش صحیح نوشتن این کد بدین شکله:


    switch(GetDriveType(_T("C:\\")))
    {
    case DRIVE_UNKNOWN:
    break;
    case DRIVE_NO_ROOT_DIR:
    break;
    case DRIVE_REMOVABLE:
    break;
    case DRIVE_FIXED:
    break;
    case DRIVE_REMOTE:
    break;
    case DRIVE_CDROM:
    break;
    case DRIVE_RAMDISK:
    break;
    }


    الان این کد هم خوانا شد، هم بعد ها دیگه نیازی به Refactoring نداره.

    مساله دوم، نحوه استفاده از Win32 API ها هستش. اگر این فقط یک Sample بوده، مهم نیست، اما در Production Code، حتما باید مقادیر بازگشتی توابع رو چک کنید.

    در نهایت، بهتره جای:

    char buff[256];
    GetSystemDirectory(buff, 256);


    بنویسید:


    CHAR buff[MAX_PATH];
    GetSystemDirectory(buff, sizeof(buff));


    در واقع، هر جا که نیاز به کارکردن با Path ها بود، بهتره از MAX_PATH استفاده کنید...
    موفق باشید.

  5. #5

    نقل قول: حجم هر درایو؟

    نقل قول نوشته شده توسط Negative_Se7en مشاهده تاپیک
    درباره من چی فکر میکنید ؟
    سلام.
    من اینجا نیستم که در مورد شما قضاوت کنم. ضمنا، You are not your code! کسی که از کد شما ایراد میگیره، داره از کد شما ایراد میگیره، نه از شما!

    در هر حال، وقتی خودتون رو به "خوب کد نوشتن" عادت بدید، دیگه براتون فرقی نمیکنه که این کد رو اینجا Submit کنید، یا به سایت مایکروسافت. گذشته از اینها، من این حرف شما رو که جای define ها از اعداد تعریف شده استفاده کرده اید، هرگز نمی تونم قبول کنم. بخاطر سپردن اون اعداد ساده تره، یا اون اسامی؟ یعنی شما حفظ هستید که عدد 5 یعنی RAM DISC اما DRIVE_RAMDISK رو نمیتونید بخاطر بسپرید؟

    در هر صورت، ببخشید که اصلا وارد این بحث شدم.

    موفق باشید.

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

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