PDA

View Full Version : فرمی که در هنگام اتصال به اینترنت ...



سارا_ر
جمعه 30 شهریور 1386, 08:47 صبح
آیا می شه فرمی طراحی کرد که در هنگام اتصال به اینترنت کار بخصوصی انجام بده؟

سوالم بطور واضح تر اینه که می شه صفحه ای طراحی کرد که(قابلیت ارسال ایمیل در هنگام اتصال به اینترنت رو داشته باشه) سه تا TEXTBOX برای ایمیل فرستنده، ایمیل گیرنده و موضوع و یک کنترل متنی برای متن پیام داشته باشه که مثلا اگر بخوایم کسی که با برنامه ما کار می کنه در صورتی که سوالی داشته باشه یا خطایی در برنامه بوده و بخواد سریع گزارش بده فقط به اینترنت وصل بشه و از طریق اون صفحه پیام خودش رو بفرسته.
درست مثل صفحه Compose ایمیل ها و فقط در روی یکی از فرمهای برنامه.
ممنون می شم اگر کسی جواب این سوال رو بدونه و کمک کنه

Sub Zero
جمعه 30 شهریور 1386, 11:27 صبح
بله این امکان وجود داره کافیه در برنامتون چک کنید اتصال به اینترنت برقرار هست یا نه ، اگر برقرار بود عمل مورد نظر رو در صورت لزوم انجام بده و این کار رو میتونید از طریق توابع API انجام بدید .
تابع API :

' function 4 check internet connection API
Public Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef _
lpSFlags As Int32, ByVal dwReserved As Int32) As Boolean

Enum InetConnState
modem = &H1
lan = &H2
proxy = &H4
ras = &H10
offline = &H20
configured = &H40
End Enum
اینم تابع چک کردن اتصال :

Function chk_internet() As String
Dim lngFlags As Long
If InternetGetConnectedState(lngFlags, 0) Then
' True
If lngFlags And InetConnState.lan Then
constr = "Connected With LAN"

ElseIf lngFlags And InetConnState.modem Then
constr = "Connected With DialUp"

ElseIf lngFlags And InetConnState.proxy Then
constr = "Useing Proxy Server"

ElseIf lngFlags And InetConnState.ras Then
constr = "Connected With RAS"

ElseIf lngFlags And InetConnState.offline Then
constr = " Is Offline."

End If
Else
' False
constr = "Off Line"

End If
Return (constr)
End Function

سارا_ر
جمعه 30 شهریور 1386, 14:41 عصر
حالا اینها درست من خود برنامه رو هرکاری می کنم نمی شه کد ها درست در نمی آد کدهای این برنامه رو از کجا می تونم بیارم

Sub Zero
جمعه 30 شهریور 1386, 15:31 عصر
حالا اینها درست من خود برنامه رو هرکاری می کنم نمی شه کد ها درست در نمی آد کدهای این برنامه رو از کجا می تونم بیارم
منظور شما کدوم برنامست

rezaiy.ali
جمعه 30 شهریور 1386, 16:29 عصر
دوست گرامی Sub Zero این تابعی که ارائه کردید اجرا نمیشه
توابعی که داخل تابع اصلی قرار دادید، برنامه آنها را نمی شناسد
باید چه چیزی را Imports کردتا توابع را بشناسد؟
ممنونم راهنمایی بفرمایید

سارا_ر
جمعه 30 شهریور 1386, 19:48 عصر
من می خوام از طریق فرمی که ساختم بتونم ایمیلی به آدرسی که در قسمت TO وارد می کنم و دارای Subject و Body هست رو همراه با آدرس فرستنده که در From می آد، بفرستم وقتی از System.web.mail یا system.net.mail استفاده می کنم Error می ده باید اینکار رو تا فردا انجام بدم اما دو روزه هر کاری می کنم یه جاش مشکل داره می دونم ساده است اما یه قفل کوچیک داره که کلیدش دست من نیست اعصابمو خرد کرده.

Sub Zero
جمعه 30 شهریور 1386, 22:31 عصر
من می خوام از طریق فرمی که ساختم بتونم ایمیلی به آدرسی که در قسمت TO وارد می کنم و دارای Subject و Body هست رو همراه با آدرس فرستنده که در From می آد، بفرستم وقتی از System.web.mail یا system.net.mail استفاده می کنم Error می ده

بعد از جستجو در سایت لینکهای زیر به دست اومد امیدوارم با مطالعه تاپیکهای زیر مشکلتون حل بشه :
جامع ترین مقاله در مورد ارسال E_Mail در VB با پروتوکول SMTP (http://barnamenevis.org/forum/showthread.php?t=14787&highlight=%D9%81%D8%B1%D8%B3%D8%AA%D8%A7%D8%AF%D9% 86+%D8%A7%DB%8C%D9%85%DB%8C%D9%84)
ارسال e-mail با VB.NET 2005 (http://barnamenevis.org/forum/showthread.php?t=57032&highlight=%D8%B3%D8%B1%D9%88%DB%8C%D8%B3+smtp)
آیا در ارسال email مشکل دارید؟ (http://barnamenevis.org/forum/showthread.php?t=29612&highlight=%D9%81%D8%B1%D8%B3%D8%AA%D8%A7%D8%AF%D9% 86+%D8%A7%DB%8C%D9%85%DB%8C%D9%84)


دوست گرامی Sub Zero این تابعی که ارائه کردید اجرا نمیشه
توابعی که داخل تابع اصلی قرار دادید، برنامه آنها را نمی شناسد
باید چه چیزی را Imports کردتا توابع را بشناسد؟
ممنونم راهنمایی بفرمایید
من برای این کار از ماژول استفاده کردم . اینم سورسش:

PC2st
جمعه 30 شهریور 1386, 23:02 عصر
کافیه در برنامتون چک کنید اتصال به اینترنت برقرار هست یا نه ، اگر برقرار بود عمل مورد نظر رو در صورت لزوم انجام بده و این کار رو میتونید از طریق توابع API انجام بدید .
از طریق رویدادهای زیر هم میشه:

System.Net.NetworkInformation.NetworkChange.Networ kAddressChanged
System.Net.NetworkInformation.NetworkChange.Networ kAvailabilityChanged