سلام دوستان
من یه برنامه نوشتم که یه سری رکورد رو تویه یه فایل به صورت ترتیبی نوشته
چطور میتونم هر رکوردی رو که می خونم رو نمایش بدم؟
ممنون میشم کمکم کنید :n01:
Printable View
سلام دوستان
من یه برنامه نوشتم که یه سری رکورد رو تویه یه فایل به صورت ترتیبی نوشته
چطور میتونم هر رکوردی رو که می خونم رو نمایش بدم؟
ممنون میشم کمکم کنید :n01:
دوستان لطفا کمکم کنید اینم کدم هست اما مشکل داره
کد:label1.Text = "";
input = new FileStream("test.txt", FileMode.Open, FileAccess.Read);
for(int j= 1 ;j<=2;j++)
{
Record record = (Record)reader.Deserialize(input);
label1.Text += "Student Code : " + record.StNo.ToString() + "\n" + "Name : " + record.FName + "\n"
+ "Last Name : " + record.LName + "\n" + "Grade : " + record.Grade.ToString()+"\n";
}
سلام
همه رکوردها را خوانده و در یک list اضافه کنید.
در نهایت list را برای نمایش به یک DataGrid یا GridView و... بدهید...
اگرکد قبلی تان صحیح باشد ، کدجدید چیزی شبیه این خواهد شد.
کد:var list = new List<Record>();
input = new FileStream("test.txt", FileMode.Open, FileAccess.Read);
for (int j = 1; j <= 2; j++)
{
Record record = (Record)reader.Deserialize(input);
list.Add(record);
}
datagridview1.DataSource = list;
input.Dispose();
ممنون از توجهتون
اما متاسفانه کدی که من به اشتراک گذاشتم صحیح نیست و منبعی رو برای تصحیح کد پیدا نکردم
ممنون میشم کمکم کنید
سلام
اگر فایل را خودتان هم تولید میکنید، پیشنهاد میکنم از تکنولوژی های بروزتر و ساده تر و عمومی تری مانند XML استفاده کنید.
---کد:<list>
<row>
<code>123</code>
<name>Ali</name>
</row>
<row>
<code>124</code>
<name>Nader</name>
</row>
...
</list>
درنهایت، فایل باینری را خودتان ساخته اید یا خروجی برنامه ای دیگر است؟
پروژه دانشگاهی است؟ میتوانید از XML استفاده کنید؟
اگر خروجی یک برنامه دیگر است ، نمونه ای از فایل را آپلود کنید، و برای خواندن فایل باینری برنامه دیگر باید مشخص شود هر رکورد شما ،در فایل شامل ترتیب چه نوع فیلدهایی است؟ متن ها با چه فرمتی (Ascii, Utf8, Unicode ...) ذخیره شده اند؟ متن ها طول ثابت دارند یا متغیر ؟ اگر ثابت است اضافه فضا از کدام طرف و با چه کاراکتری پر میشود؟ اگر طول متن در فایل متغییر است، AsciiZ است؟ یا عدد طول با تعداد بایتی مشخص در اول ذخیره شده؟ و... و...
ممنون از راهنماییتون خیلی لطف کردین
راستش من میخواستم که یه سری اطلاعات رو تویه بانک اطلاعاتیم از طریق DataGride بخونم و تویه یه فایل ذخیره کنم
بعد بتونم هر زمان که بخوام اون اطلاعات رو از فایل بخونم و روی فرم نمایشش بدم
اگه امکانش هست کمکم کنید ممنون میشم :n16:
سلام
فایل زیر را به پروژه تان اضافه کنید.
اگر کمی csharp بلد باشید، راحت میتوانید از توابع PersonSerializer.Open و PersonSerializer.Save جهت خواندن نوشتن اطلاعات تان با فرمت xml استفاده کنید.
شی <List<Person مانند آرایه ها شامل تعداد زیادی Person میتواند باشد و امکان Add و Remove هم دارد.
فایل را Open میکنید و پس از Add و Remove اطلاعات نهایی را Save کنید.
کد:using System;
using System.IO;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace YOUR_PROJECT_NAMESPACE
{
public class Person
{
public int Code { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public static class PersonSerializer
{
public static List<Person> Open(string filePath)
{
if (!File.Exists(filePath)) return new List<Person>();
var serializer = new XmlSerializer(typeof(List<Person>));
using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
return (List<Person>)serializer.Deserialize(stream);
}
}
public static void Save(string filePath, List<Person> data)
{
if (File.Exists(filePath)) File.Delete(filePath);
var serializer = new XmlSerializer(typeof(List<Person>));
using (var stream = new FileStream(filePath, FileMode.CreateNew, FileAccess.Write))
{
serializer.Serialize(stream, data);
}
}
}
}