الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أخوكم متورط ارجوكم ساعدني

مغلق
بدأه C++ في 24 ديسمبر 2001 · 3 رد · 723 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة

أخواني الكرام

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

المشكله هي

أني مكلف بعمل برنامج صغير في الفيجوال بيسيك فكرة هذا البرنامج

أنه يتكون من text1

text2

commondbotton

الفكرة هي ان مربع النص رقم 1 هو لإدخال عنوان صفحة للأنترنيت من قبل المستخدم

أما مربع النص رقم 2 فهو مخفي وغير ظاهر للمستخدم يحوي هذا المربع على عنوان موقع آخر مكتوب فيه عند تحميل الفورم

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

مثلا

إذا أدخل المستخدم

http://www.yahoo.com

وعند الضغط على زر الأمر

يقوم البرنامج بدمج

http://www.ggg.com/http://www.yahoo.com

ومن ثم توصيلة إلى الصفحة التي هي بالعنوان

http://www.ggg.com/http://www.yahoo.com

يعني كيف يمكن دمج متغيران نصيان وعرضهما

ارجوكم ساعدني

#2

انا فهمتك .. Proxy For Jump Block Site

على العموم اذا اردت اضافت عنوان الى عنوان

Text1= Text2.text & Text1.text

اخوك

#3

اشكرك أخي منصور

المشكلة أخي أنني لأا استطيع التعامل مع الأكواد الكثيره الموجودة في

البرنامج هذا البرنامج وجدتة جاهزا ( سورس كود ) وأريد ان أدخل عليه ميزه إضافية وهي

أنه عندما يكتب المستخدم عنوان موقع معين يم إضافة عنوان آخر قبل

العنوان الذي كتبة المستخدم بشرط أن لا يكون هذا العنوان ظاهر

وسبب إختياري هذا البرنامج هو أنه يعرض صفحة الويب في مربع نص

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

المشكلة انه يجب ان يتناسب الكود الذي تفضلة أخي العزيز بكتابتة مع الأكواد الأخرى وهذا يتطلب معرفة جيدة بمجريات البرمجة وهذا ما افتقر إلية

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

[l]

هذا الموديول

[/l]

 [l]   Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long

Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long

Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lparam As Any) As Long

Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long

Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long

    

Public Const WM_RBUTTONUP = &H205

Public Const WH_MOUSE = 7



Public Type POINTAPI

    x As Long

    y As Long

End Type



Public Type MOUSEHOOKSTRUCT

    pt As POINTAPI

    hwnd As Long

    wHitTestCode As Long

    dwExtraInfo As Long

End Type

    

Public gLngMouseHook As Long

    

Public Function MouseHookProc(ByVal nCode As Long, ByVal wParam As Long, mhs As MOUSEHOOKSTRUCT) As Long

Dim strBuffer As String

Dim lngBufferLen As Long

Dim strClassName As String

Dim lngResult As Long



If (nCode >= 0 And wParam = WM_RBUTTONUP) Then



        'Preinitialize string

        strBuffer = Space(255)

        

       ' lngBufferLen = Len(strBuffer)

        

        'This is the string that holds the class name that we are looking for

        strClassName = "Internet Explorer_Server"

        

        Debug.Print strClassName

        

        'Get the classname for the Window that has been clicked, making sure something is returned

        'If the function returns 0, it has failed

        lngResult = GetClassName(mhs.hwnd, strBuffer, Len(strBuffer))

                

        Debug.Print Left$(strBuffer, lngResult)

                

        If lngResult > 0 Then



            'Check to see if the class of the window we clicked on is the same as above

            If Left$(strBuffer, lngResult) = strClassName Then

                

                'Value is the same. Squash the command

                MouseHookProc = 1

                

                Exit Function

                

            End If

            

        End If



    End If



MouseHookProc = CallNextHookEx(gLngMouseHook, nCode, wParam, mhs)

End Function



[/l]

[l]

وهذا الكود

[/l]

  [l] 

هذا  كود الزر الذي عند الضغط علية يعرض الصفحة في مربع النص

Private Sub cmdNavigate_Click()

WebBrowser.Navigate txtNavigate

End Sub



-----------------------------------

هذا القسم الخاص بتعطيل مهمة زر الماوس الأيمن حسب إعتقادي

Private Sub Form_Load()

    'Start Trapping Right-Mouse clicks in WebBrowser Control:

    gLngMouseHook = SetWindowsHookEx(WH_MOUSE, AddressOf MouseHookProc, App.hInstance, GetCurrentThreadId)



End Sub

----------------------------------



هذا القسم خاص يتعطيل شيئ لا أعرفة

Private Sub Form_Unload(Cancel As Integer)

'Cancel the trapping of the code

UnhookWindowsHookEx gLngMouseHook



End Sub

-----------------------------------

هذا القسم الخاص بمربع النص الخاص بعنوان الصفحة

Private Sub txtNavigate_Change()



End Sub

[/l]

وطبعا يجب علي أن اضع مربع نص آخر أو أداة عنوان لكي أكتب فيها عنوان الموقع الذي سيتم زيادتة على العنوان الذي يدخلة المستخدم

ويجب علي أيضا ان أجعل هذه الأداة مخفية كي لا يعرف العنوان

والآن لكي يا أستاذي إكمال المهمة

كيف يمكنني عمل ذلك بشرط أن لا يظهر العنوان المخفي بعد زيادتة في مربع النص الرئيسي

شكرا لك

وأنتظر الإجابة

وآسف على الإطالة

#4

شكرا لكم

لقد حللت المشكلة

وطلعة لي مشكلة ثانية

كيف أستطيع أن أضع جميع ملفات البرنامج في ملف إعداد واحد وطبعا بإستثناء ملفات الكود ..لا أريدها ان تكون في البرنامج

ما هو برنامج setup المتمكن من هذه المسألة

أنتظر

هذا الموضوع مغلق.

مواضيع مشابهة