تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
نقل نص من الفيجوال بيسك دوت نت الى فيجوال بيسك 6
#1
السلام عليكم


أود تصميم برنامج بالدوت نت وأضع فيه تكست بوكس وزر عند الظغط على الزر ينقل النص المكتوب في التكست بوكس 1 الى البرنامج الثاني حيث البرنامج الثاني يحتوى على تكست ومبرمج بالفيجوال بيسك 6 مع العلم إسم التكست بوكس هو Text1
الرد }}}
تم الشكر بواسطة:
#2
أملك سورس vb.net والذي سأصنعه
لكن لا أملك سورس vb6 لكني اعرف أسماء التكست بوكس البرميجة التي اود ارسال معلومات اليها
الرد }}}
تم الشكر بواسطة:
#3
سلام عليكم
ممكن بس تنزل البرنامجين اذا ممكنBlush
الرد }}}
تم الشكر بواسطة:
#4
(02-07-14, 03:44 PM)محمود اكرم كتب : سلام عليكم
ممكن بس تنزل البرنامجين اذا ممكنBlush

برنامج الدوت نت عادي جدا عبارة عن تكست بوكس وزر اكتب ما اشاء في تكستب بوكس وعند الظغط على الزر ينقل محتواه الى التكست بوكس اللي في برنامج الفيبي 6

اما البرنامج الثاني اسف لا استطيع ارفاقه
الرد }}}
تم الشكر بواسطة:
#5
Brick 
.....

منقول


تغيير نص أداة مربع نص في برنامج آخر عن طريق VB.NET نحتاج لمعرفة رقم المقبض Handle الخاص بها ونستخدم دوال API.


لمعرفة رقم المقبض نستخدم الدالة GetDlgItem وتطلب قيمتين:
1: رقم مقبض الأداة الحاضنة لها (مثل النافذةForm أوFrame أوGroupBox وما شابه...).
2: رقم التعريف ControlID الخاص بها (ونعرفه باستخدام أداة ++Spy التي تأتي مع أدوات فجوال ستوديو).


إذا كانت الأداة الحاضنة هي النافذة Windows Form فنستخدم الدالة FindWindow وتطلب قيمتين:
1: اسم كلاس النافذة (لا نحتاجه في موضوعنا هذا وسنضع فيه vbNullString)
2: عنوان النافذة وهو الاسم الظاهر في رأس النافذة مثل ("بيانات موظف")


طريقة استخدام أداة ++Spy لمعرفة رقم تعريف الأداة ControlID:
أولا نقوم بتشغيل البرنامج المستهدف وإظهار النافذة المستهدفة منه.
ثانياً نقوم بتشغيل أداة ++Spy عن طريق:
- كافة البرامج
-- ثم Microsoft Visual Studio 20xx
--- ثم Visual Studio Tools
---- ثم تشغيل ++Spy
[صورة مرفقة: wGKZVh.png]


تظهر نافذة البرنامج ++Spy ومن خلال القائمة Search نختار ...Find Window
[صورة مرفقة: yPRbGK.png]


تظهر لنا نافذة استهداف الأدوات ونلاحظ بداخلها علامة استهداف داخل مربع
نقوم بسحب علامة الإستهداف من داخل المربع ونسقطها على أداة مربع النص المستهدف الذي في داخل البرنامج المستهدف ثم نضغط [OK]
[صورة مرفقة: InXYZB.png]


سنجد أن أداة مربع النص تم تحديده داخل عارض الشجرة TreeView نتركه محدد ولا نغير التحديد
ومن القائمة View نختار ...Properties
[صورة مرفقة: SQaf8g.png]


الآن هذه النافذة هي المطلوبة وبها بيانات أداة مربع النص الذي استهدف
ونجد في التبويب General بيانات ومن ضمنها Control ID وهو المطلوب وسنستخدمه في كود VB.NET
[صورة مرفقة: TB3ReC.png]


