View Full Version : سوال: خواندن فایل متن txt
www.pc3enter.tk
شنبه 09 دی 1391, 18:08 عصر
سلام دوستان
من یک سوال داشتم
من با استفاده از این کد می توانم یک فایل متنی را لود کنم
aa=freefile
open "c:\ali.txt" for input as #1
do until eof (1) 'zzzz
line input #1,aa
text1.text=aa
do events
loop
close#aa
(البته این کد یکمی مشکل داره که درست کد آن را حفظ نیستم)
خوب سوال من اینکه چطوری می توانم مثلا خط دوم یا خط سوم را بخونم
چون فقط با این کد فقط می توان خط اول را خواند
با تشکر اگر من را در این مشکل کمک کنید
SlowCode
شنبه 09 دی 1391, 18:42 عصر
سلام
Open "C:\ali.txt" For Input As #1
Do While Not (EOF(1))
Line Input #1, a
i = i + 1
If i = 2 Then Exit Do
Loop
text1.Text = a
close
و یا:
Open "C:\ali.txt"" For Input As #1
AllText = Input(LOF(1), 1)
ln = Split(AllText, vbCrLf)
text1.Text = ln(1)
Close
البته دومی بهتره. چون بهینه تره.
www.pc3enter.tk
سه شنبه 12 دی 1391, 12:12 عصر
ممنون
حالا یک سوال دیگه دارم
اگر داخل تکس باکس چند سطر متن داشته باشیم چه جوری می توانم مثلا خط سوم را تغییر بدهم
=======================================
و سوال دیگه چه جوری می توانم فقط خط چهارم را بخوانم
SlowCode
سه شنبه 12 دی 1391, 13:03 عصر
میتونی از کد زیر استفاده کنی(البته شاید راه ساده تری هم باشه):
Open "C:\log.txt" For Input As #1
AllText = Input(LOF(1), 1)
ln = Split(AllText, vbCrLf)
a = ln(3)
Close
ln(3) = "Text changed!"
Open "C:\log.txt" For Output As #1
For i = 0 To UBound(ln)
Print #1, ln(i)
Next
Close
یعنی ما سطر ها رو میریزیم تو یه آرایه بعد سطر دلخواه رو تغییر میدیم و بعد مینویسیم توی فایل.
و سوال دیگه چه جوری می توانم فقط خط چهارم را بخوانم
text1.Text = ln(3)
mehran901
شنبه 23 دی 1391, 14:42 عصر
البته از متغییر های FSO و رفرنس Microsoft Scripting runtime هم می تونی برای این منظور استفاده کنی اگه برات مهمه خط به خط بخونی روشی که بیای فایل رو باز کنی و با EOF آخرشو چک کنی و خط به خط رو اینجوری بخونی مشکل ایجاد میکنه یادمه رو ی پروژه که کار میکردم بعضی از سطر ها که یادم نیست با کاراکتر های خاصی شروع میشدن باعث به وجود اومدن یک مشکل مسخره میشدن و اون این بود که ردیف خطوط به خوبی مشخص نمیشد ...
و برای به دست آوردن اطلاعات خاصی تو اون پروژه از FOS استفاده کردم که به مراتب بهتر از open Address for input as # freefile هست !
بعد از اضافه کردن رفرنسی که در بالا بهش اشاره کردم به داخل برنامت از این طریق می تونی به اطلاعات فایل تکست دسترسی داشته باشی و فایل متنی رو مدیریت کنی
Dim fso as new filesystemobject
dim f as file
dim text as textstream
Set file = fso.getfile (Path)
set text = file.openastextstream(forappending )
البته FOrappending وقتی استفاده میشه که بخوای بدون حذف اطلاعات سابقت ، اطلاعات جدیدی به فایل اضافه کنی و ForWriting , ForReading هم که از اسمش مشخصه....
حالا به راحتی به پروسیجر هایی که در اختیارت قرار میده میتونی فایل متنیت رو به بهترین شکل مدیریت کنی
majid12376
سه شنبه 30 مهر 1392, 19:37 عصر
سلام من یه کد میخوام که بتونم یه فایل متنی رو لود کنه بعد برای اخر هر خط از فایل متنی علامت کاما بذاره
من خودم کدشو دارم ولی وقتی تعداد خط های فایل متنی زیاد باشه برنامه هنگ میکنه
این برنامه برای ارسال ایمیل گروهی میخوام
فایل متنی هر خطش ادرس یه ایمیل باشه
rahnema1
سه شنبه 30 مهر 1392, 21:40 عصر
سلام من یه کد میخوام که بتونم یه فایل متنی رو لود کنه بعد برای اخر هر خط از فایل متنی علامت کاما بذاره
من خودم کدشو دارم ولی وقتی تعداد خط های فایل متنی زیاد باشه برنامه هنگ میکنه
این برنامه برای ارسال ایمیل گروهی میخوام
فایل متنی هر خطش ادرس یه ایمیل باشه
کدی که نوشتی بذار اینجا ببینیم چه ایرادی داره؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.