نمایش نتایج 1 تا 9 از 9

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

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

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

    با سلام خدمت دوستان عزیز
    یک سوال ساده دارم
    من یک برنامه نوشتم که با کمک استریم ریدر یک فایل txt را میخونه
    برنامه به اینصورت است که پس از اجرا شدن یک open file dialog باز میشه و درخواست یک فایل txt میکنه بعد اون فایل را در یک richtext box می نویسد
    حالا میخوام ببینم چطوری میشه فایل txt مورد نظر را در خود برنامه جا بدم بطوری که دیگه openfile dialog باز نشه و آدرس فایل درون برنامه رو بدم
    چیز دیگه اینکه میخوام موقعه کامپایل شدن فایل txt کنار فایل اجرایی برنامه نباشه که کاربر بتونه داخل محتوای اونو دستکاری یا اینکه بخونه ؟
    اصلا فایل فقط داخل خود برنامه باشه ؟ جای دیگه ذخیره نشه ؟
    پیشنهاد دوستان برای حل این مسئله چیه ؟؟؟
    راه حل هایی غیر از تغییر پسوند txt و ذخیره xlm باشه چون راحت میشه دسترسی پیدا کرد .


    private void Form1_Load (object sender , EventArgs e)
    {
    OpenFileDialog dialog = new OpenFileDialog ();
    if (dialog.ShowDialog () == DialogResult.OK)
    {
    StreamReader sr = new StreamReader (dialog.FileName);

    richTextBox1.Text = sr.ReadToEnd ();
    }
    }

  2. #2

    نقل قول: راهنمایی در مورد خواندن اطلاعات از فایل تکس درون خود برنامه

    شما در این بخش کافیه که به جای dialog.FileName آدرس فایل خود را قرار بدهید:
    StreamReader sr = new StreamReader (dialog.FileName);

    StreamReader sr = new StreamReader (@"c:\test.txt");


    اگه داخل خود برنامه باشه که دیگه احتیاجی به فایل نیست همون رو رشته کن بریز تو کنترلت.

    اگر غیر اینه می تونی فایل هات رو رمز گذاری کنی:
    System.Security.Cryptography

    تا اگه یکی خاص بخونه نتونه!!!!!

    در ضمن می تونی فایلت رو Resource کنی و بعد با ریسورس منیجمنت بهش دسترسی پیدا کنی.(من تاحالا این رو امتحان نکردم ولی میشه)

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: راهنمایی در مورد خواندن اطلاعات از فایل تکس درون خود برنامه

    دوست عزیز مرسی از راهنماییت
    ولی من میدونم بجای dialog.FileName میشه آدرس رو داد
    میخوام فایل داخل برنامه کامپایل بشه که وقتی فایل EXE برنامه رو دادم به کسی دیگه فایل TXT رو نخواد
    و از خود برنامه بخونه
    در مورد این گفتتون میشه بیشتر توضیح بدید که چطوری میشه فایل تکس رو داخل برنامه رشته کرد و توسط استریم ریدر خواند .
    فایل حدود 100 خط میشه

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: راهنمایی در مورد خواندن اطلاعات از فایل تکس درون خود برنامه

    دوستان گرامی لطفا راهنمایی کنید ؟

  5. #5

    نقل قول: راهنمایی در مورد خواندن اطلاعات از فایل تکس درون خود برنامه

    در مورد استرینگ یعنی اینکه یک متغیر تعریف کنید و بصورت دستی محتویات فایل رو توی اون بریزید و با اون کار کنید.
    String str = "Your File Data";

    هر جا به محتویات فایل نیاز دارید میتونید از متغیر Str استفاده کنید. این کار برای حالتی خوبه که محتویات فایل شما همیشه ثابت باشه.
    در مورد Resource هم از پنجره Solution پوشه Properties رو باز کرده و روی Resources دابل کلیک کنید. از دکمه ها بالا پنجره باز شده Add Resource رو بزنید فایل مورد نظرتون رو انتخاب کنید. با این کار فایل مورد نظر به فایل Exe شما اضافه میشه و میتونید بصورت زیر ازش استفاده کنید.
    richTextBox1.Text = Properties.Resources.YourFileName;

  6. #6
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: راهنمایی در مورد خواندن اطلاعات از فایل تکس درون خود برنامه

    دوست عزیز خیلی ممنون از راهنماییت
    خیلی کمکم کرد ولی یه مشکل کوچولو هست
    RESOURCE همون چیزی هست که میخوام
    محتویات فایل تکس هم ثابت هست و بعد از کامپایل شدن تغییر نخواهد کرد
    ولی توسط استریم ریدر چطوری میشه فایل پRESOURCE را خوند ERROR میده


    StreamReader stre = new StreamReader (Properties.Resources.YourFileName);

    richTextBox1.Text = stre.ReadToEnd ();



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

    richTextBox1.Text = Properties.Resources.YourFileName;


    دلیل اینه که کارای دیگه ایی استریم روی فایل انجام میدم که من جزئیات برنامه را به خاطر طولانی نشدن تاپیک ذکر نکردم

    حالا ممنون میشم بگید چطوری میشه توسط استریم ریدر فایل RESOURCE را خواند.
    با تشکر

  7. #7

    نقل قول: راهنمایی در مورد خواندن اطلاعات از فایل تکس درون خود برنامه

    نمیدونم به چه دلیل اصرار بر استفاده از استریم دارید!
    در Resource محتویات فایل ریخته میشه (بصورت استرینگ) و تنها راهی که میشه با استریم باهاش کرد اینه که ابتدا محتویات Resource رو فرضا در پوشه Temp ذخیره کنید و بعد با استریم باهاش کار کنید.
    ولی در کل (تقریبا) هر کاری رو که با استریم روی فایل انجام میدید ، میتونید خودتون بر روی استرینگ هم پیاده سازی کنید. فرضا اگر میخواید خط به خط فایل رو بخونید ، میتونید رشته مورد نظر رو بر اساس خطوطش به آرایه تبدیل کنید (هر خط یک خونه از آرایه) بعد توی آرایه خط به خط جلو برید.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: راهنمایی در مورد خواندن اطلاعات از فایل تکس درون خود برنامه

    دوست گرامی چطوری میشه توی پوشه TEMP ذخیره کرد ؟؟؟
    این برنامه من یک فایل تکس مخصوص را توسط استریم ریدر بصورت کاراکتر به کاراکتر بوسیله نخ (جهت هنگ نکردن برنامه)توی یک RICHTEXT BOX می نویسه
    دلیل اصرار من از استریم بخاطر خوندن کاراکتر به کاراکتر هست عزیز

  9. #9

    نقل قول: راهنمایی در مورد خواندن اطلاعات از فایل تکس درون خود برنامه

    دوست گرامی چطوری میشه توی پوشه TEMP ذخیره کرد ؟؟؟
    آدرس پوشه Temp رو میتونید از دستور زیر بدست بیارید
    Path.GetTempPath()

    و برای نام تصادفی در همین پوشه از دستور زیر
    Path.GetTempFileName()

    این برنامه من یک فایل تکس مخصوص را توسط استریم ریدر بصورت کاراکتر به کاراکتر بوسیله نخ (جهت هنگ نکردن برنامه)توی یک RICHTEXT BOX می نویسه
    دلیل اصرار من از استریم بخاطر خوندن کاراکتر به کاراکتر هست
    بجای استریم میتونید از کلاس System.IO.StringReader استفاده کنید در ضمن بصورت زیر هم میشه بصورت کاراکتر به کاراکتر از استرینگ خوند.
    String str = Properties.Resources.YourFileName;
    for (int i = 0; i < str.Length; i++)
    textBox1.Text += str[i];

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •