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

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

  1. #1

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

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

  2. #2

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

    نقل قول نوشته شده توسط amir_hacker333 مشاهده تاپیک
    سلام
    لطفا در مورد نحوه ارسال اطلاعات فرم سی شارپ به مایکروسافت ورد راهنمایی بفرمایید
    در سیستمهای دبیرخانه این کار را چطور انجام می دهند
    بسیار متشکرم
    سلام دوست عزیز، چه پارامتر هایی رو قصد دارین ارسال کنین؟ روال کلی رو در پست های آخر تاپیک زیر مشاهده کنین:

    https://barnamenevis.org/showthread.p...81%D8%B1%D9%85

  3. #3

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    سلام دوست عزیز، چه پارامتر هایی رو قصد دارین ارسال کنین؟ روال کلی رو در پست های آخر تاپیک زیر مشاهده کنین:

    https://barnamenevis.org/showthread.p...81%D8%B1%D9%85

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

  4. #4

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

    نقل قول نوشته شده توسط amir_hacker333 مشاهده تاپیک
    مثلا شماره و تاریخ که در ورد هم در داخل تکست باکس های از قبل تعبیه شده قرار داده بشن
    سلام، بنده تا حالا با تکست باکس ها کار نکردم، ولی دو روش متفاوت دیگه رو کار کردم، یکی روش Bookmark و دیگری MailMergeField اگه یکی از این دو روش رو انتخاب کردین بفرمایین تا راهنماییتون کنیم

  5. #5

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    سلام، بنده تا حالا با تکست باکس ها کار نکردم، ولی دو روش متفاوت دیگه رو کار کردم، یکی روش Bookmark و دیگری MailMergeField اگه یکی از این دو روش رو انتخاب کردین بفرمایین تا راهنماییتون کنیم


    فرض کنید نامه ای رو می خواهیم تنظیم کنیم . در سی شارپ شماره و تاریخ و نام مدیر عامل و .....را مشخص می کنیم و می خواهیم این اطلاعات رو بفرستیم به ورد و همچنین متن نامه رو هم در ورد تایپ کنیم و در آخر هم نامه رو آرشیو کنیم.
    شما هر روشب رو صلاح می دونین توضیح بدین

  6. #6

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

    خب ابتدا ما میخوایم یک الگو یا Template درست کنیم و بعد ها از روی اون نامه جدیدی رو ایجاد کنیم و فیلد هارو براش پر کنیم، برای اینکار یک سند جدید در Word ایجاد کنین و به سربرگ Mailings مراجعه کنین، دکمه Select Recipients رو بزنین از منوی باز شده Type a NewList رو بزنین با اینکار پنجره ای باز میشه دکمه Customize Columns رو بزنین این پنجره شامل فیلد هایی میشه که میتونین ازش استفاده کنین و روی سند قرار بدین و داخل برنامه با پیدا کردن این فیلد میتونین به جاش مقدار مورد نظرتون رو بهش پاس بدین، حالا شما نیاز دارین که از طرق دکمه Add تمامی فیلد هایی که یک نامه شامل میشه و به نظرتون میاد که باید لحاظ کنین رو بسازین، پس از این کار در هر دو پنجره دکمه OK رو بزنین بدین صورت یک پنجره ذخیره براتون باز میشه این فیلد هایی که ایجاد کردین به عنوان یک دیتابیس کوچیک ذخیره میشه، که تمامی فیلد هارو دارا میباشه و هرموقع خواستین دوباره میتونین از همین فیلد ها استفاده کنین،

    حالا میرسیم به قرار دادن این فیلد ها داخل سند، با ذخیره کردن فیلدها، تمامی گزینه های سربرگ Mailings فعال میشن، شما برای اینکه فیلدی رو بذارین رو سند، روی Insert Merge Field کلیک و متناسب با نیازتون فیلد هارو قرار بدین و الگو رو طراحی کنین من یک نمونه میذارم:

    LetterTemplate.jpg

    حالا فایل رو با پسوند .DOT ذخیره کنین، حالا این فایل رو در دیتابیس ذخیره کنین، به این روش ذخیره کنین:
    String FilePath = "Template Path";
    // Converting File to ByteArray
    byte[] FileBuffer = System.IO.File.ReadAllBytes(FilePath);
    // Now you can insert this file buffer to DB

    الان ما الگومون آماده ست و میتونیم از طریق برنامه به این الگو دسترسی داشته باشیم و بهش پارامتر هاشو ارسال کنیم
    حالا فرضا شما یه فرم داری که از کاربر اطلاعات رو دریافت میکنه و میخوای همین اطلاعات رو به Word ارسال کنی، (اول تئوریشو میگم) برای اینکار ابتدا باید یه نمونه از الگویی که طراحی کردیم رو داخل سیستم ذخیره کنیم، یعنی باید از دیتابیس فراخوانی کنیم و اون آرایه بایتی رو، روو سیستم تبدیل به فایل کنیم، سپس از سمت برنامه تمامی فیلدهای موجود در این الگو رو بخونیم و به جای تک تکشون مقدار مناسب رو قرار بدیم، در نهایت این فایل رو توسط کدنویسی روی سیستم کاربر ذخیره میکنیم، فایل رو تبدیل به آرایه بایتی میکنیم، داخل دیتابیس درج میکنیم و فایل رو از سیستم کاربر حذف میکنیم

    ابتدا Assembly مربوط به MicroSoft.Office.Interop.Word رو به رفرنس هات اضافه کن و سربرگش رو هم Using کن، حالا میرسیم به کد نویسی:

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// اینارو به صورت سراسری داخل فرمت تعریف کن
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //LOCATION OF THE TEMPLATE FILE ON THE MACHINE;
    Object oTemplatePath = string.Format("{0}\\NewDocument.dot", Application.StartupPath);

    //OBJECT OF MISSING "NULL VALUE"
    Object oMissing = System.Reflection.Missing.Value;

    //OBJECTS OF FALSE AND TRUE
    Object oTrue = true;
    Object oFalse = false;

    //CREATING OBJECTS OF WORD AND DOCUMENT
    Microsoft.Office.Interop.Word.Application oWord = null;
    Microsoft.Office.Interop.Word.Document oWordDoc = null;
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////


    ///////////////////////////////////////////////////////////////////////////////////////////////////
    // اینارو داخل ایونت کلیک دکمه مثلا "پیشنمایش" بنویس

    // Fetching Template ByteArray From Database => Byte[] YourTemplateByteArray = Fetch Template;

    System.IO.File.WriteAllBytes(oTemplatePath.ToStrin g(), YourByteArray);

    oWord = new Microsoft.Office.Interop.Word.Application();
    oWordDoc = new Microsoft.Office.Interop.Word.Document();

    //Adding A New Document From A Template
    oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);


    int iTotalFields = 0;
    // Finding Mailmerge Fields
    foreach (Microsoft.Office.Interop.Word.Field myMergeField in oWordDoc.Fields)
    {
    iTotalFields++;
    Microsoft.Office.Interop.Word.Range rngFieldCode = myMergeField.Code;
    String fieldText = rngFieldCode.Text;

    // Only Get The Mailmerge Fields
    if (fieldText.StartsWith(" MERGEFIELD"))
    {
    // Gives The Fieldnames as Entered in .DOT File
    string fieldName = fieldText.Substring(12, fieldText.IndexOf(" ", 12) - 12);

    switch (fieldName)
    {
    case "Letter_No":
    myMergeField.Select();
    oWord.Selection.TypeText(txtLetterNo.Text);
    break;

    case "Letter_Date":
    myMergeField.Select();
    oWord.Selection.TypeText(DateTime.Now);
    break;

    case "Letter_Has_Attachment":
    myMergeField.Select();
    oWord.Selection.TypeText("دارد یا ندارد");
    break;

    // And So On

    default:
    break;
    }
    }
    }


    //Showing The Document To User
    oWord.Visible = true;



    ///////////////////////////////////////////////////////////////////////////////////////////////////////
    // یک دکمه بذار برای ذخیره فایل ورد، زمانی که کاربر تایپ کردنش تموم شد و هنوز برنامه ورد در حال اجراس این دکمه رو اجرا میکنه

    oWordDoc.Save();

    //Closing the file
    oWordDoc.Close(ref oFalse, ref oMissing, ref oMissing);

    //Quitting the application
    oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
    byte[] FileBuffer = System.IO.File.ReadAllBytes(oTemplatePath.ToString ());

    // Now Insert The FileBuffer Into Database as A Letter

    اینم نمونه جایگذاری فیلدها:

    CalledSimple.jpg
    آخرین ویرایش به وسیله mr.sirwan : چهارشنبه 19 مهر 1396 در 11:41 صبح

  7. #7

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

    خسته نباشین تپملت رو در اکسس ذخیره کردم اما در کدی که ارسال کردین نوشته
    System.IO.File.WriteAllBytes(oTemplatePath.ToStrin g(), YourByteArray);
    منظور از yourbytearray چیه؟

  8. #8

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

    اگر امکان داره سورس فایل رو هم قرار بدین ممنون میشم

  9. #9

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

    نقل قول نوشته شده توسط amir_hacker333 مشاهده تاپیک
    خسته نباشین تپملت رو در اکسس ذخیره کردم اما در کدی که ارسال کردین نوشته
    System.IO.File.WriteAllBytes(oTemplatePath.ToStrin g(), YourByteArray);
    منظور از yourbytearray چیه؟
    عرض کردم که فایل تمپلیت رو به آرایه بایتی تبدیل و اون آرایه رو داخل دیتابیس ذخیره کنین، حالا هر موقع که خواستین فایل رو از دیتابیس فراخوانی کنین، این آرایه بایتی رو توسط متد WriteAllBytes دوباره به فایل تبدیل میکنین، به کدی که نوشتم خوب دقت کنین

  10. #10

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

    منظور از myMergeField.Code; چیه سی شارپ ایراد می گیره

  11. #11

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

    هر فیلدی که روی سند قرار بدیم، یک کد خواهد داشت، توسط این کد به مقدار Text اون فیلد دسترسی خواهیم داشت

    متن ارور چی هستش؟

  12. #12

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    هر فیلدی که روی سند قرار بدیم، یک کد خواهد داشت، توسط این کد به مقدار Text اون فیلد دسترسی خواهیم داشت

    متن ارور چی هستش؟

    سلام ممنون مشکل حل شد فقط باید همه نامه ها آرشیو بشن
    پایگاه داده ای که من استفاده کردم اکسس هست و به نظر برای این موسسه کافیه
    فقط چطور می شه نامه ی نوشته شده رو در اکسس ذخیره کرد بدون اینکه نیاز باشه کاربر خودش این کار رو انجام بده

  13. #13

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    خب ابتدا ما میخوایم یک الگو یا Template درست کنیم و بعد ها از روی اون نامه جدیدی رو ایجاد کنیم و فیلد هارو براش پر کنیم، برای اینکار یک سند جدید در Word ایجاد کنین و به سربرگ Mailings مراجعه کنین، دکمه Select Recipients رو بزنین از منوی باز شده Type a NewList رو بزنین با اینکار پنجره ای باز میشه دکمه Customize Columns رو بزنین این پنجره شامل فیلد هایی میشه که میتونین ازش استفاده کنین و روی سند قرار بدین و داخل برنامه با پیدا کردن این فیلد میتونین به جاش مقدار مورد نظرتون رو بهش پاس بدین، حالا شما نیاز دارین که از طرق دکمه Add تمامی فیلد هایی که یک نامه شامل میشه و به نظرتون میاد که باید لحاظ کنین رو بسازین، پس از این کار در هر دو پنجره دکمه OK رو بزنین بدین صورت یک پنجره ذخیره براتون باز میشه این فیلد هایی که ایجاد کردین به عنوان یک دیتابیس کوچیک ذخیره میشه، که تمامی فیلد هارو دارا میباشه و هرموقع خواستین دوباره میتونین از همین فیلد ها استفاده کنین،

    حالا میرسیم به قرار دادن این فیلد ها داخل سند، با ذخیره کردن فیلدها، تمامی گزینه های سربرگ Mailings فعال میشن، شما برای اینکه فیلدی رو بذارین رو سند، روی Insert Merge Field کلیک و متناسب با نیازتون فیلد هارو قرار بدین و الگو رو طراحی کنین من یک نمونه میذارم:

    LetterTemplate.jpg

    حالا فایل رو با پسوند .DOT ذخیره کنین، حالا این فایل رو در دیتابیس ذخیره کنین، به این روش ذخیره کنین:
    String FilePath = "آدرس این الگو";
    // تبدیل فایل به آرایه بایتی
    byte[] FileBuffer = System.IO.File.ReadAllBytes(FilePath);
    // حالا این آرایه رو داخل دیتابیس درج کن

    الان ما الگومون آماده ست و میتونیم از طریق برنامه به این الگو دسترسی داشته باشیم و بهش پارامتر هاشو ارسال کنیم
    حالا فرضا شما یه فرم داری که از کاربر اطلاعات رو دریافت میکنه و میخوای همین اطلاعات رو به Word ارسال کنی، (اول تئوریشو میگم) برای اینکار ابتدا باید یه نمونه از الگویی که طراحی کردیم رو داخل سیستم ذخیره کنیم، یعنی باید از دیتابیس فراخوانی کنیم و اون آرایه بایتی رو، روو سیستم تبدیل به فایل کنیم، سپس از سمت برنامه تمامی فیلدهای موجود در این الگو رو بخونیم و به جای تک تکشون مقدار مناسب رو قرار بدیم، در نهایت این فایل رو توسط کدنویسی روی سیستم کاربر ذخیره میکنیم، فایل رو تبدیل به آرایه بایتی میکنیم، داخل دیتابیس درج میکنیم و فایل رو از سیستم کاربر حذف میکنیم

    ابتدا Assembly مربوط به MicroSoft.Office.Interop.Word رو به رفرنس هات اضافه کن و سربرگش رو هم Using کن، حالا میرسیم به کد نویسی:

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// اینارو به صورت سراسری داخل فرمت تعریف کن
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //THE LOCATION OF THE TEMPLATE FILE ON THE MACHINE;
    Object oTemplatePath = string.Format("{0}\\NewDocument.dot", Application.StartupPath);

    //OBJECT OF MISSING "NULL VALUE"
    Object oMissing = System.Reflection.Missing.Value;

    //OBJECTS OF FALSE AND TRUE
    Object oTrue = true;
    Object oFalse = false;

    //CREATING OBJECTS OF WORD AND DOCUMENT
    Microsoft.Office.Interop.Word.Application oWord = null;
    Microsoft.Office.Interop.Word.Document oWordDoc = null;
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////


    ///////////////////////////////////////////////////////////////////////////////////////////////////
    // اینارو داخل ایونت کلیک دکمه مثلا "پیشنمایش" بنویس

    // Fetching Template ByteArray From Database => Byte[] YourTemplateByteArray = Fetch Template;

    System.IO.File.WriteAllBytes(oTemplatePath.ToStrin g(), YourByteArray);

    oWord = new Microsoft.Office.Interop.Word.Application();
    oWordDoc = new Microsoft.Office.Interop.Word.Document();

    //Adding A New Document From A Template
    oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);


    int iTotalFields = 0;
    // Finding Mailmerge Fields
    foreach (Microsoft.Office.Interop.Word.Field myMergeField in oWordDoc.Fields)
    {
    iTotalFields++;
    Microsoft.Office.Interop.Word.Range rngFieldCode = myMergeField.Code;
    String fieldText = rngFieldCode.Text;

    // Only Get The Milmerge Fields
    if (fieldText.StartsWith(" MERGEFIELD"))
    {
    // Gives The Fieldnames as Entered in .DOT File
    string fieldName = fieldText.Substring(12, fieldText.IndexOf(" ", 12) - 12);

    switch (fieldName)
    {
    case "Letter_No":
    myMergeField.Select();
    oWord.Selection.TypeText(txtLetterNo.Text);
    break;

    case "Letter_Date":
    myMergeField.Select();
    oWord.Selection.TypeText(DateTime.Now);
    break;

    case "Letter_Has_Attachment":
    myMergeField.Select();
    oWord.Selection.TypeText("دارد یا ندارد");
    break;

    // And So On

    default:
    break;
    }
    }
    }


    //Showing The Document To The User
    oWord.Visible = true;



    ///////////////////////////////////////////////////////////////////////////////////////////////////////
    // یک دکمه بذار برای ذخیره فایل ورد، زمانی که کاربر تایپ کردنش تموم شد و هنوز برنامه ورد در حال اجراس این دکمه رو اجرا میکنه

    oWordDoc.Save();

    //CLOSING THE FILE
    oWordDoc.Close(ref oFalse, ref oMissing, ref oMissing);

    //QUITTING THE APPLICATION
    oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
    byte[] FileBuffer = System.IO.File.ReadAllBytes(oTemplatePath.ToString ());

    // Now Insert The FileBuffer Into Database as A Letter

    اینم نمونه جایگذاری فیلدها:

    CalledSimple.jpg
    سلام امکان داره یک نمونه بزارید برای درک بهتر

  14. #14

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

    نقل قول نوشته شده توسط Helpco مشاهده تاپیک
    سلام امکان داره یک نمونه بزارید برای درک بهتر
    سلام دوست عزیز، چه نمونه ی دیگه ای میخواین؟ همین نمونه کافی نیست؟

  15. #15

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

    نقل قول نوشته شده توسط amir_hacker333 مشاهده تاپیک
    سلام ممنون مشکل حل شد فقط باید همه نامه ها آرشیو بشن
    پایگاه داده ای که من استفاده کردم اکسس هست و به نظر برای این موسسه کافیه
    فقط چطور می شه نامه ی نوشته شده رو در اکسس ذخیره کرد بدون اینکه نیاز باشه کاربر خودش این کار رو انجام بده
    سوالتون نامفهومه، بلاخره کاربر باید متن نامه رو بنویسه و نامه رو تنظیم کنه یا خیر؟ اگر اینطوره پس باید کاربر بعد از اعمال تغییرات دلخواهش نامه رو توسط یک دکمه ذخیره کنه، اگر نه داخل ایونت کلیک دکمه "پیشنمایش" دستورات مربوط به ایونت دکمه ذخیره سازی رو هم بنویسین فقط خط oWord.Visible رو حذف کنین، یعنی عملا کد های مربوط به این دو دکمه رو ترکیب کنین، در اینصورت برنامه ورد به کاربر نمایش داده نخواهد شد و تمامی عملیات جاگذاری و ذخیره سازی در دیتابیس، بصورت مخفیانه و پشت پرده انجام میشه

  16. #16

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    سلام دوست عزیز، چه نمونه ی دیگه ای میخواین؟ همین نمونه کافی نیست؟
    به صورت فایل اجرای مخوام

  17. #17

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

    نقل قول نوشته شده توسط Helpco مشاهده تاپیک
    به صورت فایل اجرای مخوام
    اگه بخوام فایل اجراییش رو تهیه کنم باید دیتابیس ایجاد کنم، Entity framework رو نصب کنم، فایل تپلیت رو بذارم و.... متاسفانه فعلا وقتش رو ندارم ولی اگر فرصت شد سعی میکنم بعدا این آیتم رو کار کنم، یک پروژه ایجاد کنم و بذارم اینجا

  18. #18

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    اگه بخوام فایل اجراییش رو تهیه کنم باید دیتابیس ایجاد کنم، Entity framework رو نصب کنم، فایل تپلیت رو بذارم و.... متاسفانه فعلا وقتش رو ندارم ولی اگر فرصت شد سعی میکنم بعدا این آیتم رو کار کنم، یک پروژه ایجاد کنم و بذارم اینجا




    اطلاعات رو از سی شارپ به ورد منتقل کردم اما تاریخ رو از راست به چپ قرار می ده 13/06/1395

  19. #19

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

    نقل قول نوشته شده توسط amir_hacker333 مشاهده تاپیک
    اطلاعات رو از سی شارپ به ورد منتقل کردم اما تاریخ رو از راست به چپ قرار می ده 13/06/1395
    یه راه حل خیلی خیلی خیلی خیلی خیلی زشت اینه که بیای سمت برنامه جای سال و روز رو باهم عوض کنی اما اگه راه حل بهتری پیدا کردی ممنون میشم با ماهم درمیون بذاری

  20. #20

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    یه راه حل خیلی خیلی خیلی خیلی خیلی زشت اینه که بیای سمت برنامه جای سال و روز رو باهم عوض کنی

    اما اگه راه حل بهتری پیدا کردی ممنون میشم با ماهم درمیون بذاری



    چطور در مثالی که قرار دادین درست نوشته یعنی جای سال و ماه و روز رو باهم عوض کردین

  21. #21

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

    نقل قول نوشته شده توسط amir_hacker333 مشاهده تاپیک
    چطور در مثالی که قرار دادین درست نوشته یعنی جای سال و ماه و روز رو باهم عوض کردین
    بله یه همچین چیزی

  22. #22
    کاربر دائمی آواتار alia.n
    تاریخ عضویت
    تیر 1389
    محل زندگی
    شیراز
    پست
    194

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

    با سلام من این کد را به صورت سراسری نوشتم

    //THE LOCATION OF THE TEMPLATE FILE ON THE MACHINE;
    Object oTemplatePath = string.Format("{0}\\NewDocument.dot", System.Windows.Forms.Application.StartupPath);
    //OBJECT OF MISSING "NULL VALUE"
    Object oMissing = System.Reflection.Missing.Value;
    //OBJECTS OF FALSE AND TRUE
    Object oTrue = true;
    Object oFalse = false;
    //CREATING OBJECTS OF WORD AND DOCUMENT
    Microsoft.Office.Interop.Word.Application oWord = null;
    Microsoft.Office.Interop.Word.Document oWordDoc = null;


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



    String FilePath = "F:/1.dot";
    byte[] FileBuffer = System.IO.File.ReadAllBytes(FilePath);

    // Fetching Template ByteArray From Database => Byte[] YourTemplateByteArray = Fetch Template;
    System.IO.File.WriteAllBytes(oTemplatePath.ToStrin g(), FileBuffer);
    oWord = new Microsoft.Office.Interop.Word.Application();
    oWordDoc = new Microsoft.Office.Interop.Word.Document();
    //Adding A New Document From A Template
    oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);
    int iTotalFields = 0;
    // Finding Mailmerge Fields
    foreach (Microsoft.Office.Interop.Word.Field myMergeField in oWordDoc.Fields)
    {
    iTotalFields++;
    Microsoft.Office.Interop.Word.Range rngFieldCode = myMergeField.Code;
    string fieldText = rngFieldCode.Text;
    // Only Get The Milmerge Fields
    if (fieldText.StartsWith(" MERGEFIELD"))
    {
    // Gives The Fieldnames as Entered in .DOT File
    string fieldName = fieldText.Substring(12, fieldText.IndexOf(" ", 12) - 12);
    switch (fieldName)
    {
    case "be":
    myMergeField.Select();
    oWord.Selection.TypeText(textBox9.Text);
    break;
    case "az":
    myMergeField.Select();
    oWord.Selection.TypeText(textBox10.Text);
    break;
    case "mozoo":
    myMergeField.Select();
    oWord.Selection.TypeText(textBox12.Text);
    break;
    // And So On
    default:
    break;
    }
    }
    }
    //Showing The Document To The User
    oWord.Visible = true;

    درون فایل ورد مرج فیلد انجام دادم اما وقتی روی دکمه میزنم فقط فایل ورد بازمیشه و پارامتر ها ارسال نمیشن در صورتی که تب mailing همه خاموش و عیر فعال میشه
    درصورتی که فایل رو که بصورت دستی باز میکنم همه چی درسته
    لطفا راهنمایی بفرمائید.

  23. #23

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

    با سلام
    لطفا ابتدا این خط رو بررسی کنین، به جای اسلش (/) باید از بک اسلش (\) استفاده کنین:
    String FilePath = "F:/1.dot";

    درصورتی که میخواین از فایل موجود در سیستم استفاده کنین، پس دیگه لزومی نداره از ReadAllBytes و پس از اون از WriteAllBytes استفاده کنین، فقط آدرس فایل رو بدین کافیه، اون اعمال واسه زمانیه که فایل تمپلیتتون داخل دیتابیس ذخیره شده باشه (لطفا پست های مربوطه رو کامل بخونین).
    درمورد مشکلتون:
    احتمالا قسمت نام فیلد به درستی انتخاب نمیشه، شما با trace کردن میتونین به این مشکل پی ببرین، این خط هارو بررسی کنین و درصورت لزوم تغییرشون بدین:

    if (fieldText.StartsWith(" MERGEFIELD"))
    {
    // Gives The Fieldnames as Entered in .DOT File
    string fieldName = fieldText.Substring(12, fieldText.IndexOf(" ", 12) - 12);

    درصورتی که نام mailmergefield درست انتخاب نشه، Switch-case هم هیچ مشابهتی پیدا نکرده و فیلدارو جایگذاری نمیکنه، دوباره تاکید میکنم که روند اجرای این دستورات رو Trace کنین و ببینین که مشکل کجاست

  24. #24
    کاربر دائمی آواتار alia.n
    تاریخ عضویت
    تیر 1389
    محل زندگی
    شیراز
    پست
    194

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

    تشکر دوست عزیز اما مشکل برطرف نشداین برنامه فایل رو کجای دیتا بیس ذخیره میکنهاگر یه نمونه کوچیک زحمت میکشیدی بصورت عملی میزاشتی مشکل من و افرادی که مثل من هستن حل میشدبازم تشکر از توجه شما

  25. #25

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    خب ابتدا ما میخوایم یک الگو یا Template درست کنیم و بعد ها از روی اون نامه جدیدی رو ایجاد کنیم و فیلد هارو براش پر کنیم، برای اینکار یک سند جدید در Word ایجاد کنین و به سربرگ Mailings مراجعه کنین، دکمه Select Recipients رو بزنین از منوی باز شده Type a NewList رو بزنین با اینکار پنجره ای باز میشه دکمه Customize Columns رو بزنین این پنجره شامل فیلد هایی میشه که میتونین ازش استفاده کنین و روی سند قرار بدین و داخل برنامه با پیدا کردن این فیلد میتونین به جاش مقدار مورد نظرتون رو بهش پاس بدین، حالا شما نیاز دارین که از طرق دکمه Add تمامی فیلد هایی که یک نامه شامل میشه و به نظرتون میاد که باید لحاظ کنین رو بسازین، پس از این کار در هر دو پنجره دکمه OK رو بزنین بدین صورت یک پنجره ذخیره براتون باز میشه این فیلد هایی که ایجاد کردین به عنوان یک دیتابیس کوچیک ذخیره میشه، که تمامی فیلد هارو دارا میباشه و هرموقع خواستین دوباره میتونین از همین فیلد ها استفاده کنین،

    حالا میرسیم به قرار دادن این فیلد ها داخل سند، با ذخیره کردن فیلدها، تمامی گزینه های سربرگ Mailings فعال میشن، شما برای اینکه فیلدی رو بذارین رو سند، روی Insert Merge Field کلیک و متناسب با نیازتون فیلد هارو قرار بدین و الگو رو طراحی کنین من یک نمونه میذارم:

    LetterTemplate.jpg

    حالا فایل رو با پسوند .DOT ذخیره کنین، حالا این فایل رو در دیتابیس ذخیره کنین، به این روش ذخیره کنین:
    String FilePath = "آدرس این الگو";
    // تبدیل فایل به آرایه بایتی
    byte[] FileBuffer = System.IO.File.ReadAllBytes(FilePath);
    // حالا این آرایه رو داخل دیتابیس درج کن

    الان ما الگومون آماده ست و میتونیم از طریق برنامه به این الگو دسترسی داشته باشیم و بهش پارامتر هاشو ارسال کنیم
    حالا فرضا شما یه فرم داری که از کاربر اطلاعات رو دریافت میکنه و میخوای همین اطلاعات رو به Word ارسال کنی، (اول تئوریشو میگم) برای اینکار ابتدا باید یه نمونه از الگویی که طراحی کردیم رو داخل سیستم ذخیره کنیم، یعنی باید از دیتابیس فراخوانی کنیم و اون آرایه بایتی رو، روو سیستم تبدیل به فایل کنیم، سپس از سمت برنامه تمامی فیلدهای موجود در این الگو رو بخونیم و به جای تک تکشون مقدار مناسب رو قرار بدیم، در نهایت این فایل رو توسط کدنویسی روی سیستم کاربر ذخیره میکنیم، فایل رو تبدیل به آرایه بایتی میکنیم، داخل دیتابیس درج میکنیم و فایل رو از سیستم کاربر حذف میکنیم

    ابتدا Assembly مربوط به MicroSoft.Office.Interop.Word رو به رفرنس هات اضافه کن و سربرگش رو هم Using کن، حالا میرسیم به کد نویسی:

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// اینارو به صورت سراسری داخل فرمت تعریف کن
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //THE LOCATION OF THE TEMPLATE FILE ON THE MACHINE;
    Object oTemplatePath = string.Format("{0}\\NewDocument.dot", Application.StartupPath);

    //OBJECT OF MISSING "NULL VALUE"
    Object oMissing = System.Reflection.Missing.Value;

    //OBJECTS OF FALSE AND TRUE
    Object oTrue = true;
    Object oFalse = false;

    //CREATING OBJECTS OF WORD AND DOCUMENT
    Microsoft.Office.Interop.Word.Application oWord = null;
    Microsoft.Office.Interop.Word.Document oWordDoc = null;
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////


    ///////////////////////////////////////////////////////////////////////////////////////////////////
    // اینارو داخل ایونت کلیک دکمه مثلا "پیشنمایش" بنویس

    // Fetching Template ByteArray From Database => Byte[] YourTemplateByteArray = Fetch Template;

    System.IO.File.WriteAllBytes(oTemplatePath.ToStrin g(), YourByteArray);

    oWord = new Microsoft.Office.Interop.Word.Application();
    oWordDoc = new Microsoft.Office.Interop.Word.Document();

    //Adding A New Document From A Template
    oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);


    int iTotalFields = 0;
    // Finding Mailmerge Fields
    foreach (Microsoft.Office.Interop.Word.Field myMergeField in oWordDoc.Fields)
    {
    iTotalFields++;
    Microsoft.Office.Interop.Word.Range rngFieldCode = myMergeField.Code;
    String fieldText = rngFieldCode.Text;

    // Only Get The Milmerge Fields
    if (fieldText.StartsWith(" MERGEFIELD"))
    {
    // Gives The Fieldnames as Entered in .DOT File
    string fieldName = fieldText.Substring(12, fieldText.IndexOf(" ", 12) - 12);

    switch (fieldName)
    {
    case "Letter_No":
    myMergeField.Select();
    oWord.Selection.TypeText(txtLetterNo.Text);
    break;

    case "Letter_Date":
    myMergeField.Select();
    oWord.Selection.TypeText(DateTime.Now);
    break;

    case "Letter_Has_Attachment":
    myMergeField.Select();
    oWord.Selection.TypeText("دارد یا ندارد");
    break;

    // And So On

    default:
    break;
    }
    }
    }


    //Showing The Document To The User
    oWord.Visible = true;



    ///////////////////////////////////////////////////////////////////////////////////////////////////////
    // یک دکمه بذار برای ذخیره فایل ورد، زمانی که کاربر تایپ کردنش تموم شد و هنوز برنامه ورد در حال اجراس این دکمه رو اجرا میکنه

    oWordDoc.Save();

    //CLOSING THE FILE
    oWordDoc.Close(ref oFalse, ref oMissing, ref oMissing);

    //QUITTING THE APPLICATION
    oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
    byte[] FileBuffer = System.IO.File.ReadAllBytes(oTemplatePath.ToString ());

    // Now Insert The FileBuffer Into Database as A Letter

    اینم نمونه جایگذاری فیلدها:

    CalledSimple.jpg
    این برنامه فایل رو کجای دیتا بیس ذخیره میکنه
    لطفا این متن رو با دقت بخونین، چون همه چیو توضیح دادم اینجا.

    این کدا کاملا درست عمل میکنن، شما یا trace رو انجام بدین یا اگر براتون مقدوره پروژه تون رو اپلود کنین تا نگاه بندازم

  26. #26
    کاربر دائمی آواتار alia.n
    تاریخ عضویت
    تیر 1389
    محل زندگی
    شیراز
    پست
    194

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

    درصورتی که میخواین از فایل موجود در سیستم استفاده کنین، پس دیگه لزومی نداره از ReadAllBytes و پس از اون از WriteAllBytes استفاده کنین، فقط آدرس فایل رو بدین کافیه، اون اعمال واسه زمانیه که فایل تمپلیتتون داخل دیتابیس ذخیره شده باشه
    از پاسخگویی شما تشکر میکنم
    مشکل از ورد بود عوض کردم درست شد پارامتر ها ارسال شدند
    برای آدرس دهی چکارکنم چطور آدرس بدم که روی هر کامپیوتری جواب بده
    فایل برنامه رو براتون میفرستم ممنون میشم چک کنید
    روال کلی برنامه من این طوره که اطلاعات یک فرد رو میگیره بعد با انتخاب اسم مشخص میکنیم نامه به کجا، از کجا، موضوعش و متن نامه چی باشه و در نهایت به ورد ارسال میشه بعد چاپش می کنیم حالا اطلاعاتی را که برای ورد فرستادیم را در دیتابیس ذخیره می کنیم جهت هرگونه فراخوانی یا تغییر و چاپ دوباره با کدی که شما نوشتین این کار شدنی هست؟؟
    فایل های ضمیمه فایل های ضمیمه

  27. #27

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

    ببینین شما لازمه که یک فایل template به همون روش ذکر شده درست کنین و اون رو داخل یک جدول مثلا با اسم templates که فیلدی از نوع varbinary داره ذخیره کنین (میتونین فیلدای دیگه ای هم واسش تعریف کنین، مثل تاریخ ثبت فایل داخل دیتابیس، کاربر ثبت کننده فایل و....) حالا داخل برنامه هرکسی خواستکه نامه ای تنظیم کنه ما یک نمونه از این فایل تمپلیت روی سیستم کاربر میسازیم و پارامترهای موردنظر رو به اون فایل ساخته شده روی سیستم کاربر ارسال میکنیم(توسط متود writeallbytes اون آرایه بایتی ذخیره شده تو جدول Templates رو میتونیم به یک فایل تبدیل کنیم) حالا بعد از تکمیل و تایپ نامه توسط کاربر، یک دکمه با اسم ذخیره روی فرممون قرار میدیم توسط این دکمه فایلی که در حال حاضر داخل ورد باز هست رو ذخیره میکنیم، توسط متد ReadAllBytes معادل آرایه بایتی اون فایل رو بدست آورده و اون آرایه رو داخل یه جدول با اسم مثلا letterdocs و با یک فیلد از نوع varbinary ذخیره میکنیم، تمام

    عذرخواهی میکنم، الان با گوشی آنلاین هستم فعلا نمیتونم پروژه تون رو دانلود کنم

    پ.ن: در این پست شرح مختصری از این دستورات رو ارائه دادم، خوندنشون میتونه براتون مفید باشه:
    https://barnamenevis.org/showthread.p...=1#post2338131
    آخرین ویرایش به وسیله mr.sirwan : چهارشنبه 22 دی 1395 در 10:52 صبح

  28. #28

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

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    خب ابتدا ما میخوایم یک الگو یا Template درست کنیم و بعد ها از روی اون نامه جدیدی رو ایجاد کنیم و فیلد هارو براش پر کنیم، برای اینکار یک سند جدید در Word ایجاد کنین و به سربرگ Mailings مراجعه کنین، دکمه Select Recipients رو بزنین از منوی باز شده Type a NewList رو بزنین با اینکار پنجره ای باز میشه دکمه Customize Columns رو بزنین این پنجره شامل فیلد هایی میشه که میتونین ازش استفاده کنین و روی سند قرار بدین و داخل برنامه با پیدا کردن این فیلد میتونین به جاش مقدار مورد نظرتون رو بهش پاس بدین، حالا شما نیاز دارین که از طرق دکمه Add تمامی فیلد هایی که یک نامه شامل میشه و به نظرتون میاد که باید لحاظ کنین رو بسازین، پس از این کار در هر دو پنجره دکمه OK رو بزنین بدین صورت یک پنجره ذخیره براتون باز میشه این فیلد هایی که ایجاد کردین به عنوان یک دیتابیس کوچیک ذخیره میشه، که تمامی فیلد هارو دارا میباشه و هرموقع خواستین دوباره میتونین از همین فیلد ها استفاده کنین،

    حالا میرسیم به قرار دادن این فیلد ها داخل سند، با ذخیره کردن فیلدها، تمامی گزینه های سربرگ Mailings فعال میشن، شما برای اینکه فیلدی رو بذارین رو سند، روی Insert Merge Field کلیک و متناسب با نیازتون فیلد هارو قرار بدین و الگو رو طراحی کنین من یک نمونه میذارم:

    LetterTemplate.jpg

    حالا فایل رو با پسوند .DOT ذخیره کنین، حالا این فایل رو در دیتابیس ذخیره کنین، به این روش ذخیره کنین:
    String FilePath = "Template Path";
    // Converting File to ByteArray
    byte[] FileBuffer = System.IO.File.ReadAllBytes(FilePath);
    // Now you can insert this file buffer to DB

    الان ما الگومون آماده ست و میتونیم از طریق برنامه به این الگو دسترسی داشته باشیم و بهش پارامتر هاشو ارسال کنیم
    حالا فرضا شما یه فرم داری که از کاربر اطلاعات رو دریافت میکنه و میخوای همین اطلاعات رو به Word ارسال کنی، (اول تئوریشو میگم) برای اینکار ابتدا باید یه نمونه از الگویی که طراحی کردیم رو داخل سیستم ذخیره کنیم، یعنی باید از دیتابیس فراخوانی کنیم و اون آرایه بایتی رو، روو سیستم تبدیل به فایل کنیم، سپس از سمت برنامه تمامی فیلدهای موجود در این الگو رو بخونیم و به جای تک تکشون مقدار مناسب رو قرار بدیم، در نهایت این فایل رو توسط کدنویسی روی سیستم کاربر ذخیره میکنیم، فایل رو تبدیل به آرایه بایتی میکنیم، داخل دیتابیس درج میکنیم و فایل رو از سیستم کاربر حذف میکنیم

    ابتدا Assembly مربوط به MicroSoft.Office.Interop.Word رو به رفرنس هات اضافه کن و سربرگش رو هم Using کن، حالا میرسیم به کد نویسی:

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// اینارو به صورت سراسری داخل فرمت تعریف کن
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //LOCATION OF THE TEMPLATE FILE ON THE MACHINE;
    Object oTemplatePath = string.Format("{0}\\NewDocument.dot", Application.StartupPath);

    //OBJECT OF MISSING "NULL VALUE"
    Object oMissing = System.Reflection.Missing.Value;

    //OBJECTS OF FALSE AND TRUE
    Object oTrue = true;
    Object oFalse = false;

    //CREATING OBJECTS OF WORD AND DOCUMENT
    Microsoft.Office.Interop.Word.Application oWord = null;
    Microsoft.Office.Interop.Word.Document oWordDoc = null;
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////


    ///////////////////////////////////////////////////////////////////////////////////////////////////
    // اینارو داخل ایونت کلیک دکمه مثلا "پیشنمایش" بنویس

    // Fetching Template ByteArray From Database => Byte[] YourTemplateByteArray = Fetch Template;

    System.IO.File.WriteAllBytes(oTemplatePath.ToStrin g(), YourByteArray);

    oWord = new Microsoft.Office.Interop.Word.Application();
    oWordDoc = new Microsoft.Office.Interop.Word.Document();

    //Adding A New Document From A Template
    oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);


    int iTotalFields = 0;
    // Finding Mailmerge Fields
    foreach (Microsoft.Office.Interop.Word.Field myMergeField in oWordDoc.Fields)
    {
    iTotalFields++;
    Microsoft.Office.Interop.Word.Range rngFieldCode = myMergeField.Code;
    String fieldText = rngFieldCode.Text;

    // Only Get The Mailmerge Fields
    if (fieldText.StartsWith(" MERGEFIELD"))
    {
    // Gives The Fieldnames as Entered in .DOT File
    string fieldName = fieldText.Substring(12, fieldText.IndexOf(" ", 12) - 12);

    switch (fieldName)
    {
    case "Letter_No":
    myMergeField.Select();
    oWord.Selection.TypeText(txtLetterNo.Text);
    break;

    case "Letter_Date":
    myMergeField.Select();
    oWord.Selection.TypeText(DateTime.Now);
    break;

    case "Letter_Has_Attachment":
    myMergeField.Select();
    oWord.Selection.TypeText("دارد یا ندارد");
    break;

    // And So On

    default:
    break;
    }
    }
    }


    //Showing The Document To User
    oWord.Visible = true;



    ///////////////////////////////////////////////////////////////////////////////////////////////////////
    // یک دکمه بذار برای ذخیره فایل ورد، زمانی که کاربر تایپ کردنش تموم شد و هنوز برنامه ورد در حال اجراس این دکمه رو اجرا میکنه

    oWordDoc.Save();

    //Closing the file
    oWordDoc.Close(ref oFalse, ref oMissing, ref oMissing);

    //Quitting the application
    oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
    byte[] FileBuffer = System.IO.File.ReadAllBytes(oTemplatePath.ToString ());

    // Now Insert The FileBuffer Into Database as A Letter

    اینم نمونه جایگذاری فیلدها:

    CalledSimple.jpg


    سلام خدمت دوستان عزیز

    من از این روش برای ارسال دیتا به ورد استفاده میکنم و جواب هم میگیرم
    منتها میخوام وقتی یه رشته با فرمت html رو ارسال میکنم اون رو با css که برای تگ ها نوشتم در ورد نمایش بده
    بخوام دقیق تر بگم همنطور که در صفحات html متن رو نشون میده در ورد هم همون طور باشه

    من یه کد میخوام که رشته htmlی من رو به یه رشته با همون خواص تبدیل کنه و نمایش بده

    ممنون از همه اساتید محترم

  29. #29

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

    نقل قول نوشته شده توسط meysam_online2012 مشاهده تاپیک
    سلام خدمت دوستان عزیز

    من از این روش برای ارسال دیتا به ورد استفاده میکنم و جواب هم میگیرم
    منتها میخوام وقتی یه رشته با فرمت html رو ارسال میکنم اون رو با css که برای تگ ها نوشتم در ورد نمایش بده
    بخوام دقیق تر بگم همنطور که در صفحات html متن رو نشون میده در ورد هم همون طور باشه

    من یه کد میخوام که رشته htmlی من رو به یه رشته با همون خواص تبدیل کنه و نمایش بده

    ممنون از همه اساتید محترم

    دوستان کسی نظری نداره در این مورد؟

  30. #30

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

    سلام دوستان من از کد هایی که هست استفاده کردم فقط تاریخ تو shape هست مقادیر ارسال نمیشه لطفا اگر ممکن هست راهنمایی کنید

