PDA

View Full Version : دستور صحیح برای خواندن فایل در حالت Input



M.T.P
پنج شنبه 13 اسفند 1388, 16:09 عصر
دوستان من یه فایل Txt دارم و در سه خط 3 تا اسم رو توش Print کردم.. برنامه فایل رو ایجاد میکنه و هیچ مشکلی نداره...
حالا به چه دستوری این سه خط رو بخونم؟:متفکر:
کد زیر چه ایرادی داره که شرطش هیچ وقت درست نمیشه!!!!



....
Do Until EOF(1) = True
Input(1,strTemp)
List1.Items.Add(strtemp)
Loop
....


یا این کد:



....
Do Until EOF(1) = True
strTemp = FileSystem.LineInput(1)
List1.Items.Add(strtemp)
Loop
....


هر دو تاشو تست کردم هیچ موقع شرط حلقه True نمیشه:عصبانی++:

M.T.P
پنج شنبه 13 اسفند 1388, 17:46 عصر
فکر کنم باید بزنی

چی رو بزنم :متعجب:

pouyansaraf
پنج شنبه 13 اسفند 1388, 18:03 عصر
منظورم اینه که تا زمانی که به پایان فایل نرسیده باید حلقه تکرار بشه
شما نوشته True = (1) EOF یعنی اگر پایان فایل نباشد آنتیل خاتمه پیدا کند.
که همان اول خارج میشود
با وایل همینجور بنویسید
ببخشید.
دفعه پیش خودم نیدونم چی نوشتم.
:اشتباه:

sari-1369
پنج شنبه 13 اسفند 1388, 18:07 عصر
Dim A = System.IO.File.ReadAllLines("path")

M.T.P
پنج شنبه 13 اسفند 1388, 18:17 عصر
با تشکر از پاسختون:قلب: اما........:عصبانی++:


که همان اول خارج میشود

مشکل اینجاست که وارد میشه اما دیگه خارج نمیشه
وارد حلقه میشه اما هیچ وقت شرط حلقه(اگر به پایان فایل رسیدی) True نمیشه و از حلقه خارج نمیشه:عصبانی:
فکر کنم همیشه خط اول فایل رو می خونه و به خط بعدی نمیره:متفکر:
داخل فایل TXT که گفتم به این شکله:

Ali
Ahmad
Reza

M.T.P
پنج شنبه 13 اسفند 1388, 18:25 عصر
Dim A = System.IO.File.ReadAllLines("path")


ممنون از پاسخ شما
کد خودم رو میتونین اصلاح کنین؟؟؟ کد vb6 بوده آپگرید شده اما جواب نمیده:عصبانی++:

و اما در مورد کد خودتون:
خب حالا چطور مقادیر این متغیر رو تیکه تیکه بخونم و تو لیست Add کنم؟:متفکر:

sari-1369
پنج شنبه 13 اسفند 1388, 18:54 عصر
یه آرایه از نوع String به تعداد سطر های فایل میسازه

هر سطر از فایل Text رو توی یه خونه از آرایه میریزه.

Dim A = System.IO.File.ReadAllLines("path")
Me.Text = A(0)
Me.Text = A(1)
Me.Text = A(2)

M.T.P
پنج شنبه 13 اسفند 1388, 18:58 عصر
یه آرایه از نوع String به تعداد سطر های فایل میسازه

هر سطر از فایل Text رو توی یه خونه از آرایه میریزه.

Dim A = System.IO.File.ReadAllLines("path")
Me.Text = A(0)
Me.Text = A(1)
Me.Text = A(2)
حل شد.
قربون اون تیپ داش مشتیت برم رفیق:چشمک:
کلی باهاش حال کردم:قهقهه:

M.T.P
پنج شنبه 13 اسفند 1388, 19:33 عصر
از تابعی که فرمودین استفاده کردم و مشکل نداره اما اگه کلمه های فارسی توش باشه بصورت مربع لود میشه!!!!
تو آرگومان دومش نوشته Unicode چی باشه؟؟؟ چی بنویسم؟:متفکر:

sari-1369
پنج شنبه 13 اسفند 1388, 19:41 عصر
از تابعی که فرمودین استفاده کردم و مشکل نداره اما اگه کلمه های فارسی توش باشه بصورت مربع لود میشه!!!!
تو آرگومان دومش نوشته Unicode چی باشه؟؟؟ چی بنویسم؟:متفکر:

System.Text.Encoding.UTF8

M.T.P
پنج شنبه 13 اسفند 1388, 19:43 عصر
سپاسگزارم
با System.Text.Encoding.Default حل شد.:قلب: