Üç farklı platformda internet bağlantısı kontrolü

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
Kullanıcı avatarı
hido
Üye
Mesajlar: 268
Kayıt: 29 Mar 2014 04:32

Üç farklı platformda internet bağlantısı kontrolü

Mesaj gönderen hido »

Merhaba.

Multi-device application ile prejemi oluşturdum;

Üç farklı platformda android, ios ve bilgisayarda çalıştırabileceğim bir uygulama olacak, fakat bir sorunla karşılaştım internet bağlatsı yok ise kullanıcıya bilgilendirme gibi uyarı verdirmek istiyorum;
Android uygulamada test etme sansım oldu ve sorun çıkmadı, fakat masaüstü bilgisayarda derleme sırasında hata alıyorum, bu üç platforma çalıştırabileceğim elinede pas dosyası var mı? veya ne önerirsiniz.

Saygılarımla....

Uyguladığım pas İndirme linki:
http://s2.dosya.tc/server/pfi6ji/Library.rar.html

Kod: Tümünü seç

  function InternetKontrol: Boolean;
  var
  NS: TNetworkState;
  begin
  NS := TNetworkState.Create;
  try
  if not NS.IsConnected then
  Result := False
  else
  Result := True;
  finally
  NS.Free;
  end;
  end;
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Üç farklı platformda internet bağlantısı kontrolü

Mesaj gönderen fesiharslan »

Merhaba;
Android ve iOS (Mobil) platformları için daha önce Dave Nottage (http://delphiworlds.com/about-dave-nottage/) tarafından Delphi XE5 ile bir örnek uygulama (http://delphiworlds.com/2013/11/checkin ... elphi-xe5/) yapılmış.
Küçük değişikliklerle bu örneği Delphi 10.1 Berlin sürümünde derledim.

Örnekte isterseniz yalnızca bağlantı durumunu kontrol edebilirsiniz.

Kod: Tümünü seç

 if NS.IsConnected then
  Label1.Text := 'Bağlantı Var' 
   else
    Label1.Text := 'Bağlantı Yok';
 
İsterseniz bağlantı türü ile birlikte bağlantı kaynağını da tespit edebilirsiniz.

Kod: Tümünü seç

var
  NS: TNetworkState;
begin
  NS := TNetworkState.Create;
  try
    if not NS.IsConnected then
      Label1.Text := 'Bağlantı Yok'
    else if NS.IsWifiConnected then
      Label1.Text := 'Bağlantı Yöntemi: WiFi'
    else if NS.IsMobileConnected then
      Label1.Text := 'Bağlantı Yöntemi: WWAN (Mobil)';
    Label2.Text := NS.CurrentSSID;
  finally
    NS.Free;
  end;
end;
Kullanmadan önce Android Platformu için Project > Options > Uses Permissions kısmından Access network state ve Access wifi state izinlerini true yapın.

Resim

Uygulama Ekran Görüntüsü:
Resim

Uygulama Linki: https://mega.nz/#!DJ0VXKYJ!-Vmk3Tn14byI ... RGQtv5aBH0

İyi çalışmalar...
delphimaker
Üye
Mesajlar: 10
Kayıt: 04 May 2016 05:58

Re: Üç farklı platformda internet bağlantısı kontrolü

Mesaj gönderen delphimaker »

Kod: Tümünü seç

function CheckInternet: boolean;
begin
result:=false;
try
IdTCPClient1.ReadTimeout:=2000;
IdTCPClient1.ConnectTimeout:=2000;
IdTCPClient1.Port:=80;
IdTCPClient1.Host:='google.com';
IdTCPClient1.Connect;
IdTCPClient1.Disconnect;
result:=true;
except
result:=false;
end;
end;
Cevapla