تاپیک های مشابه

  1. حرفه ای: ارسال ديتا از سي شارپ به فست ريپورت (فست ريپورت فاقد ديتاسورس است)
    نوشته شده توسط Rejnev در بخش ابزارهای گزارش سازی
    پاسخ: 2
    آخرین پست: سه شنبه 16 اسفند 1390, 21:41 عصر
  2. ارسال داده از سي شارپ به كريستال
    نوشته شده توسط vahid301 در بخش گزارش سازی با Crystal Report
    پاسخ: 3
    آخرین پست: شنبه 21 آبان 1390, 13:24 عصر
  3. مشکل در ارسال اطلاعات از سی شارپ به stimul
    نوشته شده توسط crazy_1892 در بخش ابزارهای گزارش سازی
    پاسخ: 3
    آخرین پست: دوشنبه 30 خرداد 1390, 15:55 عصر
  4. سوال: ارسال متغییر از سی شارپ به جاوااسکریپت
    نوشته شده توسط faribajan در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: شنبه 03 مرداد 1388, 08:31 صبح
  5. سوال: ارسال متغیر از سی شارپ به جاوا اسکریپت و برعکس
    نوشته شده توسط faribajan در بخش برنامه‌نویسی جاوا
    پاسخ: 3
    آخرین پست: پنج شنبه 01 مرداد 1388, 11:16 صبح

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

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