برای اینگه فرم و برنامه بهنگام لود کردن یک فایل Text بزرگ در MEMO فریز نشود چه راهی هست؟
برای اینگه فرم و برنامه بهنگام لود کردن یک فایل Text بزرگ در MEMO فریز نشود چه راهی هست؟
ترد Thread
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
ممنون از پاسختون.
من برای این کار از ThreadWorker استفاده کردم و با دستور
Memo1.Lines.loadFromFile(FileListBox1.FileName);
در ترد ورکر که این ترید ورکر با OnChange مربوط به FileListBox1 اجرا میشه.
متاسفانه هنوزم فرمم فریز میشه.![]()
فایلتون چند گیگه؟
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
خیلی بزرگ نیست. در حد چند مگ هست. ولی حدود هفت هشت ثانیه باعث فریز شدن برنامه میشه و این برای برنامه ام خیلی مهمه. چون باید به کلاینتهای شبکه هم درصورت سوال، پاسخدهی کنه. اگه فریز بشه باعث از دست رفتن برخی درخواستها میشه. و نیز برخی کارهای برنامه ریزی شده رو چون با زمان براش تعریف شده ممکنه از دست بده.
یک فایل 50 مگی تست کردم، مشکل پیش میاد، ایراد هم نه در خود لود، بلکه در شی لاین کاستوم شده ممو هست، چون همین فایل رو در استریم، یا حتی در StringList لود کردم و زیر یک ثانیه اتفاق می افته.
یک سری پیام ویندوزی رد و بدل می شه که اونها کار رو کند می کنند.
راه حل چیه، به نظرم اگر اجباری در نشون دادن محتوا به یوزر ندارید اون رو در استرینگ لیست لود کنید، اگر هم اجبار وجود داره این کار رو بانچ بانچ انجام بدید و مثلا هربار 1000 خط لود کنید تا کار لود کامل انجام بشه. احتمالا کامپوننت های دیگه ای از شرکت های دیگه موجود باشند که این قسمت رو شخصی سازی کرده باشند برای سرعت بالاتر، ولی سوال اصلی اینه که اصلا چرا ممو؟
مثلا می شه همین دیتا رو در کلاینت دیتاست لود کرد و در گرید نمایش داد.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
سلام
ممنون از محبت و پاسختون
من با توجه به اینکه اطلاعات دریافتی روی یک خط که شامل پیامهای متنی هست رو روزانه در یک فایل بصورت متن ذخیره میکنم، برای لود اون متن، فایل مربوطه رو باز میکنم و تو ممو نشون میدم. این کار رو با استفاده از FileListBox انجام میدم و کاربر با کلیک روی فایل، اونو در ممو لود میکنه.
ولی باوجودی که حجمی نداره چند ثانیه (هفت هشت ثانیه) برای لودش برنامم فریز میشه.
همون اطلاعات رو در یک مموری تیبل مثل ClientDataSet بریزید و در نهایت در فایل ذخیره کنید، از خود فایل هم به راحتی لود می شه. فرمت XML رو هم ساپورت می کنه.
برای نمایش هم به راحتی در گرید می شه نمایشش داد، سرچ و لوکیت و فیلتر و سایر موارد دیتاست ها رو هم به راحتی روش انجام می دید.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی