واضح آرشیو وب فارسی:سایت ریسک: درخواست سورس-باز كردن txt. در textbox penta 3 10 آبان 1389, 21:01سلام .اگه ميشه يك سورس براي من بنويسيد كه بشه بعد از اينه فورم لود شد يك فايل txt. در textbox كه باز بشه كه بشه متن را ويرايش كرد و بعد همون جا ذخيره بشه ! ادرس txt. مثال : "Explan.txt" the_king 12 آبان 1389, 11:23سلام .اگه ميشه يك سورس براي من بنويسيد كه بشه بعد از اينه فورم لود شد يك فايل txt. در textbox كه باز بشه كه بشه متن را ويرايش كرد و بعد همون جا ذخيره بشه ! ادرس txt. مثال : "Explan.txt" قسمت اول، موقع فراخوانی فرم در رخداد Form_Load متن موجود در فایل رو می خوانیم : Private Sub Form_Load() On Error Resume Next Dim Text As String Open "C:Explan.txt" For Input As #1 Line Input #1, Text Close #1 Text1.Text = Text End Sub در صورتی که فایل موجود نباشه یا خطا در دسترسی به فایل رخ بده با خطا برنامه متوقف میشه. به همین دلیل ابتدای کد، سطر On Error Resume Next رو می نویسیم که از نمایش خطا جلوگیری بشه. قسمت دوم، زمانی که فرم (پنجره) بسته بشه (با کلیک کردن روی ضربدر اش و یا ترکیب کلیدی Alt + F4) آنگاه محتویات TextBox رو در فایل ذخیره می کنیم : Private Sub Form_Unload(Cancel As Integer) On Error Resume Next Open "C:Explan.txt" For Output As #1 Print #1, Text1.Text Close #1 End Sub A_123 12 آبان 1389, 11:58سلام میگم دستور print با دستور put فرقی هم داره؟ 2.بعد از for در موقع باز کردن فایل میتوان به جای input , از random و یا append هم استفاده کرد. اینها چه فرقی و چه تفاوت کاربردی ای با هم دارند؟ penta 3 13 آبان 1389, 18:36سلام واقعا ممنونم كه وقت گذاشتيد و اين كد رو برام نوشتيد . فقط من يك مشكل ديگه واسم پيش اومده كه سورس بالا فقط خط اول رو تو textbox مياره ! چي به اين سورس اضافه كنم كه حداقل 10 خط اول رو بتونه نشون بده . مرسي the_king 13 آبان 1389, 23:03سلام میگم دستور print با دستور put فرقی هم داره؟ 2.بعد از for در موقع باز کردن فایل میتوان به جای input , از random و یا append هم استفاده کرد. اینها چه فرقی و چه تفاوت کاربردی ای با هم دارند؟ دستور Print مناسب فایل های متنی است یعنی تعداد سطر که در هر کدوم عبارت هایی نوشته شده، مثلا یک رشته یا چند عدد رو بصورت متن بنویسه. اما Put مناسب فایل های باینری است، یعنی فایل رو بصورت یک مجموعه از بایت ها نه عبارت های رشته ای. Input یک فایل متنی رو برای خوندن باز می کنه، فایلی که فقط برای خوندن باز میشه و قابل نوشتن نیست. Random یک فایل باینری رو بصورت مجموعه ای از رکورد می بینه که رکورد ها طول ثابتی دارند، مثلا رکورد های 100 بایتی. در واقع محتویات فایل رو به چندین تکه با طول های مساوی می شکونه و فقط رکورد به رکورد فایل رو پیمایش می کنه، نه بایت به بایت. هم برای خوندن بکار می بره و هم برای نوشتن. بعضی از بانک اطلاعاتی های ساده مثل دفترچه تلفن رو می شه با این شیوه مدیریت کرد. Append زمانی بکار می ره که بخواهیم به آخر یک فایل که قبلا اطلاعاتی توش ذخیره شده اطلاعاتی جدیدی رو اضافه کنیم. مثلا چهار صفحه از یک کتاب رو در فایل ذخیره کردیم و حالا صفحه پنجم رو به انتهای فایل اضافه می کنیم. A_123 22 آذر 1389, 09:10سلام واقعا ممنونم كه وقت گذاشتيد و اين كد رو برام نوشتيد . فقط من يك مشكل ديگه واسم پيش اومده كه سورس بالا فقط خط اول رو تو textbox مياره ! چي به اين سورس اضافه كنم كه حداقل 10 خط اول رو بتونه نشون بده . مرسي فكر نكنم با اين دستورات بشه بيش از يه خط رو توي textbox بياري. حالا ادمين يه توضيحي بدن:rose: A_123 19 بهمن 1389, 00:49ادمین جان حالا که وقت گزاشتی, میشه جواب این سوال دوستمونو هم بدی لطفا the_king 19 بهمن 1389, 11:23سلام واقعا ممنونم كه وقت گذاشتيد و اين كد رو برام نوشتيد . فقط من يك مشكل ديگه واسم پيش اومده كه سورس بالا فقط خط اول رو تو textbox مياره ! چي به اين سورس اضافه كنم كه حداقل 10 خط اول رو بتونه نشون بده . مرسي فكر نكنم با اين دستورات بشه بيش از يه خط رو توي textbox بياري. حالا ادمين يه توضيحي بدن:rose: ادمین جان حالا که وقت گزاشتی, میشه جواب این سوال دوستمونو هم بدی لطفا زمانی که از دستور Line Input #1 استفاده میشه، کاراکتر ها تا بخشی خوانده می شوند که به کاراکتر های CR و LF برسیم، که همان کاراکتر هایی هستند که با کلید Enter درج می شوند. برای خواندن کل سطر ها چند روش رو میشه بکار برد. روش اول، استفاده از Line Input های متوالی : Private Sub Form_Load() On Error Resume Next Dim Text As String, Full As String Open "C:Explan.txt" For Input As #1 Do Until EOF(1) Line Input #1, Text Full = Full & IIf(Len(Full) = 0, "", vbCrLf) & Text Loop Close #1 Text1.Text = Full End Sub روش دوم، خواندن یک مرحله ای کل فایل بصورت باینری : Private Sub Form_Load() On Error Resume Next Dim Buffer() As Byte, Full As String Open "C:Explan.txt" For Binary As #1 If LOF(1) > 0 Then ReDim Buffer(0 To LOF(1) - 1) Get #1, , Buffer Full = StrConv(Buffer, vbUnicode) End If Close #1 Text1.Text = Full End Sub سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 629]