سلام
برای اینکه بعضی دوستان در خواست کردند که در مورد اینترنت
در دلفی بحث کنیم این تاپیک رو ایجاد کردم در تاپیک بعدی
شروع به آموزش می کنم.هر سوالی هم داشتید بپرسید
تا به شما پاسخ داده شود.منتظر پست بعدی باشید.
Printable View
سلام
برای اینکه بعضی دوستان در خواست کردند که در مورد اینترنت
در دلفی بحث کنیم این تاپیک رو ایجاد کردم در تاپیک بعدی
شروع به آموزش می کنم.هر سوالی هم داشتید بپرسید
تا به شما پاسخ داده شود.منتظر پست بعدی باشید.
سلام
از کمپننت TCP باید برای بدست آوردن IP استفاده کرد.اگر 0و0و0و0 بود یعنی اتصالی وجود ندارد.
کد:procedure TForm1.Button1Click(Sender: TObject);
begin
if TCP1.LocalIp = '0,0,0,0' then
Showmessage('Your not Connected!');
end;
ممنونم سولجر جان كه اين بخشو فعال كردي.
درباره كانكت به يه Ip ديگه هم توضيح ميدي؟
سلام
متاسفانه چك كردن اتصال به اينترنت به اين سادگي نيست.
چون فرض كنيد در يك شبكه محلي كامپيوتر شما داراي يك آي پي است و با روش گفته شده شما ما به اينترنت متصل هستيم!
يك راه مكمل اين است كه پس از فهميدن آي پي يك سايت معتبر مثل ياهو يا Msn را پينگ كنيم تا از اتصال به اينترنت اطمينان پيدا كنيم.
سلام
بله يك راه ديگر هم هست.
پيچيده تره اما بهتر جواب ميده .اونو هم بعدآ مي ذارم.
عجله نكنيد
سلام
این هر یه روش دیگه برای تشخیص اتصال به اینترنت .گفتم عجله نکنید :)
این روش مشخص می کنه که اتصال به اینترنت از چه طریق هست، Lan , Modem.
کد:uses
WinINet;
Function ConnectionKind : Boolean;
var
flags : dword;
begin
Result := InternetGetConnectionState(@flags,0);
if Result the begin
if (flags and INTERNET_CONNECTION_MODEM) =
INTERNET_CONNECTION_MODEM
showmessage('Modem');
if (flags and INTERNET_CONNECTION_LAN) =
INTERNET_CONNECTION_LAN
showmessage('LAN');
if (flags and INTERNET_CONNECTION_MODEM_BUSY) =
INTERNET_CONNECTION_MODEM_BUSY
showmessage('Modem Busy');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ConnectionKind;
end;
سلام مرد مباحنقل قول:
نوشته شده توسط مرد مباح
وقتی که یه نوع ارتباط داشته باشی با کامپیوتر یه جایی یه IP داری
خود کلمه IP همون Internet protocol توضیح فارسیش می شه :
استانداردي كه ارتباطات كامپيوترها را در شبكه اي كه تشكيل اينترنت را مي دهند منظم مي كند
خوب وقتی که به اینترنت وصل می شی(Connect) یه آی پی داری
که می تونی توی CMD بنویسی ipconfig که تمام اطلاعات آی پی
کامپیوترت رو ببینی یه قسمت داره بنام IP Address که همون
IP میشه یعنی ما بهش می گیم آی پی خوب این نمونه برنامه که گذاشته بودم
این آی پی رو چک می کرد اگر صفر بود اتصالی وجود نداره و اگر صفر نبود
ارتباطی وجود داره پس این بود که :چگونه می توان فهمید که به اینترنت متصل هستیم یا نه؟
خوب اما این راه کاملآ درست نیست چون اگر LAN داشتی که Local Area Network هست
رو تشخیص می ده و ای پی رو چک می کنه و صفر نیست و می گه که به اینترنت متصل هستیم
این روش کلآ نشون می ده که ارتباطی وجود داره یا نه اما می شه برای تشخیص اتصال به اینترنت
بکارش برد.حالا هم یه روش جدید بهتر هم گذاشتم که می تونید کمی بهش ور برید اونطوری که
دوست دارید تنظیمش کنید.
سلام
اين مطالب بدرد كسي خورد؟
ادامه بدم؟
خيلي عالي بود ادامه بده
سلام
اگر طالب هستيد باشه ادامه ميدم!
فعلآ
ببين اگه ممكنه يك كدي بزار كه وقتي كانكت شديم زمان رو بگيره و مدت زمان اتصال به اينترنتو بگه
سلام
خوب مي توني با يك تايمر چك كني! (با كدي كه نوشتم)
بعد يك متغير تغيير كنه! (اضافه بشه) و بعد اون متغير رو تقسيم بر 60 كن
ميشه دقيقه! (خودم يه برنامه نوشتم ! همينجوري كه مي خواهي)
خيلي ساده هست! در ضمن مي توني متغير رو ادامه بدي
يعني وقتي كه برنامه بسته شد! متغير توي يه فايل ذخيره بشه
وقتي كه اجرا شد برنامه متغير لود بشه و ادامه بده! اينطوي مي تونيد
بفهميد كه در ماه چقدر كنكت بوديد! توضيح بيشتر مي خواستيد بگيد
باي
ببين يك خورده گيج شدم اگه برات ممكنه كد آمادشو بزار :worried:
سلام
باشه! آماده اش مي كنم! ميزارم اينجا!
چون الآن هم سرم شلوغه هم بايد بگردم دنبال كدش!
فعلا باي
رفيق يك لطفي كن و درباره اون برنامه كه ساختي كه يك Ip بهش ميدادي و كانكت ميشد توضيح بده.
در واقع يادمون بده چي كار كنيم.
بحث خیلی جالب و مفیدی هست.
ادامه بدین.
ممنون
راست ميگه من از اون كدي كه گفتي نشون ميده با lan کانکت هستیم یا دایال آپ رو نتونستم استفاده کنم اگه ممکنه بیشتر توضیح بده
سلام
باشه حتمآ! برقا رفته بودن! الآن شد كه بيام! در پست بعدي
به همتون جواب ميدم! منتظر باشيد
باي
سلام gamelife
خوب کار خیلی ساده ای هست!
یک متغیر بزار به نام I و اینطوری وقتی که وصل شدی با مودم I اضافه میشه!
می تونی یک Memo بزاری! و توی onClose متغیر I رو بزاری توی Memo و از Memo ذخیره بشه
توی یک فایل! اینطوری!
و توی onCreate به این صورت لود کن! این هم خود کد :کد:Memo1.Clear;
Memo1.Lines.Add(IntToStr(I));
Memo1.SaveToFile('T.txt');
این هم برای اضافه شدن متغیرکد:Memo1.LoadFromFile('T.txt');
I := StrToInt(Memo1.Lines[0];
خوب حالا می تونی این برنامه رو بزاری توی StartUp ! که وقتی وصل شدیکد:Function ConnectionKind : Boolean;
var
flags : dword;
begin
Result := InternetGetConnectionState(@flags,0);
if Result the begin
if (flags and INTERNET_CONNECTION_MODEM) =
INTERNET_CONNECTION_MODEM
Inc(I);
end;
زمان رو ذخیره کنه! و در آخر ماه فایل T.txt رو باز کن! اون عدد رو تقسیم 60 کن! نتیجه میشه دقیقه!
اونوقت اون نتیجه ای هست که در ماه کنکت بودی!
اگر هم می خواهی می تونی یک دکمه بزاری که متغیر I رو تقسیم 60 کنه! بگه که تا حالا چقدر وصل شدی
اگر هم دوست داری می تونی یک دکمه بزاری واسه Reset کردن زمان! کار سختی نیست! متغیر I رو صفر کن !
این طوری :
هر سوالی ، مشکلی بود بگو تا بهت جواب بدم!کد:I := 0;
موفق باشی ! بای
سلام مرد مباح عزيز!نقل قول:
رفيق يك لطفي كن و درباره اون برنامه كه ساختي كه يك Ip بهش ميدادي و كانكت ميشد توضيح بده.
در واقع يادمون بده چي كار كنيم.
كجا بودي! مدتي نبودي!
خوب من دقيق منظورت رو نفهميدم! اما اگر منظورت اون برنامه هست كه مثل ياهو مسنجر بود!(ابتدايي)
بگو كه در پست بعدي! كامل توضيح بدم!
موفق باشي! باي
سولجر خيلي ممنون كه انقدر تو اين انجمن فعالي واقاَ دمت گرم از بايت كد هم ممنون
سلام
خواهش مي كنم! قابلي نداشت!
هر جا مشكلي داشتي بگو تا بهت جواب بدم!
موفق باشي - باي
سولجر جان عالي بود به درد من كه خيلي مي خوره ببين من هميشه ضد حال اصاصي(اساسي) نمي زنم
سلام
قابلت رو نداشت! :)نقل قول:
سولجر جان عالي بود به درد من كه خيلي مي خوره ببين من هميشه ضد حال اصاصي(اساسي) نمي زنم
عزيز من كه گفتم بعضي وقتا ! اگر هم ناراحت شدي! ببخشيد!
در ضمن واسه اون غلط املايي شتر ديدي نديدي :)!
خيلي خوشحال شدم كه بدردتون خورد و دعوا هم تموم شد!
موفق باشيد ! باي
آره رفيق.
منظورم اصول كاري همون برنامس.
منظورم اينه كه اين كارا رو به ما هم ياد بدي.
ممنون
ضمنا.
من هر روز سر ميزدم.
ولي چون خبر خاصي نبود پست نميدادم.
موفق باشيد.
اگه سرور اشتباه نكنه امكان نداره كه 2 تا پست عين هم ارسال بشه.
مربوط به نگه داشتن دست من نيست.
موفق باشيد.
قبول دارم چون خود من هم امروز این مشکل برام پیش اومد ببخشید
سلام
به زودي آموزش رو مي زارم.
سلام
منم اين پست رو دنبال ميكنم
خيلي خوبه
مرسييييييييييييي.
ما زنده از آنيم که آرام نگيريم * * * * * موجيم که آسودگي ما عدم ماست
سولجر جان
اگه ميشه طريقه اينكه يك فايل را با دلفي توي ميل اتچ كني و بفرستي چيه ؟
چي كار ميشه كرد ؟
سولجر جان کد homepage چیه منظورم اینه که بدون استفاده از امکانات سایت و با استفاده از اینترنت اکسپلورری که خودمون ساختیم چجوری می تونیم اون سایتی رو که باز کردیم را سایت خانگی خودمون بکنیم
پیشاپیش خیلی خیلی ممنون
سلام
کد HomePage مربوط به دستکاری رجیستری میشه ...نقل قول:
سولجر جان کد homepage چیه منظورم اینه که بدون استفاده از امکانات سایت و با استفاده از اینترنت اکسپلورری که خودمون ساختیم چجوری می تونیم اون سایتی رو که باز کردیم را سایت خانگی خودمون بکنیم
پیشاپیش خیلی خیلی ممنون
با تابع زیر می تونی این کار رو بکنی :
اگه تابع پیدا کردن صفحه فعلی رو هم می خوای بگو تا بزارم ...کد:Function SetIEHomePage(Page: String): Boolean;
var
Reg: TRegistry;
begin
Reg:= TRegistry.Create;
try
Reg.RootKey:= HKEY_CURRENT_USER;
reg.OpenKey('Software\Microsoft\Internet Explorer\Main', False);
try
Reg.WriteString('Start Page', Page);
Result:= True;
finally
Reg.CloseKey;
Result:= False;
end;
finally
Reg.Free;
end;
end;
موفق باشی ...
اولاَ به خاطر اون functionخیلی خیلی ممنوننقل قول:
اگه تابع پیدا کردن صفحه فعلی رو هم می خوای بگو تا بزارم ...
موفق باشی ...
اما منظورت را نمی فهمم از تابع پیدا کردن صفحه اگه منظورت webbrowser1.Navigate
که بلدم اگه منظور دیگه ای داری لطفاً بگو
بازم سلام
منظورم صفحه خانگی فعلی هستش ...
موفق باشی ...
نه بابا این که خیلی پیش و پا افتادس بلدم منظورت اینه دیگهنقل قول:
نوشته شده توسط Mahmood_N
کد:webbrowser.gohome;
سلامنقل قول:
نه بابا این که خیلی پیش و پا افتادس بلدم منظورت اینه دیگه
خوب امین جان این کد کد که باعث می شه WebBrowser صفحه خانگی فعلی رو نشون بده !!
منظورم اینه که بدون این که اون رو نشون بدی بفهمیش ...
خوب با کد بالا چه طوری می خوای بفهمی که آدرس صفحه خانگی فعلی چیه ؟!!
با تابع زیر می تونی آدرس صفحه فعلی رو بدست بیاری ...
درواقع این دوتا توابعی که برات نوشتم فقط اطلاعات یک کلید توی رجیستری رو می خونن ( اگه به تابع يه نگاه بندازي ميگيري چي مي گم )کد:function GetIEHomePage: String;
var
R: TRegistry;
begin
R:= TRegistry.Create;
try
R.RootKey:= HKEY_CURRENT_USER;
R.OpenKey('Software\Microsoft\Internet Explorer\Main', False);
try
Result:= R.ReadString('Start Page');
Except
Result:= '';
end;
R.CloseKey;
finally
R.Free;
end;
end;
موفق باشي ...
سلامنقل قول:
سولجر جان
اگه ميشه طريقه اينكه يك فايل را با دلفي توي ميل اتچ كني و بفرستي چيه ؟
چي كار ميشه كرد ؟
مردمباح . در اولين فرصت آموزش كامل اون مسنجر رو ميزارم. فقط بايد آپلود بشه.
در ضمن . واسه اين سوالي كه پرسيدي من چيزي نمي دونم.
اما اگر چيزي پيدا كردم . ميزارم.
موفق باشيد . باي
با سلام
من مي خواهم پوشه هايي را كه در گروه كاري(شامل حدود 200 كاربر) به اشتراك گذاشته شده به صورت روزانه و يا
ساعتي چك كرده و تغييراتي را كه در اين پوشه ها ايجاد شده ( مثلاَ يك فايل اضافه يا كم گرديده است ) را در بانك نگهداري كنم و بعد از آنها گزارش بگيرم . براي اين كار نياز است كه آدرس گروه كاري را به سيستم بدهم نه پوشه هاي اشتراكي را و مشكل اساسي من در پيدا كردن آدرس EntireNetwork در شبكه و آدرس دهي به آن است .اگر كسي اطلاعاتي دارد لطفاً كمك كند.
با تشكر
راستشو بخواین تو نت ورک من بعضیها برای بعضی کارها کارت شبکه شونو در می ارن.
من میخام یه برنامه بنویسم تا دایما اتصال به نتورکو چک کنه و اگه قطع بود یه کاری بکنه.
در ضمن میخام این یوزرهای مزاحم اجرا بودن برنامه رو نبینن ونتونن اونو ببندن.
راستشو بخواین تو نت ورک من بعضیها برای بعضی کارها کارت شبکه شونو در می ارن.
من میخام یه برنامه بنویسم تا دایما اتصال به نتورکو چک کنه و اگه قطع بود یه کاری بکنه.
در ضمن میخام این یوزرهای مزاحم اجرا بودن برنامه رو نبینن ونتونن اونو ببندن.