PDA

View Full Version : خواندن خط به خط فایل متنی در لیبل ها



barnamenevisjavan
جمعه 19 آبان 1391, 14:52 عصر
سلام یه سوال داشتم چطوری میتونیم یه فایل متنی که توش به فرض 10 خط متن وجود داره رو تک تک متن های خط رو در لیبل های جداگانه نشون بدیم؟
مثلا این نوشته ها توی یه فایل متنی هستش:

save
open
test
mahdi

چطوری مثلا save رو توی لیبل1 نشون بدیم؟و همینطور test رو توی لیبل3 نشون بدیم؟و همینطور الی آخر...

harani
جمعه 19 آبان 1391, 15:06 عصر
var texts = label1.Text.Split('\n');//a
label2.Text = text[0];//b
label3.Text = txet[2];//d

barnamenevisjavan
جمعه 19 آبان 1391, 15:34 عصر
مثل اینکه کد بالا جواب نداد!
من با کد زیر یه فایل متنی رو که در کنار فایل اجرایی برنامه هست در لیبل نشون میدم حالا میشه کد رو اصلاح کنید و مثلا خط دوم رو نشون بده؟
Label1.Text == System.IO.File.ReadAllText(Application.StartupPath + "/tag.txt", System.Text.Encoding.UTF8)

مهرداد صفا
جمعه 19 آبان 1391, 17:01 عصر
سلام یه سوال داشتم چطوری میتونیم یه فایل متنی که توش به فرض 10 خط متن وجود داره رو تک تک متن های خط رو در لیبل های جداگانه نشون بدیم؟
مثلا این نوشته ها توی یه فایل متنی هستش:

save
open
test
mahdi

چطوری مثلا save رو توی لیبل1 نشون بدیم؟و همینطور test رو توی لیبل3 نشون بدیم؟و همینطور الی آخر...
سلام
میتوانید با متود File.ReadAllLines فایل را بخوانید تا یک آرایه از خطوط مربوط به متون فایل داشته باشید و هر خط را به متن یک Label نسبت دهید.
با فرض اینکه به تعداد خطوط فایل Label در فرم وجود دارد و نام آنها به ترتیب label1, label2, .. است کدی شبیه به کد زیر را استفاده کنید:

string[] lines = System.IO.File.ReadAllLines(Application.StartupPat h + "/tag.txt", System.Text.Encoding.UTF8);
for (int i = 0; i < lines.Count(); i++)
{
this.Controls.Find("label" + (i+1).ToString(),true )[0].Text = lines[i];
}

barnamenevisjavan
جمعه 19 آبان 1391, 17:12 عصر
توی این خط
for (int i = 0; i < lines.Count(); i++)

Count
رو خطا میگیره

مهرداد صفا
جمعه 19 آبان 1391, 17:55 عصر
توی این خط
for (int i = 0; i < lines.Count(); i++)

Count
رو خطا میگیره
عبارت
using System.Linq; را اضافه کنید یا به جای Count از Length استفاده کنید. به این صورت:

for (int i = 0; i < lines.Length ; i++)

barnamenevisjavan
جمعه 19 آبان 1391, 18:38 عصر
جواب نمیده:عصبانی++:

barnamenevisjavan
جمعه 19 آبان 1391, 18:42 عصر
آغا درست شد مرسی:تشویق:
یکم باید کد رو ویرایش میکردم