Basit Bir Program
-
Programın işlevi basit; çalıştırıldığı zaman internet bağlantısını konrtrol edecek, bağlantı yoksa bir uyarı verip bağlantının sağlanmasını bekleyecek. Bağlantı varsa bir e-mail gönderecek ve belli bir video'yu oynatmaya başlayacak. Video bittikten sonra ise bir e-mail daha gönderip kapanacak.
Buraya açtım konuyu ama, en uygun hangi dille yazılır sizce? Ve genel olarak bir yönlendirir misiniz programın yazımına dair.
-
yardım istiyorsan yardımcı olabilirim istediğin şeyler hakkında. kod yardımı mı istiyorsun yoksa projeyi mi? kod diyorsan c# ile kolay olur en azından benim için.
-
Hocam kimseyi yorup uğraştırmak istemiyorum, zaten basit dediğin gibi. Mesela, şu şu library ile şöyle şöyle yapabilirsin derseniz, bir şekilde yazar hallederim ben.
-
amacın öğrenmekse yardımcı olayım :) yok sadece işim görülsün diyorsan ben yapayım boşa uğraşma.. çok zamanı alacak bir şey değil zaten
-
Mürid dayanışması =).
-
Sen en çok hangi dile hakimsen senin için en uygunu "o" dille yazman olur.
Mevcut popüler dillerin hemen hepsiyle yazabilirsin, Windows'ta kullanacaksan eğer kaynak ve basitlik bakımından C# .NET e yönel derim.
-
Delphi için Internet bağlantı check
const
INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTION_PROXY = 4;
INTERNET_CONNECTION_MODEM_BUSY = 8;
function InternetGetConnectedState(lpdwFlags: LPDWORD;
dwReserved: DWORD): BOOL; stdcall; external 'WININET.DLL';
function TForm1.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;
Usage:
If IsConnectedToInternet Then
...
Else
..
Email için
var idAttach: TidAttachment; idText1: TidText; idText2: TidText; p: TidMessageParts; slBody: TStringList; begin // idMessage1 has the email addresses and // all the other info needed to send already set. p := idMessage1.MessageParts; slBody := TstringList.Create; try slBody.Add(''); slBody.Add(''); slBody.Add(''); slBody.Add(''); slBody.Add('
Here is the image:
'); slBody.Add(''); slBody.Add(''); slBody.Add(''); idText1 := TidText.Create(p, slBody); idText1.ContentType := 'text/html'; idText2 := TidText.Create(p); idText2.ContentType := 'text/plain'; idText2.Body.Text := ''; idSMTP1.Connect; idSMTP1.Send(idMessage1); finally idSMTP1.Disconnect; slBody.Free; Showmessage('done'); end; end;HolyOne tarafından 28/Ara/12 09:31 tarihinde düzenlenmiştir -
Valla hocam kimseyi durduk yere uğraştırmayayım diye yönlendirin ben yazayım dedim ama unbalanced hocam yapıveriyor, şeyhimiz yazıvermiş, eyv ellerinize sağlık.
-
projeyi buradan indirebilirsin. https://www.box.com/s/8b7l00ow2j4c52qi2z0f
biraz uzun sürdü ama elimden geldiğince açıklamaya çalıştım yine de düzeltmek isteyeceğin yerleri yapamazsan bana söylersin yardımcı olurum.
kısaca programın işleyişini ve gerekliliklerini anlatayım
- C# dili ve Visual Studio 2010 kullanılarak framework 3.0 ile geliştirdim. Yani programın çalışması için karşı bilgisayarda en az framework 3.0 olması gerekli.
- Video izleme için codec falan ile uğrşama diye her windowsda bulunan mediaplayeri kullandım
- mediaplayer kontrolü 32 bit olduğu için projeyi 64 bit ile derlersen çalışmayacaktır
- mail yollama olayını çoklu yaptım. yani birden fazla kişiye mail atabilirsin
- mail konusu ve içerigi değişebilir ekstradan (standart ve sonradan eklenebilir olarak yaptım istersen daha fazla alanı benim yaptığım şekilde ekleyebilirsin)
- thread tabanlı ve kuyruğa alarak çalışıyor bu sayede video izlenirken maillerin yollanmasını beklemiyorsun
- internet kontrolü için çok bilinmeyen NetworkInterface sınıfını kullandım, bağlantının gelip gittiğine dair kendi eventi var, bu eventi kendimize göre düzenleyip event de ben yazdım OnBagli ismindeki event e bağlantı geldiğinde görebilirsin
- burada dikkat edilmesi gereken NetworkInterfaceType türünden iki tanesini kontrol ettirmem. yani bende wifi ve etherner olduğu için bunlara bakıyor sadece, eğer sende farklı kartlar varsa InternetControl.cs dosyası içinde NetworkChange_NetworkAddressChanged metodunun içindeki if e eklemelisin aksi halde onun bağlanıp bağlanmayacağına bakmaz. burasını biraz daha dinamik yapabilirdim aslında
- mail yollanırken bir smtp adresine ve porta ihtiyacın var, modemlerde 25. port kapalıysa alternatif bir port kullanabilrisin (ben 587 yi kullandım)
- her mail sunucusunun smtp si farklı olduğu için kendi mail sunucunun smtpsini yazmak zorundasın, ben hotmail için yaptım, diğerlerini internetten rahatlıkla bulabilirsin
- hotmail in yeni bir özelliğini gördüm burada detay var http://windows.microsoft.com/tr-TR/hotmail/verify-account-why-ui buna göre spam olarak algılamaması için mail adresinin doğrulanması gerek yoksa 3-5 mail sonra hata veriyor izin alamadığı için bu konuya dikkat et. olmadı farklı bir adres kullan. ama gmail de günlük mail yollama sınırı 50 gibi bir şey olması gerek, bu tarz kısıtlamaları göz önüne al
- programa biraz fazla mesaj kutusu koydum, yani mail yollarken video biterken uyarı veriyor, bunu deneme amaçlı görmen için yaptım, sistemini iyi otutturdak sonra silebilirsin bunları önemli bir şeyi yok
- mail adresinin şifresini girersen maillerin genelde spama düşmez girmezsen spam olarak algılanabilir. bunu yazıp yazmama da senin tercihin. programı iki türlü ayarladım.benim şifreyi girerek yaptığım denemelerin hepsi inboxa düştü
- video yu denemek için @"c:\deneme.avi" isimli bir dosyaya bakıyor, bunu değiştirebilirsin. başındaki @ işaretinin sebebi \ ifadesi özel olduğu için programlama dili bunu karıştırabiliyor, başına @ koyduğumuzda ise bunun normal \ olduğunu anlıyor aksi halde 2 kere \\ yazmamız gerekli. c:\\a\\b\\deneme.avi gibi mesela
- ilk açılışta form gizli tutuluyor yani görünmüyor, eğer internet bağlantısı varsa form kendisini gösteriyor
aklıma gelenler bunlar sadece :) şuan denemek istiyorsan videodaki deneme.avi yi kendine göre düzenle. ilgili mail adreslerini falan belirle :)
kolay gelsin
unbalanced tarafından 28/Ara/12 16:55 tarihinde düzenlenmiştir -
Ellerine sağlık hocam, tuttuğun altın olsun. Evde değilim şu an ilk fırsatta kurcalamaya başlayacağım. Sana geri dönüş yaparım pm ile. Tekrar teşekkür ederim.
