PDA

View Full Version : Sort فایل



mohsen_f_b
شنبه 27 تیر 1388, 23:51 عصر
سلام دوستان
من یک برنامه میزارم یه مشکلی دارم اگه شد درستش کنید برام بزارین.
یک برنامه نوشتم که اطلاعات وارد شده رو در یه فایل TEXT ذخیره می کنه.
حالا می خوام زمانی که داره فرد جدیدی رو ثبت می کنه همون موقع بر اساس اسم Sort کنه بعد ثبتش کنه.
در واقع یه Sort کنند برای فایل متنی زمان ذخیره می خوام بهش اضافه کنم.
اگه تونستید راهنمایی کنید.
باتشکر فراوان
منتظرم

fazel-d
یک شنبه 28 تیر 1388, 09:10 صبح
بهترین راه اینه که بعد از هر اسمی یک کاراکتر مشخص بزاری و هر شخصی را در یک خط قرار بدی. بعد کل فایلتو بخونی و هر جاکه به اون کازاکتر های مشخص کرده در پایان اسامی رسید اونها رو در یک متغییر String قرار بدی و هر مقدار از اون String ها رو در یک Generic list ذخیره کنی و در پایان با متد Sort اونا رو مرتب نمایید.

Soroush.Sarabi
یک شنبه 28 تیر 1388, 09:24 صبح
دوست عزیز من پیشنهاد می کنم که یک کلاس برای نگهداری مشخصات افراد بنویسی بعد یک Collection

از اون درست کنی اون وقت می تونی با Serialize کردن به فایل تبدیل کنی و با Deserialize به Collection و

اونوقت بعد از Add کردن با استفاده از امکانات گسترده ICompare انواع Sort های دلخواه و بنویسی و بعد از

انجام Sort می تونی Serialize رو کنی.

(http://soroush-sarabi.blogspot.com)

mohsen_f_b
یک شنبه 28 تیر 1388, 18:23 عصر
سلام
ممنونم از راهنمایتان
من فایل رو میزارم اگه تونستین برام کد نویسیش کنید.
باتشکر

Open-Source
یک شنبه 28 تیر 1388, 18:36 عصر
سلام دوستان
من یک برنامه میزارم یه مشکلی دارم اگه شد درستش کنید برام بزارین.
یک برنامه نوشتم که اطلاعات وارد شده رو در یه فایل TEXT ذخیره می کنه.
حالا می خوام زمانی که داره فرد جدیدی رو ثبت می کنه همون موقع بر اساس اسم Sort کنه بعد ثبتش کنه.
در واقع یه Sort کنند برای فایل متنی زمان ذخیره می خوام بهش اضافه کنم.
اگه تونستید راهنمایی کنید.
باتشکر فراوان
منتظرم

اگه با ذخیره باز یابی فایل آشنا باشید این نوع درج(منظور درج در محل صحیح) بدترین زمان رو داره.:متعجب:

به نظر من بهتره از یه فایل کمکی استفاده کنی و درون اون درج کنید.

mohsen_f_b
دوشنبه 29 تیر 1388, 07:41 صبح
باتشکر از راهنمای دوستان.
کسی هست که بتونه برام کد نویسی کنه؟
اگه تونستین کد نویسی کنید بزارین
متشکرم

Open-Source
دوشنبه 29 تیر 1388, 13:26 عصر
باتشکر از راهنمای دوستان.
کسی هست که بتونه برام کد نویسی کنه؟
اگه تونستین کد نویسی کنید بزارین
متشکرم

ببین وقتی که میخوای یه شخص جدید اضاف کنی:

فایل اصلی رو باز کن از اول تا اونجایی که قراره شخص جدید اضافه شود رو بخون وتوی فایل کمکی بریز.
بعد شخص جدید رو به انتهای فایل کمکی اضافه کن.
بعد مابقی اصلاعات فایل اصلی رو به کمکی اضافه کن.
بعد فایل کمکی رو جایگزین فایل اصلی کن.

RED-C0DE
دوشنبه 29 تیر 1388, 14:41 عصر
احتمالا خودت کد رو ننوشتی ک اینجوری موندی!!! چون خیلی ایده و نکته گفتن بقیه ک هیچکدومشون رو تحویل نگرفتی و فقط می خوای کسی کدش! رو برات! بنویسه! و بده بهت حاضر و آماده!
کاش یکم هم خودت تلاش می کردی!

mohsen_f_b
دوشنبه 29 تیر 1388, 16:22 عصر
احتمالا خودت کد رو ننوشتی ک اینجوری موندی!!! چون خیلی ایده و نکته گفتن بقیه ک هیچکدومشون رو تحویل نگرفتی و فقط می خوای کسی کدش! رو برات! بنویسه! و بده بهت حاضر و آماده!
کاش یکم هم خودت تلاش می کردی!

دوست عزیز کد رو خودم نوشتم
ولی تازه کارم نه اینجوری که بتونم کد رو بنویسم
از دوستان هم ممنونم

mohsen_f_b
دوشنبه 29 تیر 1388, 16:32 عصر
ببین وقتی که میخوای یه شخص جدید اضاف کنی:

فایل اصلی رو باز کن از اول تا اونجایی که قراره شخص جدید اضافه شود رو بخون وتوی فایل کمکی بریز.
بعد شخص جدید رو به انتهای فایل کمکی اضافه کن.
بعد مابقی اصلاعات فایل اصلی رو به کمکی اضافه کن.
بعد فایل کمکی رو جایگزین فایل اصلی کن.

دوست عزیز ممنونم
من شروع کردم
خوب تا کجا بخونه؟
اخه می خوام وقتی اسم جدید اضافه می شه همون موقع sort بشه.
چجوری باید تشخیص بده الان این اسم کجا باید قرار بگیره؟

Open-Source
دوشنبه 29 تیر 1388, 17:03 عصر
دوست عزیز ممنونم
من شروع کردم
خوب تا کجا بخونه؟
اخه می خوام وقتی اسم جدید اضافه می شه همون موقع sort بشه.
چجوری باید تشخیص بده الان این اسم کجا باید قرار بگیره؟


ببین:
شما باید هر دفعه از فایل دو نفر را بخونی بعد فردی رو که میخوای اضافه کنی باید با هر دو نفر مقایسه کنی اگه از نفر اول کوچکتر و از نقر دوم بزرگتر بود اینجا جای درج کردن هستش در غیر این صورت میری بعدی.

امیدوارم که ...

Open-Source
سه شنبه 30 تیر 1388, 11:38 صبح
این کد رو جای کد درج وارد کن.(یعنی button1):



//---------------
if (File.Exists("D:\\TextDataBase.txt"))
{
string s1, st1;
bool add = false;
int i, i1;

StreamReader sr = new StreamReader("D:\\TextDataBase.txt");
StreamWriter sw = new StreamWriter("D:\\temp.txt", true);
while (!sr.EndOfStream)
{
s1 = sr.ReadLine();
i = s1.IndexOf(";");
st1 = s1.Substring(0, i);
i1 = st1.CompareTo(textBox1.Text);


if (i1 >=0 && add == false)
{
sw.WriteLine(textBox1.Text + ";" + textBox2.Text + ";" + textBox3.Text + ";" + textBox4.Text);
sw.WriteLine(s1);
add = true;
}
else sw.WriteLine(s1);
}

if (add == false) sw.WriteLine(textBox1.Text + ";" + textBox2.Text + ";" + textBox3.Text + ";" + textBox4.Text);

sw.Close();
sr.Close();


File.Delete("D:\\TextDataBase.txt");
File.Move("D:\\temp.txt", "D:\\TextDataBase.txt");
}
//-----------------------------
else
{
StreamWriter sw = new StreamWriter("D:\\TextDataBase.txt", true);
sw.WriteLine(textBox1.Text + ";" + textBox2.Text + ";" + textBox3.Text + ";" + textBox4.Text);
sw.Close();
}