تقييم الموضوع :
  • 1 أصوات - بمعدل 2
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تعديل على مشروع بسييط مساعدتكم
#1
السلام عليكم




فكرة المشروع يأتي بالكلام الذي قبل كلمة ويكبيديا وفعلا تم برمجته - وفعلا يأتي بي كلمه ابحث عنها

وبعد تطوير المشروع وخليته يجيب الصوره مع البحث صار خلل انه يجيب بعض الاشياء وبعض الاشياء مايجيبها

اريد انا يضع الصوره في بيكتشر بوكس لكن الاهم واهم نقطه في الموضوع اريد الصوره تنحفظ في مجلد مثلا اسمه
C:\pic
ولنفرض تنحفظ بالاسم الاتي mm وعند اجراء عملية بحث اخرى تنحفظ فوقها mm لا اريد المجلد زحمة صور
وبعد الحفظ تنعرض في البيكتشر بوكس - يعني الصوره تنعرض من C:\pic وليس من رابط الموقع

لاني اريد ان اقوم بتعديل واجعل البيتكشر بوكس يقبل السحب والافلات والاسقاط يعني اقوم بسحبها واساقطها في برنامج معيين وهذا البرنامج لا يقبل السحب والافلات من الروابط يقبل السحب والافلات من الصور المحفوظه على الجهاز فقط

المشكله : انه كثير من النتائج لا يجيبها مثلا
هند البلوشي
المانيا
الكويت


قبل لا اضع ميزة سحب الصوره كان يجيب اي نتيجه واي بحث

اذا لم يعمل البرنامج : جرب افتح البرنامج من مجلد Debug كمدير ( Open as administrator )

باانتظاركم ياخوان

وهذا المشروع قبل اضافة ميييزة الصور ويجيب كل النتائج بالمرفقات 2ade0312967text

اقدر اخلي البيكتشر بوكس يقبل السحب والافلات ليست هذا المشكله

المشكله انه البرنامج بعد اضافة ميزة عرض الصوره مايجيب كثير من النتائج

ويعلق اذا بحثت مرتين فيه

حملو 32494ee00c0image.rar واكتبو هتلر مثلا
لا تظهر نتائج
حملو 2ade0312967text.rar واكتبو هتلر مثلا
تظهر النتائج

بيل غيتس تظهر بالمشروعين


الملفات المرفقة
.rar   32494ee00c0image.rar (الحجم : 75.03 ك ب / التحميلات : 41)
.rar   2ade0312967text.rar (الحجم : 73.16 ك ب / التحميلات : 41)
الرد }}}
تم الشكر بواسطة:
#2
المشكلة عندك في استخدام Parallel Task أنصحك تجلب البيانات علي هيئة Structure إسمه Person بحيث يكون مكوناته عبارة عن الصورة و بيانات الشخص
بحيث ان كل Thread يتم تنفيذه علي حده اي يتم جلب البيانات اولا ثم يتم جلب الصورة ثانيا و في النهاية يكون لديك ناتج عبارة عن Person
الرد }}}
تم الشكر بواسطة:
#3
اخوي سلفر انا مبتدئي في هالامور اذا ممكن تعملي التعديل وترفعه واكون شاكر لك
الرد }}}
تم الشكر بواسطة:
#4
PHP كود :
 Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        Button1
.Enabled False
        Dim awaiter 
Task.Run(Of String)(New Func(Of String)(Function() getWiki(TextBox1.Text))).GetAwaiter()
 
       While Not awaiter.IsCompleted
            Application
.DoEvents()
 
           Dim awaiterResult As String awaiter.GetResult()
 
           RichTextBox1.Text = If(String.IsNullOrWhiteSpace(awaiterResult), "لا توجد نتائج لما تبحث عنه"awaiterResult)
 
           Button1.Enabled True
        End 
While


 
   End Sub

    Private 
Function getWiki(ByVal Q As String) As String
        lock
.EnterReadLock()
 
       Try
            Dim req 
