منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كتابة تلقائية - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كتابة تلقائية (/showthread.php?tid=50061)



كتابة تلقائية - علاء الكبابي - 13-08-24

اريد عمل تطبيق يقوم بطبع قيم بدون الضغط على ازرار الكيبورد
يعني باختصار انا عندي برنامج في العمل محتاج اكرر كتابة نفس
 الرقم حوالي ١٠٠٠ مرة لملأ بيانات معينة فخطر ببالي فكرة عمل
 برنامج يقوم بذلك تلقائيا 
عملت فورم جديد ووضعت فيه زر عند الضغط عليه يشتغل تايمر
وعند كل ثانية اريده يطبع رقم 
لكن هيطبع الرقم ده في برنامج العمل عندي وليس في البرنامج الجديد
اتمنى تكون الفكرة وصلت


RE: كتابة تلقائية - الـ ـجارح - 15-08-24

المتطلبات:
  1. إنشاء نموذج (Form) يحتوي على زر بدء.
  2. عند النقر على الزر، يبدأ تشغيل مؤقت (Timer).
  3. كل ثانية، يقوم البرنامج بإرسال الرقم المطلوب إلى التطبيق الآخر الذي تعمل عليه.
خطوات تنفيذ البرنامج:
  1. إضافة الأدوات إلى النموذج:
    • زر واحد لبدء العملية.
    • مؤقت (Timer) للتحكم في التوقيت.
  2. كتابة كود VB.NET:
    • عند النقر على الزر، يتم بدء المؤقت.
    • عند كل تكرار للمؤقت، يقوم البرنامج بإرسال الرقم المطلوب إلى التطبيق الخارجي.
  3. استخدام دالة
    SendKeys
  4. لإرسال النص إلى التطبيق الآخر.



    كود :
    Imports System.Runtime.InteropServices
    Imports System.Threading

    Public Class Form1
       ' تعريف المتغيرات
       Private WithEvents Timer1 As New Timer()

       ' كود البداية عند الضغط على زر البدء
       Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
           Timer1.Interval = 1000 ' تعيين التكرار كل ثانية
           Timer1.Start() ' بدء المؤقت
       End Sub

       ' كود التكرار عند كل ثانية
       Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
           SendKeys.SendWait("12345") ' الرقم المطلوب إرساله
           SendKeys.SendWait("{ENTER}") ' إذا كنت تحتاج للضغط على Enter بعد الرقم
       End Sub

       ' كود لإيقاف المؤقت إذا كنت تحتاج
       Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click
           Timer1.Stop()
       End Sub
    End Class
  5. شرح الكود:
    • Timer1.Interval = 1000: يضبط التكرار ليحدث كل ثانية (1000 مللي ثانية).
    • SendKeys.SendWait("12345"): هذه الدالة تقوم بإرسال النص المحدد (في هذه الحالة الرقم "12345") إلى التطبيق النشط (البرنامج الذي تستخدمه في العمل).
    • SendKeys.SendWait("{ENTER}"): بعد إرسال الرقم، يقوم بالضغط على زر Enter. يمكنك تعديل هذه السطر إذا لم يكن هناك حاجة للضغط على Enter.
  6. ملاحظات:
    • تأكد من أن التطبيق الذي تريد إرسال الرقم إليه هو التطبيق النشط (في الواجهة الأمامية) عند تشغيل هذا البرنامج.
    • يمكنك تعديل الرقم "12345" إلى أي رقم أو نص تريده.
    • يمكنك إضافة زر إيقاف إذا كنت بحاجة لذلك كما في الكود أعلاه.




RE: كتابة تلقائية - علاء الكبابي - 17-08-24

اشكرك اخي العزيز