PDA

View Full Version : سوال: جایگزین کردن متن کپی شده در حافظه



ubites
جمعه 28 آبان 1395, 16:54 عصر
سلام به همه دوستان و اساتید گرامی!
من دارم روی یک برنامه کوچیک کار میکنم که کارش اینطوریه که Length متن کپی شده در کلیپ بورد (clipboard) رو بررسی میکنه و اگه اندازه مورد نظر بود اونو با متن دلخواه جایگزین کنه!

مثلا اگر من عبارت salam رو کپی کردم برنامه بیاد ببینه اگه تعداد کاراکتر هاش 4 تاس عبارت test رو جایگزین salam در clipboard بکنه!اگر هم کمتر یا بیشتر بود کاری باهاش نداشته باشه!

من برنامه نویسیم خیلی در حد مبتدیه و این کدو نوشتم بدون اشکال اجرا میشه ولی جواب نمیده!

Private Sub Timer_Timer()
If My.Computer.Clipboard.ContainsText() Then
Dim adr As String
adr = My.Computer.Clipboard.GetText
If adr.Length = "34" Or adr.Length = "33" Or adr.Length = "32" Or adr.Length = "31" Or adr.Length = "30" Or adr.Length = "29" Or adr.Length = "28" Or adr.Length = "27" Then
If adr.Substring(0, 1) = "1" Then
My.Computer.Clipboard.SetText ("Adresse 1")
End If
End If
End If
End Sub



اشکالش کجاعه؟
ممنون میشم راهنماییم کنید!

isaac23
شنبه 29 آبان 1395, 08:53 صبح
نمی دونم چی نیاز داری اما با توجه به چیزی که نوشتی این جوابش هست.

در صورتی که متن کپی شده رد کلیت بورد تعداد کارکتراش به 4 رسید در عبارت Text رو در کلیپ بورد کپی و سپس در Textbox جایچزین میشه

Private Sub Command1_Click()
Dim gettxt As String

If Clipboard.GetText <> "" Then
gettxt = Clipboard.GetText
If Len(gettxt) = 4 Then
Clipboard.Clear
Clipboard.SetText ("test")
Text1.Text = Clipboard.GetText
End If
End If

End Sub

ubites
شنبه 29 آبان 1395, 13:42 عصر
ممنون بابت پاسخ
ولی کلا نیازی به تکست باکس نیست!میخوام وقتی هر عبارت 4 حرفی کپی بشه مثل عبارت test بجای test هرجا که خواستم paste کنم عبارت hello رو paste کنه!

vbhamed
شنبه 29 آبان 1395, 14:09 عصر
سلام
اولا اینکه شما ظاهرا کد دات نت نوشتید و اینجا تالار VB6 هستش
ولی به صورت کلی ابتدا محتویات فعلی کلیپ برد باید با متد Clear پاک بشه بعد متن جدید بهش داده بشه

isaac23
شنبه 29 آبان 1395, 16:14 عصر
خب دوست عزیز من واسه اینکه شما متوجه بشید نوشتم براتون وگرنه دیگه کاری نداره هر جا دوست داشتی می تونی استفاده کنی ازش

ubites
یک شنبه 30 آبان 1395, 11:32 صبح
با تشکر بلاخره جواب داد.فقط یه سوال دیگه!هر موقع برنامه رو اجرا میکنم این پروسه انجام میشه,اگر بخوام مادامی که برنامه درحال اجراست با کپی کردن هر متنی این پروسه انجام بشه چیکار باید بکنم؟
استفاده از حلقه؟تایمر؟

isaac23
دوشنبه 01 آذر 1395, 07:58 صبح
خوب اره دیگه یه تایمر بذار و هر 1 ثانیه چک کنه برات و از برنامه خروجی .Exe. بگیر و بذار توی استارت اپ ویندوز و هر وقت اومد بالا ویندزو این هم شروع بکاربکنه .