PDA

View Full Version : چطوری می توان خواندن فایل متنی را در ریچباکس ممکن کرد؟



king123456
شنبه 19 دی 1394, 16:37 عصر
سلام خدمت دوستان


من یک فایل متنی txt دارم که حجمش خیلی خیلی زیاده! 53 کیلو بایته! وقتی این فایل متنی را با نت پد باز می کنم زمان خیلی زیادی طول میکشه تا کل فایل توی نت پد لود بشه! ولی میشه!

همین کار رو در vb.net با دستور زیر انجام می دم و میشه:


TextBox1.Text = IO.File.ReadAllText(Application.StartupPath & "\" & "Origen.txt")

ولی وقتی اینکار رو برای ریچباکس می کنم نمیشه!!!! و کدی که استفاده می کنم اینه:


RichTextBox1.Text = IO.File.ReadAllText(Application.StartupPath & "\" & "cbmcdscckk-77119130115-e997io.txt")


و این خطا رو می ده:



138287


لطفا راهنمایی کنید، به نظرم بهتره از نخ استفاده کنم اما نمی دونم چطوری!!!!

pbm_soy
یک شنبه 20 دی 1394, 02:08 صبح
دستوری که نوشتید مشکلی ندارد و کار میکند حتی حجم فایل بیشتر از اینها هم باشد کار میکند من خودم یادم میاد با این دستور فایل حدود 4 الی 5 مگابایتی را تو richtextbox لود کردم فقط خیلی طول میکشد و نباید با برنامه و یا فرم کار کنید و یا جاهای دیگه فرم کلیک کنید باعث قفل شدن برنامه میشود
بله بهترین کار این است با تردها اینکار را انجام دهید و یا فایل را بخش ، بخش بخوانید و نمایش دهید بجای اینکه همه را باهم نمایش دهید

در ضمن این پیام یک هشدار است فکر میکنم تو ویژوال استودیو میتوانستید این نوع پیامها را در مد دیباگ فعال یا غیرفعال کنید در منوی debug بخش exceptions بود در زیرمجموعه MDA ها اگر درست یادم مانده باشد!
MDA -- Managed Debuged Assistants
اشتباه نکنم در ورژن 2008 و 2005 چنین خطائی را نمیگرفت! بخاطر تنظیماتی که گفتم ولی کار منطقی استفاده از Threadها است (50،60 کیلو برای سیستمهای امروزی زیاد به حساب نمیاد)

king123456
دوشنبه 21 دی 1394, 02:59 صبح
با تشکر از لطف شما!

دو سوال دارم:

1- چطوری با استفاده از نخها می تونم این کارو بکنم؟

2- چطوری می تونم فایل رو تکه تکه بخونم؟ مثلا اول نصف اطلاعات رو لود کنم بعد نصف دیگش رو؟

pbm_soy
سه شنبه 22 دی 1394, 00:01 صبح
با تیکه کد زیر یک خط از فایل را میتوانید بخوانید با استفاده از حلقه میتوانید تعداد مشخصی از خطوط را بخوانید و در richtextbox نمایش دهید


string myLine="";
StreamReader sr = new StreamReader("e:\\test.txt", Encoding.UTF8);
myLine = sr.ReadLine();



البته روشی که در برنامه ها و بازیهای گرافیکی تحت داس و قدیمی را اینجا استفاده کنید مثلا برای یک تصویر را نمایش میدادند و در پشت صحنه در بخش دیگری از رم کارت گرافیک تصویر بعدی را ترسیم میکردند وقتی آماده میشد آن بخش از رم گرافیکی را نمایش میدادند البته این تکنیک هنوزهم در سیستمهای گرافیکی استفاده میشود
شماهم میتوانید دوتا richtextbox داشته باشید یکی مخفی باشد 20 خط را در اولی نمایش دهید و زدن گزینه صفحه بعدی 20 خط بعدی را نمایش دهید که این 20 خط بعدی در richtextbox مخفی اود شده و فقط کافی است آن را visible کنید

king123456
سه شنبه 22 دی 1394, 21:12 عصر
سلام

من کدهای مربوط به ساخت نخ رو می خوام. چطوری با نخ دستور خواندن رو صادر کنم؟