PDA

View Full Version : مبتدی: چگونه محتوای فایل متنی را در یک TextBox قرار دهیم



SEZAR.CO
پنج شنبه 05 بهمن 1391, 08:20 صبح
با عرض سلام
چگونه می توانیم یک فایل متنی را در یک تکس باکس ذخیره کنیم و دو باره انرا بخوانیم
با تشکر

danialafshari
پنج شنبه 05 بهمن 1391, 09:03 صبح
سلام دوست عزیز

ذخیره textBox در فایل متنی :
System.IO.File.WriteAllText(@"C:\test.txt",textBox1.Text.Trim());

خواندن فایل متنی در TextBox:
textBox1.Text = System.IO.File.ReadAllText(@"C:\test.txt");

موفق باشی

firoozi90
سه شنبه 08 اسفند 1391, 20:42 عصر
سلام دوست عزیز

ذخیره textBox در فایل متنی :
System.IO.File.WriteAllText(@"C:\test.txt",textBox1.Text.Trim());

خواندن فایل متنی در TextBox:
textBox1.Text = System.IO.File.ReadAllText(@"C:\test.txt");

موفق باشی

اگر بخواهیم از طریق openfiledialog این کارو انجام بدیم چی؟مثلا از دیالوگ فایل txt را انتخاب کنیم و بریزیم توی richtextbox

h.gheidrlou
دوشنبه 20 اردیبهشت 1395, 23:47 عصر
اگر بخوام عنوان فایل متنی ایچادی را سیستمی بهش بدم مثلا تاریخ کامل همراه با ساعت-دقیقه-ثانیه که تکراری هم نباشه بایدچکار کنم؟
و بعدشم میخوام این فایلهای ایجادی را توی یه کمبو باکس نشون بدم

csharpcollegian
سه شنبه 21 اردیبهشت 1395, 00:55 صبح
سلام دوست عزیز


اگر بخوام عنوان فایل متنی ایچادی را سیستمی بهش بدم مثلا تاریخ کامل همراه با ساعت-دقیقه-ثانیه که تکراری هم نباشه بایدچکار کنم؟

