mesajlar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
usta şimdi benim şöyle bir sorunum var : delphi ile yaptığım bir exe file var..bu file a tıklayınca bir pencere içerisinde web sayfasını Twebbrowser ile açıyorum..eğer makinada internet bağlantısı yoksa 'bağlantınız yok' gibilerden hata mesajı verdiriyorum..yalnız hata mesajı geldikten sonra pencere içerisinde web sayfasının gelmesini istemiyorum..yapamadığım şey burası..mesaj geldikten sonra programın kapanmasını istiyorum..bir sürü yöntem denedim olmadı..yardım edermisiniz..
Merhaba;
Twebbrowser componenti olan Formunu kapatmayı denedinizmi?
Kolay gelsin...
Twebbrowser componenti olan Formunu kapatmayı denedinizmi?
Kolay gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
bakın şöyle birsey yaptım :
procedure TForm1.FormShow(Sender: TObject);
begin
if IsUserOnline = false then
if MessageDlg('İnetnet Bağlantınız Yok !!!',MtError,[mbOk],0)=mrOk then close
else
begin
HookID := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId());
Webbrowser1.Navigate('http://www.google.com');
end;
end;
yukarıdaki close formu kapatmıyor..
procedure TForm1.FormShow(Sender: TObject);
begin
if IsUserOnline = false then
if MessageDlg('İnetnet Bağlantınız Yok !!!',MtError,[mbOk],0)=mrOk then close
else
begin
HookID := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId());
Webbrowser1.Navigate('http://www.google.com');
end;
end;
yukarıdaki close formu kapatmıyor..
Merhaba;
Arkadaşın kodu verdiği şekilde çalıştırmaya çalıtım IsUserOnline = false hata aldım uses'e ne eklemem gerekli acaba.
İyi Çalışmalar.
Arkadaşın kodu verdiği şekilde çalıştırmaya çalıtım IsUserOnline = false hata aldım uses'e ne eklemem gerekli acaba.
İyi Çalışmalar.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
project source kısmında formlar create edilmeden
Kod: Tümünü seç
program MyProg;
uses
Forms,Dialogs,
form1 in 'unit1.pas' {Form1};
{$R *.RES}
//fonksiyonu buraya yazman gerek yada en azından burada
//deklare etmen gerek
function IsUserOnline:Boolean
begin
//////
end;
begin
if IsUserOnline = false then
begin
MessageDlg('İnternet Bağlantınız Yok !!!'+#13#10+
'Program Kapatılacak.',MtError,[mbOk],0);
Halt(0);
end;
//diger durumda program calısacak
Application.Initialize;
Application.CreateForm(TFrmAna, FrmAna);
Application.CreateForm(TDM, DM);
Application.Run;
end.
ÜŞENME,ERTELEME,VAZGEÇME
huseyin hocam sanırım o ozel bir fonksiyon
benzer islevi yerine getiren bir fonksiyon asagıda
ama bir yerel aga baglı olup internete baglı olmayan bilgisayarda da internete baglıymıs gibi gosteriyor...
en iyi test yolu bence google a ping atmak:)
benzer islevi yerine getiren bir fonksiyon asagıda
Kod: Tümünü seç
function IsConnectedToInternet: Boolean;
var
dwConnectionTypes: Integer;
begin
try
dwConnectionTypes := INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
if InternetGetConnectedState(@dwConnectionTypes, 0) then
Result := true
else
Result := false;
except
Result := false;
end;
end;
en iyi test yolu bence google a ping atmak:)
ÜŞENME,ERTELEME,VAZGEÇME
Kod: Tümünü seç
Function ConnectionKind :boolean;
var
flags: dword;
begin
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then Form1.EdtConType.Text:= 'Modem';
if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then Form1.EdtConType.Text:= 'LAN';
if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then Form1.EdtConType.Text:= 'Proxy';
if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then Form1.EdtConType.Text:= 'Modem Meşgul';
end;
end;
Gökmen Hocam ve Ardahan Hocam Teşekkürler maalesef net olayın'a Delphi de biraz yabancı kaldım. Şu an bende Google Pink atıyorum. 

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
@beginer ın sorusundan anladığım kadarıyla,
MessageDLG ile açılan form modal bir formdur. Forma sadece Ok butonu konulmuş ve buna basılırsa program kapatılıyor, ama çarpıya basılırsa program devam ediyor onun istediği ise çarpıdanda basılsa program kapansın.
eğer bu dlg form çarpıdan kapatılırsa mrCancel result ı döndürür.
diğer arkadaşların yazdıkları daha profesyonel ve daha sağlam yöntemler.
Kolay gele
MessageDLG ile açılan form modal bir formdur. Forma sadece Ok butonu konulmuş ve buna basılırsa program kapatılıyor, ama çarpıya basılırsa program devam ediyor onun istediği ise çarpıdanda basılsa program kapansın.
eğer bu dlg form çarpıdan kapatılırsa mrCancel result ı döndürür.
diğer arkadaşların yazdıkları daha profesyonel ve daha sağlam yöntemler.
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Selamlar.
- Yaptığınız fonksiyonların istediğiniz işlemleri yapmamakta direndiği yerlerde kendi kontrol fonksiyonlarınızı yazıp sonucu görerek nerede yanlış yaptığınızı tespit edin.
- Yukarda verdiğiniz örnekten yola çıkarak aşağıdaki şekilde bir modifikasyon yaparak, kullanıcının OK dışında bir şekilde mesajı kapatmayı başardığında dönen sonucu trace ediyoruz.
- Benim bulduğum değer 2 yani mrCancel çıktı. Yani köşedeki çarpı butonuna basınca da Alt+F4 tuş kombinasyonuyla mesajı kapatsa da sonuç 2 çıkıyor. Demek ki mrOk yanında sonucun bir de 2 yani mrCancel olup olmadığını kontrol ederseniz ihtimal kaçırmadan işleminiz yapılacaktır.
- Yani kodunuzu şöyle güncelleyin.
- Yaptığınız fonksiyonların istediğiniz işlemleri yapmamakta direndiği yerlerde kendi kontrol fonksiyonlarınızı yazıp sonucu görerek nerede yanlış yaptığınızı tespit edin.
- Yukarda verdiğiniz örnekten yola çıkarak aşağıdaki şekilde bir modifikasyon yaparak, kullanıcının OK dışında bir şekilde mesajı kapatmayı başardığında dönen sonucu trace ediyoruz.
Kod: Tümünü seç
Var
Degisken : Integer;
begin
Degisken := MessageDlg('İnetnet Bağlantınız Yok !!!',MtError,[mbOk],0);
If Degisken = mrOk
then close
else ShowmessageFmt('%d', [degisken]);
end;
- Yani kodunuzu şöyle güncelleyin.
Kod: Tümünü seç
procedure TForm1.FormShow(Sender: TObject);
begin
if IsUserOnline = false then
Case MessageDlg('İnetnet Bağlantınız Yok !!!',MtError,[mbOk],0) of
mrOk, 2 : close; // mrCancel de denebilir.
else
begin
HookID := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId());
Webbrowser1.Navigate('http://www.google.com');
end;
end; // Case
end;