PDA

View Full Version : خیلی فوری !! توابع کار با فایل های نوع دار را لازم دارم



hassan_kahrizy
سه شنبه 22 آذر 1384, 14:52 عصر
بسمه تعالی
با سلام
توابع لازم برای نوشتن یک کلاس(یا رکورد)در فایل و خواند آن را لازم داشتم
همچنین اگر نظری درباره نوشتن اطلاعات یک فایل با طول رکورهای متغیر نیز بیان کنید ممنون می شم
با تشکر

SalarSoft
سه شنبه 22 آذر 1384, 16:34 عصر
در راهنمای msdn دنبال reflection بگرد

علیرضا ساکت
سه شنبه 22 آذر 1384, 20:06 عصر
ببخشید.
یک مقدار توضیح بدید بد نیست؟

SalarSoft
چهارشنبه 23 آذر 1384, 13:45 عصر
کدی مانند این کمکتان خواهد کرد:


public struct UserJobType
{
const char seperator=';';
public bool SiteAdmin;//=false;
public bool ArticleManager;//=false;
public bool NewsLetterReciver;//=false;
public bool QuestionManager;//=false;
public bool ProductManager;//=false;
public bool GalleryManager;//=false;
public bool UploadCenter;//=false;
#region methods
public string AllowedToString()
{
string result="";
Type alljobs = typeof(UserJobType);
foreach ( FieldInfo info in alljobs.GetFields())
{
if(info.GetValue(this).ToString().ToLower()=="true")
result+=info.Name+seperator;
}
return result;
}
public static UserJobType AllJobs()
{
UserJobType result=new UserJobType();
Type alljobs = typeof(UserJobType);
object instance=(object)result;
foreach ( FieldInfo info in alljobs.GetFields())
{
info.SetValue(instance,true);
}
result=(UserJobType)instance;

return result;
}
public static string AllJobsString()
{
string result="";
Type alljobs = typeof(UserJobType);
foreach ( FieldInfo info in alljobs.GetFields() )
{
result+=info.Name+seperator;
}
return result;
}
public static UserJobType StringToJobs(string str)
{
string[] jobs=str.Split(seperator);
Type alljobs = typeof(UserJobType);
UserJobType result=new UserJobType();
object instance=(object)result;
foreach ( FieldInfo info in alljobs.GetFields())
{
if(Array.IndexOf(jobs,info.Name)!=-1)
{
info.SetValue(instance,true);
}
}
result=(UserJobType)instance;
return result;
}
#endregion
}

hassan_kahrizy
پنج شنبه 24 آذر 1384, 21:17 عصر
بسمه تعالی
با سلام
می شه بگید کد بالا چکار می کنه
با تشکر

hassan_kahrizy
یک شنبه 27 آذر 1384, 05:40 صبح
بسمه تعالی
با سلام
کسی نبود؟

SalarSoft
سه شنبه 29 آذر 1384, 12:42 عصر
اساس کار این مثال بر Type alljobs = typeof(UserJobType) است که نوع کلاس مورد نظر منو برمی گردونه.
سپس با حلقه در میان اعضای این کلاس حرکت می کنیم
foreach ( FieldInfo info in alljobs.GetFields())

با استفاده از کلاس FieldInfo که تمام اطلاعات مربوط به فیلد رو داره می تونیم اونو در یک رشته به روش دلخواه خودمون ذخیره کنیم.
شما هم می تونید با توجه به این مثال توابع مورد نظرتون رو بنویسید.
اگر زاهنمای MSDN رو نصب کردید به آدرس برید:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/cpref/html/frlrfsystemreflectionfieldinfoclasstopic.htm

hassan_kahrizy
سه شنبه 29 آذر 1384, 22:56 عصر
بسمه تعالی
با سلام
از لطفتون متشکرم