File.WriteAllText(@"D:\BarnameNevis\" + DateTime.Now.ToString("yyyy.MM.dd hh.mm.ss") + ".txt", textBox1.Text.Trim());

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

string[] files = Directory.GetFiles(@"D:\BarnameNevis");
comboBox1.Items.AddRange(files);
موفق باشید

h.gheidrlou
سه شنبه 21 اردیبهشت 1395, 07:31 صبح
ضمن تقدیر از شما استاد عزیز
اگر بخوام ابتدا فولدری با نام خاص ایجاد بشه و سپس فایل متنی داخل فولدر ایجاد بشه به نحویکه(مشروح ذیل)عنوان فایل تکست تاریخ و ساعت کامل روز باشه
البته تاریخ و ساعت درهرلحظه را در لیبلی نمایش دادم روی فرم و همون را میخوام بعنوان نام فایل تکست باشه
140321

h.gheidrlou
سه شنبه 21 اردیبهشت 1395, 08:02 صبح
سلام دوست عزیز



File.WriteAllText(@"D:\BarnameNevis\" + DateTime.Now.ToString("yyyy.MM.dd hh.mm.ss") + ".txt", textBox1.Text.Trim());


string[] files = Directory.GetFiles(@"D:\BarnameNevis");
comboBox1.Items.AddRange(files);
موفق باشید


140322مشکلی که در کد هست نمیدونم چیه؟ چون نام فایل تکست کامل هست مثال:13950221081522روز-ساعت-دقیقه-ثانیه
درهنگام خواندن نام فایل چون بخشی از نام همخوانی نداره خطا میگیرد
چکار کنم؟؟/

محمد رضا فاتحی
سه شنبه 21 اردیبهشت 1395, 10:00 صبح
سلام...بهتره ابتدا یه پوشه در نظر گرفته بشه و فایلهایی متنی داخل اون پوشه ایجاد گردد.

string dir = @"C:\alarmbank";
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
string filename = dir+@"\"+d;
StreamWriter sw=new StreamWriter(filename,true);
sw.WriteLine(richTextBox1.Text.Trim());
sw.Close();


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

string[]files=Directory.GetFiles(@"C:\alarmbank");

h.gheidrlou
سه شنبه 21 اردیبهشت 1395, 10:18 صبح
بازم خطا داد
ضمن اینکه میخوام نام فایل متنی را از متن لیبل که بعنوان یک عددهستش ، درج بشه
چکار کنم؟؟
140323

محمد رضا فاتحی
سه شنبه 21 اردیبهشت 1395, 10:28 صبح
پست رو ویرایش کردم

h.gheidrlou
سه شنبه 21 اردیبهشت 1395, 12:50 عصر
برای خواندن همه خطول فایل متنی باید چکار کنم؟
string allchar = sr.ReadLine();
richTextBox1.Text = allchar;
این کد فقط خط اول را میخونه

محمد رضا فاتحی
سه شنبه 21 اردیبهشت 1395, 13:23 عصر
برای خواندن کل متن فایل در قالب یه زشته
string text = File.ReadAllText(path);

درقالب یک آرایه
string[] line = File.ReadAllLines(path);

h.gheidrlou
چهارشنبه 22 اردیبهشت 1395, 11:28 صبح
دوستان سلام
من میخوام وقتی برنامه لود میشه ، برنامه زمان یاد اوری را بررسی کنه و با زمان امروز یعنی تاریخ امروز کنترل کنه و هر تاریخی و یاداوری که مربوط به امروز و قبل از امروز هست را اعلام کنه که شما دارای مثلا 3 فقره هشدار می باشید
لطفا راهنمایی کنید

140321[/QUOTE]140347

csharpcollegian
چهارشنبه 22 اردیبهشت 1395, 12:03 عصر
سلام دوست عزیز
با یک کوئری ساده می تونید این کار رو انجام بدید. با فرض اینکه هشدارهاتون رو در جدولی به نام tblWarnings ذخیره می کنید و ستونی که تاریخ هشدار رو در خودش نگهداری می کنه WarnDate نام داره :

Select * From tblWarnings Where WarnDate <= GETDATE()
این کوئری تمام هشدارهای مربوط به امروز و قبل اون رو بر می گردونه که می تونید نتیجه رو در یک دیتاگریدویو برای کاربر به نمایش بذارید.
موفق باشید

h.gheidrlou
چهارشنبه 22 اردیبهشت 1395, 12:28 عصر
ضمن تشکر از محبت شما
برنامه من فاقد دیتا بیس بوده و هشداری های ثبت شده توسط کاربر را بصورت فایل های txt درایو C سیستم درداخل یک پوشه بنام alarmbank ذخیره میکنه -
اسم فایل های متنی را طبق تاریخ یاداوری که توسط کاربر نوشته میشه ایجاد میکنه مثلا 1395_02_20
حالا من میخوام این فایلها را ببینه تاریخ هاشو ((نام فایل)) با تاریخ امروز سیستم کنترل و پیام مناسب را بده
ممنون دارتون میشم اگه محبت کنید کمکم کنید

csharpcollegian
چهارشنبه 22 اردیبهشت 1395, 14:26 عصر
دوست من، همونطور که جناب golestan1 (http://barnamenevis.org/member.php?271533-golestan1) هم در پست #7 (http://barnamenevis.org/showthread.php?110848-%D8%A7%D8%B9%D9%84%D8%A7%D9%85-%D9%87%D8%B4%D8%AF%D8%A7%D8%B1-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1-%DB%8C%D8%A7-%D9%85%D8%AF%DB%8C%D8%B1-%DB%8C%DA%A9-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%DB%8C&p=2319847&viewfull=1#post2319847) خاطر نشان کردند، این روش منطقی نیست. شما می تونید یا از روشی که ایشون گفتند استفاده کنید یا به کمک یه دیتابیس ساده این کار رو انجام بدید که باعث میشه هم کار رو اصولی انجام بدید هم قدرت مانورتون بره بالا.
اما اگر اصرار دارید که از این روش استفاده کنید می تونید از کد زیر جواب بگیرید.
با فرض اینکه شما فایل های متنی هشدار رو با نامی مشابه 18_02_1395 ذخیره کردید (همونطور که خودتون گفتید) و تاریخ روز رو هم با همین فرمت در متغیری رشته ای به نام todayString در اختیار دارید(22_02_1395). در ابتدا با استفاده از کد زیر تاریخ روزتون رو به این فرمت تبدیل کنید (13950222) :

long today = Convert.ToInt64(todayString.Replace("_", ""));
سپس از کد زیر استفاده کنید :

string[] files = Directory.GetFiles(@"D:\alarmbank");
List<string> warnings = new List<string> ();
for (int i = 0; i < files.Length; i++)
{
FileInfo Obj = new FileInfo(files[i]);
long warningDate = Convert.ToInt64(Obj.Name.Replace("_", "").Substring(0, 8));
if (warningDate <= today)
warnings.Add(files[i]);
}
این کد تمام فایل های متنی ای که تاریخشون مطابق با امروز یا قبل امروز هست رو در warnings قرار میده.
موفق باشید

h.gheidrlou
چهارشنبه 22 اردیبهشت 1395, 20:39 عصر
فکر کنم این خط اشتباهه
long today = Convert.

ToInt64(todayString.Replace("_", ""));

csharpcollegian
چهارشنبه 22 اردیبهشت 1395, 20:56 عصر
چرا اشتباهه ؟
چه اروری میگیرید ازش ؟

h.gheidrlou
چهارشنبه 22 اردیبهشت 1395, 22:31 عصر
درست شد مهندس جان واقعا تشکر