منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اريد جلب جزء من نص
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
(25-07-17, 04:46 AM)أبو نوره كتب : [ -> ]اخي ابو روضه

جرب كده
PHP كود :
Dim wc As New WebClient
Dim sourceString 
As String wc.DownloadString("https://pastebin.com/raw/fK79BjW7")

Dim s As String Regex.Match(sourceString"(?<=""access_token"":"").+?(?="")").Value

MsgBox
(s


الله يسعدك ويمن عليك بالزيادة فى العلم اخى العزيز ابو نوره...

والله فرحتنى لان الموضوع ده بقالو كتير جدا محيرنى وكنت بصراحة مكسوف اساله..
فجزاك الله خيرى الدارين....
ممكن لو وقتك يسمح شرح بسيط للكود لآفهمه ؟ وطبعا لو وقتك لا يسمح والله عادى جدا
ومش هازعل بالعكس♥
فعلا نجح تمام
تحت امرك  ♥

PHP كود :
Dim wc As New WebClient
Dim sourceString 
As String wc.DownloadString("https://pastebin.com/raw/fK79BjW7"
ده اكيد واضح بالنسبه لك وهو انه يعمل دونلود للنص ويحط النص في المتغير sourceString

PHP كود :
Dim s As String Regex.Match(sourceString"(?<=""access_token"":"").+?(?="")").Value 
افتكر ده اللي انت عاوز شرح ليه
الكود ده يستخدم RegularExpressions ودي مكتبة شرحها يحتاج دورة من عدة دروس
لكن فيه موضوع هنا يشرحه اسمه [مقال] شرح التعابير القياسية Regex
الأخ أبو روضه

أولا : لا حياء في العلم ....


لو ألقيت نظرة سريعة علي التكست ستلاحظ انه تكست تفصيل و مبني بطريقة بسيطة و اعتقد نه تم بناؤه باستخدام StringBuilder
و غالبا هذا التكست أساسه عبارة عن كلاس له مدخلات جميعها String

و هو مقسم علي التوالي الي مجموعة تكست هي
session_key
UId
secret
access_token
machine_id
confirmed
identifier

و تم الفصل بينهم جميعا باستخدام Char هو ","

ثم بعد ذلك تم الفصل بين كل تكست منهم باستخدام Char هو ":"

اي انك التكست مقسم الي مصفوفة تكست عبارة عن سبعة اجزاء
و كل تكست في المصفوفة عبارة عن مصفوفة اخري صغيرة من جزئين

يمكنك استخدام الدالة التالية للحصول علي كل String تريده

الدالة تقوم بفصل التكست الي مصفوفات

PHP كود :
   Private Function GetString(As Stringindex As Integer) As String
        Dim bool 
As Integer 0
        Dim result 
As String ""
 
       Dim item As String ""
 
       If Not String.IsNullOrEmpty(valueThen
            s
.TrimStart("{")
 
           s.TrimEnd("}")
 
           Dim values value.Split(",")
 
           item += values(index)
 
           Dim itemStrings As String() = item.Split(":"c)
 
           result += itemStrings(1)
 
           bool bool 1
        End 
If

 
       If bool 0 AndAlso Not String.IsNullOrEmpty(resultThen
            Return result
        End 
If
 
       Return Nothing
    End 
Function 

للحصول علي access_token مثلا وهي ترتيبها لثالث تقريبا
استخدم الدالة بالشكل التالي

PHP كود :
       Dim wc As New WebClient
        Dim s 
As String wc.DownloadString("https://pastebin.com/raw/fK79BjW7")
Dim token As String GetString(s3


فعليا الافضل لك بناء كلاس يقرأ التكست و يفصله الي مجموعة Property هي علي التوالي كالأتي

PHP كود :
   Public ReadOnly Property SessionKey As String
     
    Public ReadOnly Property ID 
As String
   
    Public ReadOnly Property Secret 
As String
      
    Public ReadOnly Property AccessToken 
As String
 
    Public ReadOnly Property MachineID 
As String
  
    Public ReadOnly Property Confirmed 
As String
    
    Public ReadOnly Property Identifier 
As String
     
أخيرا
طبعا لو انت من قام ببناء الملف فإن الأمور ستكون أسهل قليلا
خاصة ان معظم التكست التي سيتم استردادها من الملف هي تكست تم تشفيرها غاليا
(25-07-17, 12:15 PM)silverlight كتب : [ -> ]الأخ أبو روضه

أولا : لا حياء في العلم ....


لو ألقيت نظرة سريعة علي التكست ستلاحظ انه تكست تفصيل و مبني بطريقة بسيطة و اعتقد نه تم بناؤه باستخدام StringBuilder
و غالبا هذا التكست أساسه عبارة عن كلاس له مدخلات جميعها String

و هو مقسم علي التوالي الي مجموعة تكست هي
session_key
UId
secret
access_token
machine_id
confirmed
identifier

و تم الفصل بينهم جميعا باستخدام Char هو ","

ثم بعد ذلك تم الفصل بين كل تكست منهم باستخدام Char هو ":"

اي انك التكست مقسم الي مصفوفة تكست عبارة عن سبعة اجزاء
و كل تكست في المصفوفة عبارة عن مصفوفة اخري صغيرة من جزئين

يمكنك استخدام الدالة التالية للحصول علي كل String تريده

الدالة تقوم بفصل التكست الي مصفوفات

PHP كود :
   Private Function GetString(As Stringindex As Integer) As String
        Dim bool 
As Integer 0
        Dim result 
As String ""
 
       Dim item As String ""
 
       If Not String.IsNullOrEmpty(valueThen
            s
.TrimStart("{")
 
           s.TrimEnd("}")
 
           Dim values value.Split(",")
 
           item += values(index)
 
           Dim itemStrings As String() = item.Split(":"c)
 
           result += itemStrings(1)
 
           bool bool 1
        End 
If

 
       If bool 0 AndAlso Not String.IsNullOrEmpty(resultThen
            Return result
        End 
If
 
       Return Nothing
    End 
Function 

للحصول علي access_token مثلا وهي ترتيبها لثالث تقريبا
استخدم الدالة بالشكل التالي

PHP كود :
       Dim wc As New WebClient
        Dim s 
As String wc.DownloadString("https://pastebin.com/raw/fK79BjW7")
Dim token As String GetString(s3


فعليا الافضل لك بناء كلاس يقرأ التكست و يفصله الي مجموعة Property هي علي التوالي كالأتي

PHP كود :
   Public ReadOnly Property SessionKey As String
     
    Public ReadOnly Property ID 
As String
   
    Public ReadOnly Property Secret 
As String
      
    Public ReadOnly Property AccessToken 
As String
 
    Public ReadOnly Property MachineID 
As String
  
    Public ReadOnly Property Confirmed 
As String
    
    Public ReadOnly Property Identifier 
As String
     
أخيرا
طبعا لو انت من قام ببناء الملف فإن الأمور ستكون أسهل قليلا
خاصة ان معظم التكست التي سيتم استردادها من الملف هي تكست تم تشفيرها غاليا

الله يسعد قلبك اخى العزيز ويبارك بعمرك ويجزيك كل الخيرات على هذا التوضيح المبسط
الصفحات : 1 2