As HttpWebRequest WebRequest.Create("https://www.google.com.kw/search?q=" Q)
 
           req.Method "GET"
 
           req.UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
 
           req.Accept "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
 
           req.CookieContainer = New CookieContainer
            Using res 
req.GetResponse()
 
               Using resStrm res.GetResponseStream()
 
                   Using rdr = New StreamReader(resStrm)
 
                       Dim ResponseString As String rdr.ReadToEnd().Replace(Chr(10), " ")
 
                       Dim PictureM As Match Regex.Matches(ResponseString"_image_src='data:image/(.+?);base64,(.+?)'"RegexOptions.IgnoreCase)(0)
 
                       File.WriteAllText(".\abc.txt"PictureM.Value)
 
                       Dim bytes() As Byte Convert.FromBase64String(PictureM.Groups(2).Value)
 
                       If Not Directory.Exists(".\pictures\") Then Directory.CreateDirectory(".\pictures\")
                        File.WriteAllBytes("
.\pictures\mm." & PictureM.Groups(1).Value, bytes)
                        PictureBox1.Image = Image.FromFile("
.\pictures\mm." & PictureM.Groups(1).Value)
                        Return Regex.Match(ResponseString, "
;""><span>(.+?)</span>.+?fl q _KCd _tWc", RegexOptions.IgnoreCase).Groups(1).Value
                    End Using
                End Using
            End Using
        Catch ex As WebException
            Return "
An error occured." & vbNewLine & ex.Message
        Finally
            lock.ExitReadLock()
        End Try
    End Function 
أضف هذا السطر في بداية الكلاس

PHP كود :
   Private lock As ReaderWriterLockSlim = New ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion
الرد }}}
تم الشكر بواسطة:
#5
نفس المشكله اخ سلفر

جرب تبحث عن هتلر

ياليت ترفع لي رفع المشروع

لاني نسخت الاكواد ووضعتها وطلع لي في خطأ في
   lock.ExitReadLock()

وحذفت     lock.ExitReadLock()

باانتظارك
الرد }}}
تم الشكر بواسطة:
#6
ده لان فيه اكتر من شخص اسمه ب ينتهي ب إسم هتلر

حاول مثلا تضع ف خانة البحث اسم

كلارا هتلر

و اكتشف الفارق

انا فقط ساهمت في حل المشكلة الاصلية و هي ظهور الصورة مع البيانات
الرد }}}
تم الشكر بواسطة:
#7
اخ سلفر الصوره تظهر من زمان لكن المشكله مو كل النتائج تظهر

جرب في المشروع اللي بدون صور 2ade0312967text.rar اكتب هتلر تلقاه يظهر بنجاح

وجرب بالمشروع اللي يحتوي على ميزة جلب الصوره تلقاه مايظهر وهذي المشكله
الرد }}}
تم الشكر بواسطة:
#8
المشروع الذي يتم به جلب الصورة كان يحدث به Exception وهو ما كان يؤدي الي حدوث Crash للبرنامج اثناء تجربته لذلك انا قمت بتغيير أماكن حفظ الملف الي فهرس المشروع حتي يعمل البرنامج فقط لا غير
أما فيما يختص بقراءة البيانات أو الصورة في الواقع انا لم اتعامل مع برامج للويب من قبل لكن ما افهمه هو انك تقوم بحفظ البيانات في ملف تكست و لكن علي هيئة xml ثم تسترجع منها البيانات المطلوبة
لذلك اعتقد ان تجزئة البيانات و قرائتها علي حدة هو الافضل لك
الرد }}}
تم الشكر بواسطة:
#9
للاسف تم تجربة اكثر من طريقه

باانتظار المبدعيين
الرد }}}
تم الشكر بواسطة:
#10
باانتظاار احد المبدعيييييييييين يحل المشكله

او طرت في بالي فكره جعل البرنامج يأتي بااول صوره من بحث الصور
https://www.google.com/imghp?hl=ar

ويعرضها في بيكتشر بوكس
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم