PDA

View Full Version : جلوگیری از کپی کردن ادیت!



1485159
جمعه 18 اردیبهشت 1388, 23:02 عصر
چطوری میتون که نظارم از یک اجیت کپی یا پست بشه و فقت بشه که تایپ کرد!؟..
ممنون

Felony
جمعه 18 اردیبهشت 1388, 23:33 عصر
1. یونیت ClipBrd رو به uses اضافه کنید .
2. در رویداد KeyUp و MouseUp ادیت مورد نظر کد زیر رو بنویسید :

ClipBoard.Clear;

vcldeveloper
شنبه 19 اردیبهشت 1388, 00:06 صبح
در رویداد KeyUp و MouseUp ادیت مورد نظر کد زیر رو بنویسید
اگر کاربر بیچاره قبلا متنی را در Clipboard ذخیره کرده باشه، و متوجه بشه با شروع تایپ کردن در Edit مورد نظر، متنش از Cliboard حذف شده، چه حالی بهش دست میده؟!


جلوگیری از کپی کردن ادیت!
یک کامپوننت جدید از روی TCustomEdit بسازید، و در آن Message Handlerهایی برای پیام های WM_COPY و WM_PASTE در آن ایجاد کنید، تا هر زمان کاربر خواست متنی را در داخل کامپوننت شما Copy یا متنی یا متنی را در آن Paste کند، شما متوجه بشید، و در صورت لزوم، از آن جلوگیری کنید. یک نمونه کد که از این روش استفاده کرده، در لینک زیر موجود است (البته برای Memo):

http://www.tek-tips.com/faqs.cfm?fid=6272

Felony
شنبه 19 اردیبهشت 1388, 06:32 صبح
اگر کاربر بیچاره قبلا متنی را در Clipboard ذخیره کرده باشه، و متوجه بشه با شروع تایپ کردن در Edit مورد نظر، متنش از Cliboard حذف شده، چه حالی بهش دست میده؟!
:قهقهه:هیچ کاری نمیتونه بکنه به جز ناسزا گفتن به برنامه نویس برنامه :قهقهه:
من فکر اینجاشو نکرده بودم ، آقای کشاورز درست میگن .

Felony
شنبه 19 اردیبهشت 1388, 06:43 صبح
:متفکر:یه راه حل به ذهنم رسید ، میتونید کد رو به این شکل تغییر بدید :
" متغییر Temp رو از نوع رشته تعریف کنید "


Temp:=ClipBoard.AsText;
if Temp=Edit1.Text then ClipBoard.Clear;

حالا اگر کاربر متنی به جز متن موجو در Edit رو کپی کرده باشه پاک نمیشه ولی اگه متن Edit رو کپی کرده باشه پاک میشه .

1485159
شنبه 19 اردیبهشت 1388, 09:46 صبح
هر دو کدی که شما گذاشتید در دلفی 2009 کار نمیکنه!!!!
ممنون.

Felony
شنبه 19 اردیبهشت 1388, 18:01 عصر
هر دو کدی که شما گذاشتید در دلفی 2009 کار نمیکنه!!!!
یونیت ClipBrd رو به uses اضافه کنید ، من خودم این کد رو با دلفی 2009 برای شما نوشتم و تست کردم .

okhdar
چهارشنبه 01 مرداد 1393, 20:47 عصر
با drag and drop میشه باز هم کپی کرد