ننشئ مشروع VB.NET ونضيف Button وTextBox ونضع الكود التالي:
كود :
Public Class Form1

    <Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True, CharSet:=Runtime.InteropServices.CharSet.Auto)> _
    Private Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
    End Function
    <Runtime.InteropServices.DllImport("user32.dll")> _
    Private Shared Function GetDlgItem(ByVal Column As IntPtr, ByVal nIDDlgItem As Integer) As IntPtr
    End Function
    <Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True, CharSet:=Runtime.InteropServices.CharSet.Auto)> _
    Private Shared Function SendMessage(ByVal Column As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As String) As IntPtr
    End Function

    ' رقم خدمة وضع نص
    Private Const WM_SETTEXT As Long = &HC


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        ' معرفة مقبض النافذة بدلالة عنوانها
        Dim hwndForm As Integer = FindWindow(vbNullString, "بيانات موظف")

        ' معرفة مقبض مربع النص بدلالة رقم تعريفها
        Const ControlID_TextBox As Integer = &H2    '<<<<<< Spy++ رقم تعريف أداة مربع النص عن طريق الأداة
        Dim hwndTextBox As IntPtr = GetDlgItem(hwndForm, ControlID_TextBox)

        ' النص المراد إدخاله في مربع النص
        Dim txt As String = Me.TextBox1.Text

        ' أمر إرسال رسالة بدلالة رقم الخدمة
        SendMessage(hwndTextBox, WM_SETTEXT, 0, txt)

    End Sub

End Class


ونرى النتيجة عند التنفيذ بوضع النص في أداة مربع النص المستهدف
[صورة مرفقة: C3EL0a.png]


ماذا لو كان مربع النص المستهدف داخل أداة حاضنة وليس على الفورم مباشرة........

.....
الرد }}}
تم الشكر بواسطة: Riad dz , Motaz Alnuweiri , raoe-041
#6
ماشاء الله تبارك الله تم حفظ الموضوع لم اكن اعرف بعمل الاداة ++Spy اداة جميلة جدا اشكرك كثير الشكر اخي vbnet تم التقييم
الرد }}}
تم الشكر بواسطة:
#7
(04-07-14, 12:48 AM)vbnet كتب : ....

....

بارك الله فيك أخي شرح ممتاز و رائع جدا وياريت تشرح نفس الأمر لأداة checkbox و combobox
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  جهاز ارسال رسائل SMS من خلال برنامج فيجوال بيسك جيولوجي مبتدئ 5 1,422 27-01-26, 12:13 PM
آخر رد: fath
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,823 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [VB.NET] حفظ تنسيق الفورم ثم تطبيقة علي فورم اخر فيجوال بيسك abo ragab 7 1,566 09-07-25, 12:45 AM
آخر رد: abo ragab
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 1,096 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 997 07-02-25, 07:57 PM
آخر رد: الورد2
Lightbulb [مشروع] مطلوب برنامج نظام صيدليه بالفيجوال بيسك 2010 May-5 13 11,520 07-02-25, 07:55 PM
آخر رد: الورد2
  كيفية التعامل مع inputbox في فيجوال ستوديو أسامة حسين 4 3,758 14-01-25, 02:04 AM
آخر رد: أبو خالد الشكري
  افضل نسخة فيجوال نت مافيها مشاكل Wolfalwolf20 0 427 13-12-24, 05:40 PM
آخر رد: Wolfalwolf20
  [VB.NET] تحويل لغة الأرقام في فيجوال ستوديو AboBattal 2 570 12-11-24, 08:11 AM
آخر رد: أبو خالد الشكري
  السلام عليكم ممكن كود بحث فى برنامج مصمم بالفيجوال بيسك وقاعدة بيانات اكسس خالد كامل1 1 629 08-10-24, 02:37 PM
آخر رد: salamandal

التنقل السريع :


يقوم بقرائة الموضوع: