PDA

View Full Version : انتخاب متن



naimeh
چهارشنبه 29 آذر 1385, 14:29 عصر
سلام
دارم با فایلا کار می کنم می خوام یه قسمتی از متن فایلمو انتخاب کنم و بعد روش عملیات کپی یا کات انجام بدم بلد نیستم هر کس بلده کمکم کنه
ممنون
راستی فایلم از نوع txtاست
خواهش میکنم بلدید جواب بدید کارم خیلی گیره

mzjahromi
چهارشنبه 29 آذر 1385, 14:34 عصر
فایل رو نمایش میدید؟
دارید چه کاری انجام میدید؟
میتونید آدرس شروع و پایان رو بردارید و از آدرس پایان کاراکترها رو بذارید بجای آدرس شروع و جلو برید(البته اگه درست منظورتون رو فهمیده باشم)

sh_roohani
چهارشنبه 29 آذر 1385, 16:08 عصر
سلام،

انتخاب یه قسمت از متن داخل یه فایل که معنی نداره (البته اگه منظورتونو درست فهمیده باشم). اگر هم به قول دوستمون mzjahromi فایل رو نمایش می دین، خوب بگین تو چه محیطی دارین اینکارو می کنین. چون انتخاب متن نمایش داده شده وابسته به پلتفرمه.

Iran-PC
چهارشنبه 29 آذر 1385, 22:43 عصر
سلام.
اگر میخواهید فقط فایل رو تغیر بدید (یعنی توی کنترلی نمایشش ندید) باید فایل رو رونویسی کنید.
اما اگر توی کنترلهای ویرایشگر متن تغیرات اعمال میشه خودشون گزینه سیو تو فایل دارند.

فکر کنم منظور شما مورد اولی باشه.

naimeh
یک شنبه 03 دی 1385, 15:48 عصر
فایل رو نمایش میدید؟
دارید چه کاری انجام میدید؟
میتونید آدرس شروع و پایان رو بردارید و از آدرس پایان کاراکترها رو بذارید بجای آدرس شروع و جلو برید(البته اگه درست منظورتون رو فهمیده باشم)
من دارم یه ویرایشگر میسازم که فایلو نمایش میده وبعد هر قسمتی که کار بر خواست روش عملیات کات و کپی انجام بده پس لازم دارم قسمتی از متن که توست کاربر انتخاب میشرو داشته باشم حالا می خوام بدونم چه جوری این کارو بکنم
ممنون

sh_roohani
یک شنبه 03 دی 1385, 17:04 عصر
سلام،

بازم نگفتید تو چه محیطی کار می کنید، ولی اگه توی Win32 کار می کنید و از کنترلهای آماده ویندوز هم استفاده نمی کنید (یعنی پنجره مورد نیاز برای نمایش متن رو خودتون می سازید و مدیریت می کنید)، باید یکسری مفاهیم رو تعریف کنید، مثل خط و فاصله بین خطوط و ... که البته اگه به مدل GDI برای تعریف جزئیات فونت مراجعه کنید، راهنمای بسیار خوبیه (توی MSDN از تابع GetTextMetrics می تونید شروع کنید و به جزئیات برسید). به هر صورت بعد از این مفاهیم، باید Caret به پنجره تون تخصیص بدین و بعد با کنترل ورودی کاربر از صفححه کلید جای Caret رو متناسب با اندازه کاراکتر بعدی یا قبلی و یا فاصله بین خطوط تنظیم کنید و مثلا اگه کلید Shift هم پایین نگه داشته شده بود رنگ پس زمینه و رنگ متن اون کاراکتر رو تغییر بدید تا جلوه انتخاب شدن متن رو به کاربر نمایش بدین (و البته اون کاراکتر رو هم به متغیری که متن انتخاب شده رو نگه می داره اضافه کنید). با ماوس هم باید Hit test انجام بدید و اگه حین کشیده شدن ماوس (در پیغام WM_MOUSEMOVE) کلید سمت چپ پایین بود به روشی که گفتم متن رو انتخاب کنید. جزئیات پیاده سازی رو باید با نگاه کردن به برنامه های مختلف متن پرداز (از Notepad گرفته تا MS Word , OpenOffice Writer) یاد بگیرید.