ویژوال بیسیک و ارتباط با اینترنت

Mostafa Khalili

New Member
دوستان یه چند وقتی هست که یه سری سوال در رابطه با ارتباط وی بی با اینترنت برام پیش اومده که هرچی توی انجمن سرچ کردم به جای نرسیدم تصمیم گرفتم این تاپیک رو بزنم و اسمش رو هم کلی انتخاب کردم که بشه هر نوع سوال توش پرسید.خب اولین سوال من اینه که:
چطوری میشه یه نوشته رو از یک صفحه وب فراخوانی کرد و اون رو ریخت توی تکست باکس درون برنامه.
مثلا ما نوشته : "نام و نام خانوادگی : آرمان" که در یک صفحه وب ذخیره شده رو بریزیم داخل دوتا تکست باکس توی تکس باکس اولی عنوان نام قرار بگیره و در تکست دومی عنوان نام خانوادگی.
سوال دومم هم اینه که چطوری میشه از روی یک لینک اسم اون رو در آورد مثلا: این آدرس http://forum.majidonline.com/forumdisplay.php?f=43
که اسم اون هستش: "برنامه نویسی و الگوریتم آن".
 

the_king

مدیرکل انجمن
دوستان یه چند وقتی هست که یه سری سوال در رابطه با ارتباط وی بی با اینترنت برام پیش اومده که هرچی توی انجمن سرچ کردم به جای نرسیدم تصمیم گرفتم این تاپیک رو بزنم و اسمش رو هم کلی انتخاب کردم که بشه هر نوع سوال توش پرسید.خب اولین سوال من اینه که:
چطوری میشه یه نوشته رو از یک صفحه وب فراخوانی کرد و اون رو ریخت توی تکست باکس درون برنامه.
مثلا ما نوشته : "نام و نام خانوادگی : آرمان" که در یک صفحه وب ذخیره شده رو بریزیم داخل دوتا تکست باکس توی تکس باکس اولی عنوان نام قرار بگیره و در تکست دومی عنوان نام خانوادگی.
سوال دومم هم اینه که چطوری میشه از روی یک لینک اسم اون رو در آورد مثلا: این آدرس http://forum.majidonline.com/forumdisplay.php?f=43
که اسم اون هستش: "برنامه نویسی و الگوریتم آن".

در عمل زیاد فرقی بین سوال اول و دوم تان نیست، محتویات صفحه یک آدرس اینترنتی رو بصورت یک رشته
دریافت خواهید کرد. از این به بعد کاری به اینترنت نداریم و فقط عملیات رو محتویات یک رشته انجام می شود.
در رشته دنبال یک عبارت یا عبارت های خاصی می گردید. برای جستجو موقعیت یک عبارت از تابع InStr استفاده
کنید. در سوال اول تان دنبال رشته "نام و نام خانوادگی" و در سوال دوم تان دنبال تگ "<TITLE>" و
"<TITLE/>"خواهید گشت چون عنوان صفحات HTML متنی است که در میان تگ Title نوشته می شود.
بعد که موقعیت عبارت در رشته پیدا شد، متن مورد نظر را در ادامه آن موقعیت جدا خواهید کرد. برای جدا کردن
یک بخشی از یک رشته از تابع Mid استفاده کنید.

برای داونلود کردن محتویات یک صفحه (یا یک فایل) هم می توانید از کنترل ActiveX ای با نام Microsoft Internet Transfer Control
کمک بگیرید.

رجوع کنید به :
در vb6 چطوری بفهمم یوز آنلاین هست یا خیر ؟

آپدیت کردن برنامه از طریق اینترنت(vb6)
 

Mostafa Khalili

