PDA

View Full Version : ClipBoard



Hamid.Kad
دوشنبه 06 آبان 1387, 11:27 صبح
سلام
ميخوام برنامه اي بنويسم كه هر وقت توي كليپ بورد چيزي كپي شد يه كاري انجام بده. با استفاده از message ها. ميدونم message مربوطه WM_COPY هست ولي اشكالش اينه كه حتماً بايد توي كلاس فرم از اون استفاده بشه. يعني اگه يه روال بنويسم كه از نوع message oriented باشه دلفي گير ميده و ميگه حتماً روال بايد توي كلاس فرم باشه و بهمين خاطر مثلاً وقتي توي يه اديت چيزي رو كپي مي كنم فعال ميشه. :کف:چقدر سخت منظورمو رسوندم:افسرده:
بطور خلاصه اگه دوستان ديكشنري saeb رو ديده بشن مثل اون ميخوان تا يه چيزي كپي شد توي كليپ بورد، برنامه كار خاصي انجام بده. فقط تاكيد مي كنم كه نمي خوام با شيء كليپ بورد مرتب هي حافظه رو چك كنم و اگه تغيير كرده بود ...

vcldeveloper
دوشنبه 06 آبان 1387, 11:44 صبح
در MSDN درباره Clipboard Viewer و تابع SetClipboardViewer تحقیق کنید.

اصغر (پآچ)
دوشنبه 06 آبان 1387, 12:44 عصر
سلام دوستان

من میخواستم کد قراردادن یه متن داخل ادیت رو توی Clipboard بدونم چطوری میتونم متن رو داخل حافظه موقت کپی کنم؟

موفق و موید باشی

hajibandeh
دوشنبه 06 آبان 1387, 13:39 عصر
سلام دوستان

من میخواستم کد قراردادن یه متن داخل ادیت رو توی Clipboard بدونم چطوری میتونم متن رو داخل حافظه موقت کپی کنم؟

موفق و موید باشی

به قسمت Uses -- ClipBRD را اظافه کن

procedure WriteClipBord(S:String);
var
C:TClipboard;
begin
C:=TClipboard.Create;
C.AsText:=S;
C.Free;
end;

hajibandeh
دوشنبه 06 آبان 1387, 13:43 عصر
این هم برای خوندن ClipBord


function ReadClipBord:String;
var
C:TClipboard;
begin
C:=TClipboard.Create;
Result:=C.AsText;
C.Free;
end;

البته فرمتهای دیگه را هم میتوان در کلیپ برد ذخیره کرد یا از آن خوند
موفق باشید

Felony
دوشنبه 06 آبان 1387, 15:46 عصر
به قسمت Uses برنامه ی خود Clibrd را اضافه کرده و برای اینکه محتویات یک Edit رو در کلیپورد ذخیره کنید از کد زیر :


clipboard.AsText:=edit1.Text;

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


edit1.Text:=clipboard.AsText;