# Native Code > برنامه نویسی در 6 VB > برنامه نویسی مرتبط با شبکه و وب در VB6 > سوال: استخراج متن از webbrowser

## shahabbasic

راهی هست که بشه سورس یک سایت رو در یک textbox بدست بیارم؟

----------


## IamOverlord

با استفاده از این Module می تونی اون کارو بکنی :

Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Private Const IF_FROM_CACHE = &H1000000
Private Const IF_MAKE_PERSISTENT = &H2000000
Private Const IF_NO_CACHE_WRITE = &H4000000
Private Const BUFFER_LEN = 256

Public Function GetUrlSource(sURL As String) As String
    Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String
    Dim hInternet As Long, hSession As Long, lReturn As Long
    hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
    If hSession Then hInternet = InternetOpenUrl(hSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
    If hInternet Then
        iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
        sData = sBuffer
        Do While lReturn <> 0
            iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
            sData = sData + Mid(sBuffer, 1, lReturn)
            DoEvents
        Loop
    End If
    iResult = InternetCloseHandle(hInternet)
    GetUrlSource = sData
End Function

----------


## oYaMaa

از طریق web browser:
Text1.text = WebBrowser1.Document.documentElement.OuterHTMl

از طریق Inet:
Text1.text = Inet1.OpenURL("Address")

----------


## shahabbasic

مثلا من اگر بخوام کلمه ایران رو از توی یک صفحه html استخراج کنم و بذارمش توی یک متغیر با این روش میشه؟
اول سورس سایت رو بدست بیارم و بعد توی رشته جستجو کنم؟

----------


## oYaMaa

در مورد کلمات انگلیسی تو هر دو روش میشه.
اما اگه کلمات فارسی باشن از روش web browser باز هم مشکلی نیست اما از روش Inet باید از unicode استفاده کرد.
که بهنام عزیز زحمت unicode رو کشیده! کد زیر رو داخل ماژول قرار بدید:
Public Function UTF8_Encode(ByVal sStr As String)
     Dim L As Long, lChar As Long, sUTF8 As String
     For L& = 1 To Len(sStr)
         lChar& = AscW(Mid(sStr, L&, 1))
         If lChar& < 128 Then
             sUTF8$ = sUTF8$ + Mid(sStr, L&, 1)
         ElseIf ((lChar& > 127) And (lChar& < 2048)) Then
             sUTF8$ = sUTF8$ + Chr(((lChar& \ 64) Or 192))
             sUTF8$ = sUTF8$ + Chr(((lChar& And 63) Or 128))
        Else
            sUTF8$ = sUTF8$ + Chr(((lChar& \ 144) Or 234))
             sUTF8$ = sUTF8$ + Chr((((lChar& \ 64) And 63) Or 128))
             sUTF8$ = sUTF8$ + Chr(((lChar& And 63) Or 128))
         End If
     Next L&
     UTF8_Encode = sUTF8$
 End Function

'Farsi nevisi
Public Function UTF8_Decode(ByVal sStr As String)
 Dim L As Long, sUTF8 As String, iChar As Integer, iChar2 As Integer
 sStr = Replace(sStr, "U^Œ", UTF8_Encode("i'"))
 sStr = Replace(sStr, "U`‰", UTF8_Encode("i'"))
 For L = 1 To Len(sStr)
 iChar = Asc(Mid(sStr, L, 1))
 If iChar > 127 Then
 If Not iChar And 32 Then
 iChar2 = Asc(Mid(sStr, L + 1, 1))
 sUTF8 = sUTF8 & ChrW$(((31 And iChar) * 64 + (63 And iChar2)))
 L = L + 1
Else
Dim iChar3 As Integer
 iChar2 = Asc(Mid(sStr, L + 1, 1))
 iChar3 = Asc(Mid(sStr, L + 2, 1))
 'sUTF8 = sUTF8 & ChrW$(((iChar And 15) * 16 * 256) + ((iChar2 And 63) * 64) + (iChar3 And 63))
 L = L + 2
 End If
Else
sUTF8 = sUTF8 & Chr$(iChar)
 End If
 Next L
 UTF8_Decode = sUTF8
 End Function

Public Function EncodeString(StrText As String) As String
 On Error Resume Next
 Dim I As Integer, bEnc As String
 For I = 1 To Len(StrText)
 bEnc = bEnc & "%" & Hex(Asc(Mid(StrText, I, 1)))
 Next
 EncodeString = bEnc
 End Function

----------


## shahabbasic

خب حالا سئوال من اینه که اگر روی سیستمی IE نصب نباشه چی؟

----------


## IamOverlord

به خاطر همین کد پست 2 رو دادم.

----------


## oYaMaa

> خب حالا سئوال من اینه که اگر روی سیستمی IE نصب نباشه چی؟


حقیقت من اطلاعات کافی ندارم اما تا اونجایی که میدونم IE جزء نرم افزار های خود شرکت ماکروسافته و تو همه ویندوز ها هست.از طرفی شاید اگه کنترلش همراه برنامه باشه دیگه نیازی به خود نرم افزار اصلی IE نباشه.(تست نکردم!)
اما بازم اگه شرایط طوریه که شما میگید کنترل Inet هم هست، همچنین سورس صفحه رو از طریق API هم میشه بدست آورد.
باز اساتید بهتر پاسخ میدن ان شاالله... :لبخند:

----------


## shahabbasic

خب همون ماژول رو به پروژه اضافه کنم و بعد بنویسم

p=inet1.Openurl("http://google.com")  

جواب میده فارسی رو؟ 
من تست کردم جواب نداد

----------


## oYaMaa

> خب همون ماژول رو به پروژه اضافه کنم و بعد بنویسم
> 
> p=inet1.Openurl("http://google.com")  
> 
> جواب میده فارسی رو؟ 
> من تست کردم جواب نداد


 بعد از اینکه ماژول رو به پروژه اضافه کردید، باید اینطوری از unicode استفاده کنید:
Text1.Text = UTF8_Decode(Inet1.OpenURL("Address"))

----------


## shahabbasic

خیلی ممنون درست شد
پس من اگر از inet استفاده کنم و بعد IE رو از روی سیستمم پاک کنم بازم جواب میده دیگه؟

----------


## IamOverlord

بـــلـــه.

----------


## shahabbasic

من با این دستور
dim p as string
p = UTF8_Decode(Inet1.OpenURL("http://www.***.com"))
clipboard.clear
Clipboard.SetText p
سورس سایت رو کپی کردم و در نوت پد paste کردم ولی بازم حروف فارسی ناخواناست

----------


## oYaMaa

باید زبان هر دو مکانی یعنی برنامه شما و نوت پد یکی باشه (فارسی)
برای اینکار کد زیر رو داخل ماژول قرار بدید:
Option Explicit
Public Const VK_CONTROL As Long = &H11
Public Const VK_TAB = 9
Public Const KEYEVENTF_EXTENDEDKEY = &H1
Public Const KEYEVENTF_KEYUP = &H2
Public Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long


به این ترتیب کد شما به این شکل میشه:
ActivateKeyboardLayout &H429, KLF_REORDER
Dim P As String
P = UTF8_Decode(Inet1.OpenURL("http://www.***.com"))
Clipboard.Clear
Clipboard.SetText ""
Clipboard.SetText P
ActivateKeyboardLayout &H409, KLF_REORDER

----------


## shahabbasic

مرسی
تقریبا همه مشکلات حل شد فقط حرف "ی" رو بازم مشکل داره
به این صورت که وقتی دنبال حرف "ی" میگردم با تابع instr در سورس سایت این تابع مقدار 0 رو برگشت میده یعنی هیچی پیدا نکرده پس معلومه حرف "ی" مشکل داره
من قبلا هم مثلا اگر یک جمله رو از توی سایتی به caption لیبل paste میکردم میدیدم قسمت هایی که حرف "ی" داره به شکل ؟ افتاده

----------


## oYaMaa

> مرسی
> تقریبا همه مشکلات حل شد فقط حرف "ی" رو بازم مشکل داره
> به این صورت که وقتی دنبال حرف "ی" میگردم با تابع instr در سورس سایت این تابع مقدار 0 رو برگشت میده یعنی هیچی پیدا نکرده پس معلومه حرف "ی" مشکل داره
> من قبلا هم مثلا اگر یک جمله رو از توی سایتی به caption لیبل paste میکردم میدیدم قسمت هایی که حرف "ی" داره به شکل ؟ افتاده


واسه من که همچین مشکلی پیش نیومده.اما فکر میکنم دیگه این به تکست باکس بستگی داره! منظورم فونتشه که Tahoma مناسبه و باید قسمت Script رو روی Arabic تنظیم کنید.

----------


## shahabbasic

کنترل inet همراه با خود ویندوز هست یا با نصب وی بی کپی میشه؟

----------


## IamOverlord

بهتره از DLL اش استفاده کنی، چون فکر کنم شبیه Winsock کنترل DLL اش باشه OCX اش نباشه.

----------


## shahabbasic

> بهتره از DLL اش استفاده کنی، چون فکر کنم شبیه Winsock کنترل DLL اش باشه OCX اش نباشه.


اتفاقا ocx اش هست رفتم فایلشو پیدا کردم در پوشه sysWOW64 به اسم MSINET.ocx

----------


## IamOverlord

نمی گم نیست، می گم شاید برای همه نباشه ...

----------


## shahabbasic

این کد هم سورس سایت رو بدست میده
Dim objHttp As Object, strURL As String, strText As String

Set objHttp = CreateObject("MSXML2.ServerXMLHTTP")

strURL = "http://www.google.com/"

objHttp.Open "GET", strURL, False
objHttp.setRequestHeader "User-Agent", _
  "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHttp.Send ("")

strText = objHttp.responseText

Set objHttp = Nothing
Clipboard.Clear
Clipboard.SetText strText
میخوام بدونم آیا به IE وابسته هست یا نه؟
موقعی که داره سورس رو میگیره برنامه قفل میکنه تا پایان کارش میشه کاری کرد که قفل نکنه؟

----------


## arash020

دوست عزیز درمورد backgroandworker
که یکی از کنترل های بسیار عالی .net هست و کار باهاش هم خیلی آسونه تحقیق کن
باید  کدی رو که برنامه ت تا پایانش قفل میکنه (معمولا همه قسمت های عملیاتی و اصلی همه برنامه)
رو داخل رویداد do work این کنترل بنویسی .
من باهاش کار کردم ولی متاسفانه اینقدر وقت ندارم نمونه بزارم براشما

بقیش با خودتون
موفق باشین
سوالی داشتین بپرسین.

----------


## shahabbasic

نه مشکل من سر اینه که نمیخوام کنترل دیگه ای رو به برنامم اضافه کنم اگر بخوام این کارو بکنم خب Inet هست با همون سورس رو بدست میارم و هیچ قفلی هم در کار نیست

----------


## IamOverlord

اجرای برنامه هاتون بدون نیاز به MSVBVM60.DLL یا چیزای دیگه ... !

ببینید در نهایت شما باید از یه DLL ای چیزی استفاده کنید، ولی می تونید کاری کنید که برنامتون از چیزی که در همه ی Windows ها هست استفاده کنه...

----------


## shahabbasic

خب من این برنامه ای که شما گفتید رو گرفتم فایل Exe برناممو بهش بدم کافیه یا فایل پروژه رو باید بهش بدم؟
من الان فایل exe رو دادم چون فایل پروژه رو قبول نمیکنه بعد رفتم به تب دوم میگه فقط به msvbm60.dll نیاز داره 
من تو برنامم کنترل inet رو استفاده کردم عکسشو ببین
1.jpg
خب بعد start کنم اون فایل exe ای که میسازه یعنی دیگه به inet احتیاج نداره؟

----------


## IamOverlord

بله. ولی به این نکته توجه داشته باشید که برنامه هایی که با زبان های C، Assembly، Delphi و ... برای Windows نوشته می شن رو اگه نیگا کنید، همشون به توابع API (موجود در Kernel32.DLL، User32.DLL و ...) نیاز دارن، اونو که نمی شه کاریش کرد و اصلا طبیعیه. می مونه کامپوننت های خاص که ممکنه روی همه ی کامپیوتر های نباشه، که این برنامه، فایل Exe ی شما رو جوری تغییر می ده که برای اجرا نیاز به هیچ کامپوننت خاصی نداشته باشه و اون کامپوننت ها رو به برنامتون الحاق می کنه. ضمنا نکته ی جالب این جاست که من با PE Explorer نتونستم فایل exe ی خروجی رو Disassemble کنم.

----------


## shahabbasic

ولی من الان در برنامم از inet استفاده کردم میگه به msvbm60.dll نیاز داره ! و در پروگرسش msvbm60.dll همین رو به فایل اجرائی الحاق میکنه !
پس اگر دیگه فایل کامپوننت inet کنارش نباشه یا رجیستر نشده باشه بازم برنامه باید اجرا بشه درسته؟
من چون با خودم میگم حتما شما با fusion کار کردید سئوال میکنم
بعد چیز دیگه ای که اتفاق افتاده اینه که دفعه اول فایل exe ساخته شده با fusion بدون هیچ مشکلی اجرا شد ولی دفعه های بعدی آنتی ویروس جلوشو گرفت

----------


## IamOverlord

> ولی من الان در برنامم از inet استفاده کردم میگه به msvbm60.dll نیاز داره ! و در پروگرسش msvbm60.dll همین رو به فایل اجرائی الحاق میکنه !


می تونید دستی بهش بگید inet رو هم اضافه کنه.

----------


## IamOverlord

> ولی دفعه های بعدی آنتی ویروس جلوشو گرفت


بعد از این که با Fusion فایلتون رو تبدیل کردید آنتی ویروس ها نمی تونن بفهمن فایلتون چیه و چی کار می کنه (گفتم که با PE Explorer نتونستم Disassemble بکنم). احتمالا به خاطر این جلوشو می گیرن ...  :متفکر:

----------


## shahabbasic

بفرمایید
http://s1.picofile.com/file/72698982...t_Use.zip.html

----------


## shahabbasic

> بعد از این که با Fusion فایلتون رو تبدیل کردید آنتی ویروس ها نمی تونن بفهمن فایلتون چیه و چی کار می کنه (گفتم که با PE Explorer نتونستم Disassemble بکنم). احتمالا به خاطر این جلوشو می گیرن ...


یعنی کار پکر رو هم انجام میده؟

----------


## IamOverlord

بله. اگه دقت کنید مراحل آخر بهتون تفاوت حجم رو هم نشون می ده.

----------


## shahabbasic

با این تفاسیر معلوم میشه برنامه خوبیه اما مشکل آنتی ویروس بد مشکلیه چون روی اکثر سیستم ها آنتی ویروس نصبه !

----------


## IamOverlord

بله البته این نسخه ای که گذاشتم (نسخه ی 1!) واسه بیش از 10 سال پیشه!!! نسخه ی 3 اش هم اومده که قطعا بهتر باید باشه. اگه دوستان نسخه ی جدید رو پیدا کردن، آپلود کنن ما هم استفاده کنیم.
من الان آنتی ویروس رو سیستمم نصب نیست، امتحان کنید ببینید اگه فایل Pack شده رو دوباره بدید به UPX که Pack کنه، آنتی ویروس باز هم گیر می ده یا نه ...  :متفکر:

----------


## shahabbasic

UPX تحت داس اجرا میشه من فعلا سیستمم مشکل داس پیدا کرده پکر دیگه ای باشه مشکلیه؟

----------


## IamOverlord

> UPX تحت داس اجرا میشه من فعلا سیستمم مشکل داس پیدا کرده پکر دیگه ای باشه مشکلیه؟


نه ولی من فایل exe رو می کشم می اندازم تو UPX.

----------


## IamOverlord

:اشتباه:  آه... یه مشکلی هست! این که اگه کامپوننت روی سیستم موجود نباشه، و فایل exe ات بخواد اجرا بشه باید دسترسی Admin داشته باشه (البته بیش تر از 10 سال پیش این اذیت های دسترسی Admin نبود!)

----------


## IamOverlord

در مورد گرفتن دسترسی Admin هم این جا رو ببینید.

----------


## shahabbasic

> آه... یه مشکلی هست! این که اگه کامپوننت روی سیستم موجود نباشه، و فایل exe ات بخواد اجرا بشه باید دسترسی Admin داشته باشه (البته بیش تر از 10 سال پیش این اذیت های دسترسی Admin نبود!)


پس منتفیه  :ناراحت:

----------


## shahabbasic

> در مورد گرفتن دسترسی Admin هم این جا رو ببینید.


از اینجا که چیزی سر در نیاوردم

----------


## IamOverlord

اگه نمی خواید ویروس بنویسید، پست 38 به کارتون می یاد. این مشکل Admin حتی برای Register کردن کامپوننت ها با regsvr32.dll هم بود... :افسرده:

----------


## IamOverlord

> از اینجا که چیزی سر در نیاوردم


توی پست های قبلی سورس کد هایی بودن که از فایل manifest یا resource استفاده می کردن. حالا شما مثلا باید به جای محتویات قبلی فایل manifest محتویات جدیدی که داده رو بذارید.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
            </requestedPrivileges>
        </security>
    </trustInfo>
</assembly>

----------


## shahabbasic

> اگه نمی خواید ویروس بنویسید، پست 38 به کارتون می یاد. این مشکل Admin حتی برای Register کردن کامپوننت ها با regsvr32.dll هم بود...


آره من الان دقیقا تو همین گیرم به هر دری میزنم بستست
چون میخوام برنامم پرتابل باشه و یک دونه فایل داشته باشه البته بلدم با winrar تبدیلش کنم به 1 فایل ولی کامپوننت هاش رجیستر نمیشه با Regsvr32 و برنامه اجرا نمیشه چون دسترسی ادمین لازمه
بعد خواستم کلا کامپوننتشو حذف کنم گفتم از کد استفاده کنم که با اون کد هم برنامه قفل میکنه
این fusion هم که دسترسی ادمین میخواد
والا موندم چکار کنم تا پرتابل بشه

----------


## shahabbasic

> توی پست های قبلی سورس کد هایی بودن که از فایل manifest یا resource استفاده می کردن. حالا شما مثلا باید به جای محتویات قبلی فایل manifest محتویات جدیدی که داده رو بذارید.
> 
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
>     <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
>     <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
>         <security>
>             <requestedPrivileges>
>                 <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
>             </requestedPrivileges>
> ...


یعنی من توی فایل manifest این کد رو بذارم و بعد بذارم کنار فایل اصلی برنامم دیگه اجازه ادمین نمیخواد؟  :گیج:

----------


## IamOverlord

اجازه ی Admin می خواد! (چه قدر رویایی می شد اگه ...) ولی از کاربر درخواست می کنه که بهش اجازه ی Admin بده. چون ممکنه برنامه ی شما اجرا بشه اما کامپوننت ها رو Register نکنه چون اجازه ی Admin نداره. اما با اون روش برنامتون از کاربر اجازه Admin رو می خواد تحت هر شرایطی ...

----------


## shahabbasic

> اجازه ی Admin می خواد! (چه قدر رویایی می شد اگه ...) ولی از کاربر درخواست می کنه که بهش اجازه ی Admin بده. چون ممکنه برنامه ی شما اجرا بشه اما کامپوننت ها رو Register نکنه چون اجازه ی Admin نداره. اما با اون روش برنامتون از کاربر اجازه Admin رو می خواد تحت هر شرایطی ...


 اگه بنده خدا Limit پسورد ادمین نداشته باشه چی؟
ستاپ ساز چجوری بدون اجازه مدیر کامپوننت هارو رجیستر میکنه؟

----------


## abolfazl-z

واقعا عالی بود ولی یه چیز جالب بگم که آقا من داشتم برنامه می نوشتم و اصلا با اینت هم کار نکرده بودم ولی اینت را با Icstring مقداردهی کردم جواب داد یعنی فارسی هم میشد اینت کنی ولی دوباره انجام دادم نشد.ولی اون پروزه را هر وقت باز کنم میشه؟؟؟؟؟؟
 :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب:  :متعجب: 
کی میتونه جواب بده به خدا سرکاری نیستاااااااا :لبخند:

----------


## DoctorJay

عرض سلام و ادب به دوستان .

من با یه مشکلی برخوردم, میخواستم ببینم پیشنهاد دوستان برای رفع این مشکل چی هست .

برای گرفتن Source سایت, از این کد استفاده کردم - از طریق Webbrowser

Text1.text = WebBrowser1.Document.documentElement.OuterHTMl

ولی نتیجه به این شکل هست و کاملا به هم ریخته هست نتیجه :

<HTML><HEAD><TITLE>TuningTalk.com - Upload Center</TITLE></HEAD>
<BODY>? 
<META name=description content="TuningTalk.com - Upload Center">
<META name=keywords content="TuningTalk.com - Upload Center">
<STYLE type=text/css>
        <!--
        body {
           font-family: Tahoma, verdana; font-size: 12px;
        }
        p.header {
           font-size: 18px;
        }
           a:link, a:visited {
           color: #009999; text-decoration:none;
        }
        a:active {
            color: #FF6600; text-decoration:none;
        }
        td {
            font-size:12px;
        }
        td.note {
            font-size:10px;
        }
         -->
        </STYLE>

<P class=header align=center>TuningTalk.com - Upload Center</P>
<TABLE style="BORDER-COLLAPSE: collapse" border=0 width="20%" align=center>
<TBODY>
<TR>
<TD width="100%" align=middle>
<FORM encType=multipart/form-data onsubmit="return preValidate();" method=post name=SFUform action=/index.php><INPUT value=5242880 type=hidden name=MAX_FILE_SIZE> <INPUT type=file name=SFUfile[]><BR><INPUT type=file name=SFUfile[]><BR><INPUT type=file name=SFUfile[]><BR><INPUT type=file name=SFUfile[]><BR><INPUT type=file name=SFUfile[]><BR></TD></TR>
<TR>
<TD width="100%" align=left><SPAN style="FONT-FAMILY: tahoma, verdana; FONT-SIZE: 7pt"><B>Size limit</B>: 5 MB<BR><B>ÓæäÏåÇí ÞÇÈá ÂáæÏ</B>: gif, jpg, png, zip, mp3, pdf.<BR></SPAN></TD></TR>
<TR>
<TD align=middle></SPAN><BR><INPUT value="  Upload  " type=submit name=SFUsubmit></TD></TR></FORM></TBODY></TABLE></BODY></HTML>

در صورتی که حاصل باید به این شکلِ شکیل باشه :

﻿<html dir="ltr">
    <head>
        <title>TuningTalk.com - Upload Center</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="description" content="TuningTalk.com - Upload Center" />
        <meta name="keywords" content="TuningTalk.com - Upload Center" />
        <style type="text/css">
        <!--
        body {
           font-family: Tahoma, verdana; font-size: 12px;
        }
        p.header {
           font-size: 18px;
        }
           a:link, a:visited {
           color: #009999; text-decoration:none;
        }
        a:active {
            color: #FF6600; text-decoration:none;
        }
        td {
            font-size:12px;
        }
        td.note {
            font-size:10px;
        }
         -->
        </style>
    </head>
  <body>
 <p align="center" class="header">TuningTalk.com - Upload Center</p><table width="20%" border="0" align="center" style="border-collapse: collapse;">
   <tr>
      <td width="100%" align="center">
            <form method="post" enctype="multipart/form-data" action="/index.php" name="SFUform" onsubmit="return preValidate();">
            <input type="hidden" name="MAX_FILE_SIZE" value="5242880" />
            <input type="file" name="SFUfile[]" size="20" /><br />
            <input type="file" name="SFUfile[]" size="20" /><br />
            <input type="file" name="SFUfile[]" size="20" /><br />
            <input type="file" name="SFUfile[]" size="20" /><br />
            <input type="file" name="SFUfile[]" size="20" /><br /></td>
   </tr>
   <tr>
      <td width="100%" align="left">
        <span style="font-size: 7pt; font-family: tahoma, verdana;"><b>Size limit</b>: 5 MB<br />
   <b>پسوندهای قابل آپلود</b>: gif, jpg, png, zip, mp3, pdf.<br /></span></td>
   </tr>
   <tr>
      <td align="center">
     </span><br />
        <input type="submit" value="  Upload  " name="SFUsubmit" /></td>
   </tr>
    </form>
</table>
           
    </body>
</html>

نظر دوستان چیه ؟ از چه طریقی میتونم حاصل رو به شکل دوم به دست بیارم ؟؟

آیا شکل دستوری وجود داره که بشه از List استفاده کرد و هر خط رو بشه مجزا به دست آورد ؟ مثل زمانی که از یه فایل متنی خط ها رو میاریم توی List :

Open "C:\test.txt" For Input As #1
    Do While Not (EOF(1))
      Line Input #1, readdata
      List1.AddItem (readdata)
    Loop
  Close #1

سپاس از توجهتون

----------


## DoctorJay

دوستانِ مطلع اگر این استخراج بهتر از این امکان پذیر نیست لطفا اعلام کنن که دنبال راه حل دیگه ای باشم .
بازم ممنون

----------


## ilaghi

با سلام به دوست عزيز! ممكنه در مورد webBrowser اين يك خط توضيح بيشتري بديد، وقتي اجرا مي‌شه، خطا مي دهد

----------