New Member
ممنون توی اون تاپیک آپدیت برنامه یه چیزایی دستگیرم شد ولی نه بطور کامل چون اونجا فقط همون رشته ای که توی اون آدرس پرشین گیگ بود رو میخوند و میریخت توی لیبل ولی شما فرض کنید ما یه پیج داریم که محتواش اینجوریه:
نام نام خانوادگی: آرمان محمدی
نام پدر: علی
صادره : تهران
حالا ما میخواهیم این سه رشته رو توی سه تا تکست باکس بریزیم مثلا تکست باکس اولی به عنوان نام و نام خانوادگی باشه.تکست باکس دومی نام پدر و سومی هم محل صدور.
یا مثلا همین اطلاعات پروفایل خودتون قسمت درباره من رو بخواییم بریزیم توی برنامه و دسته بندیش کرد باید چیکار کرد؟؟؟http://forum.majidonline.com/member.php?u=149826
همینجا سخت میشه واسه من چون نمیفهمم چطوری باید توی اون صفحه رشته ها رو از هم تشخیص داد که مثلا بگیم نام پدر میشه علی نه آرمان.چون کار با تابع instr رو بلد نیستم.
ممنون میشم توضیح بدید یا سورسی چیزی برام بذارید.
 
آخرین ویرایش:

the_king

مدیرکل انجمن
هیچ چاره ای ندارید جز اینکه کار با رشته ها رو یاد بگیرید. در ضمن چون صفحات اینترنتی فارسی UTF-8 و Unicode
هستند نمایش دادن رشته های فارسی هم کد اضافی لازم داره. ویژوال بیسیک 6 و زبان های برنامه نویسی
هم-نسل اش برای نمایش رشته های ANSI طراحی شده بودند و بجای کاراکتر های فارسی یکسری کاراکتر های
غیر معمول نمایش خواهند داد.

یک نگاهی به پروژه پیوستی بندازید. دقت کنید که وقتی دکمه Get غیر فعاله یعنی در حال دریافت اطلاعات
صفحه از سایت است و باید منتظر بمانید.
 

پیوست ها

  • Get Page.zip
    8.2 کیلوبایت · بازدیدها: 48

Mostafa Khalili

New Member
ممنون علی جان ولی میشه یه مختصر توضیحی دربارش بدی همون طوری که گفتم من توی کار با رشته ها تقریبا هیچ سر رشته ای ندارم و بالاخره باید از یه جایی شروع کرد اون مثالی هم که گفتم مثلا همون نوشتن مشخصات پروفایل شما واسه این بود که بیشتر آشنا بشم با نحوه کار.
الان با مثالی که زدید دقیقا فهمیدم چطوری باید تایتل پیچ رو گرفت ولی مثلا الان نمیدونم چطوری از توی اون صفحه دلخواه متن مورد نظر رو پیدا کرد.
برای نمونه این کد HTML رو ببنید:
Name: <b><span style="color: #FFFF00">ali</span></b><br />
Family: <b><span style="color: #FFFFFF">ahmadi</span></b><br />
City: <b><span style="color: #FFFF00">Tehran</span></b><br />
چون الان توی این یه تیکه کد از سه تا تگ <B> استفاده شده ، من الان برای تشخیص این سه رشته و جدا کردنشون باید چه سورسی بنویسم؟

 
آخرین ویرایش:

the_king

مدیرکل انجمن
ممنون علی جان ولی میشه یه مختصر توضیحی دربارش بدی همون طوری که گفتم من توی کار با رشته ها تقریبا هیچ سر رشته ای ندارم و بالاخره باید از یه جایی شروع کرد اون مثالی هم که گفتم مثلا همون نوشتن مشخصات پروفایل شما واسه این بود که بیشتر آشنا بشم با نحوه کار.
الان با مثالی که زدید دقیقا فهمیدم چطوری باید تایتل پیچ رو گرفت ولی مثلا الان نمیدونم چطوری از توی اون صفحه دلخواه متن مورد نظر رو پیدا کرد.
برای نمونه این کد HTML رو ببنید:
Name: <b><span style="color: #FFFF00">ali</span></b><br />
Family: <b><span style="color: #FFFFFF">ahmadi</span></b><br />
City: <b><span style="color: #FFFF00">Tehran</span></b><br />
چون الان توی این یه تیکه کد از سه تا تگ <B> استفاده شده ، من الان برای تشخیص این سه رشته و جدا کردنشون باید چه سورسی بنویسم؟


