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

نام تاپیک: خراب شدن فایل با قطع برق

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    967

    خراب شدن فایل با قطع برق

    سلام خدمت دوستان
    یه مدت هست یه مشکل جدی در فایلهایی که از یک برنامه تایپ استفاده می کنند پیش میاد.
    معمولا هنگام قطع برق پیش میاد اما گزارش شده که در حال کار عادی هم پیش اومده.
    برنامه با فشار هر کلید فاصله و همچنین بعضی کارهای دیگه هم فایل رو ذخیره می کنه و هم پشتیبان میگیره.
    مشکلی که پیش میاد این هست که گاهی کل فایل با کارکتر صفر پر میشه و دیده شده که انتهای فایل خراب میشه. مثلا چند روز پیش یه لحظه برق کم و زیاد شد، یه فایل 25 کیلو بایتی شد 31 بایت(در انتهای هر فایل کارکتر & وجود داره و در قسمتی از برنامه کارکترهای انتهای فایل بعد از اون رو که فاصله یا انتهای سطر باشند(عملا غیر مفید)، خودکار حذف می کنم).
    نمی دونم چرا محتوای فایل تغییر می کنه. شاید بتونم هر پنج دقیقه یک فایل موقت درست کنم(مثل کاری که مایکروسافت ورد می کنه) اما مطمئن نیستم که آیا تایمر در عمل برنامه اخلال ایجاد می کنه یا نه ولی در هر صورت مشکل اینطوری حل نمیشه.
    خیلی پیش شخصی به من گفت چرا وقتی برنامه دیگری روی مجموعه از فایلها کار کرده ولی هنوز برنامه رو نبسته ایم، فایلها قفل هستند.(چون خیلی پیش بود یادم نمیاد میخواست با برنامه فایل باز کنه یا حذف کنه یا چه کاری بود)
    می ترسم فایل اخیری که برنامه روش کار می کنه به نحوی هنوز بسته نشده باشه و باقطع برق، محتواش خراب بشه.چون فقط فایل جاری خراب میشد.
    من با چنین کدی فایل رو ذخیره می کنم:
        If MakeBackup=True then
    BackUp(CurFileName);
    AssignFile(F,CurFileName);
    ReWrite(F,1);
    Seek(F,0);
    BlockWrite(F,Pointer(FileStr)^,Length(FileStr));
    CloseFile(F);


    نمی دونم تغییر نحوه ذخیره اطلاعات متن فایل کمکی می کنه؟ آیا بهتره از فایل استریم یا FileOpen استفاده کنم یا نه؟
    آخرین ویرایش به وسیله mbshareat : سه شنبه 06 دی 1401 در 18:59 عصر

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

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