PDA

View Full Version : سوال: اضافه کردن یک رشته در محل خاصی از یک فایل



Tiam121
دوشنبه 15 مهر 1392, 10:20 صبح
سلام
من توی برنامه یک فایل rtf رو توی یه richtextbox لود میکنم.در قسمتی از فایل NAME: نوشته شده و من میخوام بعد از اون اسم مشتری رو اضافه کنم از متد indexofوinsert واسه این کار استفاده کردم اما این کار انجام نمیشه و خطایی هم نمیده.میشه راهنمایی کنید لطفا

pedram.11
دوشنبه 15 مهر 1392, 10:39 صبح
سلام، باید بنویسید:
richTextBox1.Text = richTextBox1.Text.Insert(...
یعنی دوباره مقدار تکست رو باید با مقدار جدید جایگزین کنید، اینکارو کردید؟! گاهی وقتا خودم ازین کارا میکنم یادم میره گفتم شاید شما هم فقط Insert کردید ولی مقدار جدید رو انتساب ندادید!

mehrdad1991h
دوشنبه 15 مهر 1392, 10:40 صبح
سلام
من توی برنامه یک فایل rtf رو توی یه richtextbox لود میکنم.در قسمتی از فایل NAME: نوشته شده و من میخوام بعد از اون اسم مشتری رو اضافه کنم از متد indexofوinsert واسه این کار استفاده کردم اما این کار انجام نمیشه و خطایی هم نمیده.میشه راهنمایی کنید لطفا

اگر این بهت جواب نداده
رشته را اسپیلیت کن
متن مورد نظر را بهش اضافه کن
مجددا همه را یک رشته کن
و ذخیره کن (جایگزین)

Tiam121
دوشنبه 15 مهر 1392, 11:07 صبح
سلام، باید بنویسید:
richTextBox1.Text = richTextBox1.Text.Insert(...

ممنون مشکل حل شد.فقط یه مسئله میمونه و اون اینکه نوشته های این فایل رنگی هستن و وقتی من به اینصورت تغییر میدم کل متن رو مشکی میکنه.چطور باید از تغییر رنگ جلوگیر کنم؟

pedram.11
دوشنبه 15 مهر 1392, 11:34 صبح
وقتی از این کد استفاده کنید تمام استایلها از بین میره، اگر نمیخواید استایلها از بین برن باید قسمتی که میخواید مقداری رو اضافه کنید رو از اون مکان جدا کنید و بعد از وارد کردن رشته ی اول با دستور AppendText مقدار جدید رو وارد کنید و در آخر باقیمانده متن رو اضافه کنید.
یک راه دیگه هم اینه که موقعیتی رو که میخواید اونجا متن جدیدی وارد کنید رو انتخاب کنید و بعد با استفاده از دستور Paste() متن جدید رو در اونجا وارد کنید.
مثلا فرض کنید میخواید متن تیام رو به سومین حرف در RichTextBox اضافه کنید:
richTextBox1.Select(3, 0);
Clipboard.SetText("تیام");
richTextBox1.Paste();