HTML:
Name: <b><span style="color: #FFFF00">ali</span></b><br />
Family: <b><span style="color: #FFFFFF">ahmadi</span></b><br />
City: <b><span style="color: #FFFF00">Tehran</span></b><br
اگه شما با تابع Split این رشته رو بر اساس عبارت "<br />" تقسیم کنید، یک آرایه خواهد ساخت که
هر کدام از این سه سطر در یک اندیس جداگانه قرار خواهند گرفت.
همچنین اگر شما تابع GetString داخل پروژه ای که پیوست کرده بودم دیده باشید با استفاده از آن می توانید به
راحتی مقادیر رو در هر رشته دریافت کنید. پارامتر اول که خود رشته است، پارامتر دوم "<b>" خواهد بود.
پارامتر سوم "<" است چون بعد از آن مقدار قرار دارد. پارامتر چهارم هم "<span/>" است.
با این پارامتر ها بخشی از رشته انتخاب می شود که بعد از "<b>" باشد از بعد از "<" الی "<span/>"
 
آخرین ویرایش:

Mostafa Khalili

New Member
ممنون علی جان
حالا این یعنی اینکه من برای خوندن رشته ها باید این سورس رو بنویسم:
PrintText GetString(Text, "<HEAD>", "<B>","<Span> ",</Span>","</B>"), 20, 1
درسته؟
 

the_king

مدیرکل انجمن
ممنون علی جان
حالا این یعنی اینکه من برای خوندن رشته ها باید این سورس رو بنویسم:
PrintText GetString(Text, "<HEAD>", "<B>","<Span> ",</Span>","</B>"), 20, 1
درسته؟

نه، باید با دقت رشته و مشخصات اش رو بررسی کنید. اولا که PrintText برای نمایش رشته روی فرم بکار میره
(شبیه به یک Label) که مزیت اصلی اش در اینه که نوشته های فارسی رو توی هر سیستم ای بدون مشکل
نشون میده، چون کاراکتر های Unicode رو مستقیما نمایش میده و خروجی اش ANSI نیست. PrintText رو
در مراحل دریافت کردن رشته دخیل نکنید.

در ضمن ببینید برای GetString چند تا پارامتر نوشتید، Text و "<HEAD>" و "<B>" و "<Span>" و "<Span/>" و "<B/>" که
جمعا 6 پارامتر هستند، تابع GetString ای که من نوشتم فقط 4 پارامتر دریافت می کنه.

همچنین توی این نمونه کد HTML ای که شما نوشته بودید "span style>" بود اما "<span>" ای وجود نداشت، پس
دقت کنید که اگه دنبال "<span>" بگردید هیچ موردی پیدا نخواهید کرد و توسط تابع GetString رشته "" برگردانده خواهد شد.
 

Mostafa Khalili

New Member
علی آقا میشه درخواست کنم سورسش رو برام بنویسی من اینجوری گیج دارم میشم چون سر رشته ای از این موضوع ندارم.ولی یه مقاله از اینترنت گرفتم و دارم کار با رشته ها رو یاد میگیرم.چون کارم یه مقداری فوریه واسه همین تا یاد بگیرم یکمی طول میکشه.
 

the_king

مدیرکل انجمن
علی آقا میشه درخواست کنم سورسش رو برام بنویسی من اینجوری گیج دارم میشم چون سر رشته ای از این موضوع ندارم.ولی یه مقاله از اینترنت گرفتم و دارم کار با رشته ها رو یاد میگیرم.چون کارم یه مقداری فوریه واسه همین تا یاد بگیرم یکمی طول میکشه.

کلا هدف و موضوع فعالیت این انجمن آموزشه، وگرنه وجود این انجمن برای این نیست که یکی برنامه مورد نیازش رو
مطرح کنه و یکی دیگه برایش بنویسه.
 

Mostafa Khalili

New Member
بله کامل صحیحه حرف حساب جواب نداره.
حالا من سوالم اینه که باید چیکار کرد که تابع Getstring بتونه 6 تا پارامتر رو بخونه؟؟؟
 

the_king

مدیرکل انجمن
بله کامل صحیحه حرف حساب جواب نداره.
حالا من سوالم اینه که باید چیکار کرد که تابع Getstring بتونه 6 تا پارامتر رو بخونه؟؟؟

تغییر دادنش به تابعی که 6 پارامتر بخونه کاری نداره، اما با این 2 پارامتر اضافی چیکار بکنه؟ باید این دو پارامتر
اضافی یک استفاده ای داشته باشه.
تابعی که من ساختم از شما Text و After و Start و Finish رو دریافت می کنه.
پارامتر Text همون رشته ای است که قراره داخلش موردی رو جستجو کنید.
پارامتر After رشته ای است که جستجو باید بعد از اون شروع بشه،
مثلا اگه After برابر "<HEAD>" باشه، قبل از اینکه به تگ HEAD برسه هیچ جستجویی انجام نمیده و
بخش قبل از اون رو در رشته کلا نادیده می گیره.
پارامتر Start رشته ای است که متنی که می خواهید جستجو کنید دقیقا بعد از اون قرار داره، مثلا اگر Start برابر
"<B>" باشه عبارتی که جستجو میشه دقیقا بعد از شروع تگ B قرار گرفته.
پارامتر Finish هم رشته ای است که متنی که می خواهید جستجو کنید دقیقا قبل از اون قرار داره، مثلا اگر Finish
برابر "<B/>" باشد، عبارتی که جستجو میشه دقیقا قبل از پایان تگ B قرار گرفته.

به عنوان مثال اگر رشته Text اینچنین باشد، عبارت "This is a sample" توسط تابع برگردانده می شود :
HTML:
<INFO><B>my title</B></INFO><HEAD><TITLE>My Sample</TITLE></HEAD><BODY><B>This is a sample</B></BODY>
 

Mostafa Khalili

New Member
ممنون حالا اگر بخوایم محتوای یه تکست رو توی یه صفحه پیدا کنیم باید چیکار کنیم؟
 

the_king

مدیرکل انجمن
ممنون حالا اگر بخوایم محتوای یه تکست رو توی یه صفحه پیدا کنیم باید چیکار کنیم؟

باید در مورد موقعیت اش اطلاعاتی داشته باشین، یعنی یا بدونین که بین چه عباراتی قرار گرفته و یا در خود متن
چه عبارتی وجود داره.
 

RHamidR

New Member
تاپیک های زیرخاکی بالا میکشیم.
The_King جان با برنامه هات خیلی حال کردم مخصوصا اون تابع جستجوت.
من یه مشکل دارم نمیدونم چیکار کنم

من میخوام قسمت یوزرنیم و پسورد صفحه تنظییمات مودم ADSL بطور خودکار رد بشه مثلا در یه کادر تو فرممون واردشون کنیم و بعد وقتی که به بخش تنظیمات مودم دست پیدا کردیم بتونیم کارای دلخواهمون رو بکنیم مثل همین مثلا جستجو یا...

اساتید این سایت خواهشا جوابمو بدن. منتظر جوابتون هستم.
 

RHamidR

New Member
 

تاپیک های زیرخاکی بالا میکشیم.
The_king جان با برنامه هات خیلی حال کردم مخصوصا اون تابع جستجوت.
من یه مشکل دارم نمیدونم چیکار کنم

من میخوام قسمت یوزرنیم و پسورد صفحه تنظییمات مودم adsl بطور خودکار رد بشه مثلا در یه کادر تو فرممون واردشون کنیم و بعد وقتی که به بخش تنظیمات مودم دست پیدا کردیم بتونیم کارای دلخواهمون رو بکنیم مثل همین مثلا جستجو یا...

اساتید این سایت خواهشا جوابمو بدن. منتظر جوابتون هستم.

یه اهنی ، اوهونی صدایی چیزی دربیارین بفهمیم که اینو خوندین.
هر کسی میتونه دریغ نکنه. هرچه سریعتر هم بهتر
 

جدیدترین ارسال ها

بالا