سلام
میخوام ارتباط با اینترنت رو در برنامه چک کنم . البته فانکشن ارتباط با اینترنت رو میدونم . ولی منظورم این است که هر وقت اینترنت قطع و یا وصل بشه پیغام مناسب بدون دخالت کاربر ظاهر بشه .ایا باید از لوپ استفاده کنم یا راه دیگری هم هست ؟
سلام
میخوام ارتباط با اینترنت رو در برنامه چک کنم . البته فانکشن ارتباط با اینترنت رو میدونم . ولی منظورم این است که هر وقت اینترنت قطع و یا وصل بشه پیغام مناسب بدون دخالت کاربر ظاهر بشه .ایا باید از لوپ استفاده کنم یا راه دیگری هم هست ؟
توابعی که برای این کار موجوده،حتی هوک کردن برودکستها، نتیجه صدرصدی و بدون عیبی حاصل نمیکنه.
تنها راهکاری که بنده بهش رسیدم، پینگ کردن سرورهای 4.2.2.4 و 8.8.8.8 در فواصل زمانی کوتاه.
منظور من اینه که از چه رویدادی استفاده کنم تا تغییر وضعیت ارتباط با اینترنت اتوماتیک روی صفحه نشان داد
اگه هنگام ایجاد فرم (Form create) یک لوپ بنویسم و ارتباط رو چک کنم ، مشکلی پیش نمیاد ؟
به نظر من هم ترد بهترین روش است
بهترین روش ساخت یک کامپوننت برای این کاره.
این کامپوننت می تونه رویداد هایی مثل قطع، وصل، و چیزای دیگه هم داشته باشه.
نوشتنش خیلی مشکل نیست. فقط یکم مهارت می خواد و وقت.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
دارم براش یک کامپوننت کوچیک می نویسم، تموم بشه می گذارم همینجا.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
کار اولیه این کامپوننت به پایان رسید.
البته خیلی سریع نوشتم، ممکنه چیزایی رو از قلم انداخته باشم.
تست روی دلفی 7
دوستان رو نسخ خودتون تست کنید، ایرادات رو بگید تا رفع کنم.
در پایان کار این می تونه آموزش خوبی برای نوشتن کامپوننت / ترد باشه.
پراپرتی ها
------------
Enabled = خاموش روشن کردن کامپوننت
Mode = برای تست اتصال می تونید یک آی پی رو با حالت پینگ تست کنید یا این که یک سایت رو لود کنید.
این خاصیت دست شما رو برای انتخاب بین این دو حالت باز می گذاره.
Period = دوره های زمانی چک کردن اتصال
Target = جایی که می خواهید باهاش نت رو چک کنید، اگر مود روی پینگ باشه آی پی ست کنید، مثلا 4.2.2.4 و اگر مود روی باز کزدن URL هست، مثلا بگذارید Http://www.NikanMehr.com
رویداد ها
----------
OnConnect = هر زمان از حالت دی سی به حالت اتصال رفتیم، این رویداد یک بار کال می شه
OnDisconnect = هر زمان از حالت اتصال قطع شدیم، این رویداد یک بار کال می شه
OnPeriod = در بازه های زمانی مشخص شده کال می شه، و زمان تخمینی پاسخ تارگت رو در متغیر Time به شما می ده، اگر این زمان 1- باشه یعنی نتونسته کانکت بشه.
امیدوارم لذت ببرید.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
ممنون از داش یوسف عزیز. بابت زحمتی که کشیدند.
من با اجازتون برای نسخه دلفی XE تغییراتی دادم و به همراه یک سمپل ضمیمه کردم.
در ضمن، پیرو زحمت دوست عزیزم: این کامپوننت به خاطر شرایطی که ممکنه کاربر داشته باشه، در دو حالت ping و OpenUrl کار میکنه.
مد نظر داشته باشید، اگه در شبکه ای هستید که شرایط عادی هست، حتما از متد پینگ استفاده کنید، به خاطر سرعت و دقت بیشتری که داره ، ولی اگر در شبکه ای که مثلا اینترنت از طریق پروکسی داره تامین میشه و یا... هستید از متد OpenUrl استفاده کنید. علت این امر اینه که در متد OpenUrl هم زمان بشتری مصرف میشه و هم اینکه در شرایطی ممکنه اون Url کش شده باشه و زمان بیشتری برده بشه تا به نتیجه حقیقی رسید.
با تشکر از مهندس زالی عزیز.
دوست عزیز شما میتوانید به جای استفاده از کامپوننت دستور چک کردن اتصال به اینترنت را در یک تایمر بگذارید با این روش متلا هر 10 ثانیه یک بار میتوانید اتصال را چک کنید .
دوست گرامی، واقعا متوجه پست ها شدید و این نظر رو دادید؟
اون دستور چک کردن به نظرتون زمان بر نیست؟
به نظرتون استفاده ازش در ترد اصلی برنامه رو فریز نمی کنه؟
لطفا کامل بحث رو بخونید بعد نظر بدید.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
دوست عزیز حرف شما درست است ممکنه کمی وقت برنامه را بگیره ولی من برای مثال گفتم هر 10 ثانیه یک بار ولی اگه توی برنامه وقتی فرم نمایش داده میشه اتصال به اینترنت چک بشه و در خود برنامه هم هر 2 دقیقه یک بار چک بشه خیلی هم خوب کار میکنه.
از کامپوننت هم میشه استفاده کرد و سریع تر هم هست ولی این راه بدون استفاده از کامپوننت خاصی باز هم کار میکنه.