Delphi altyapısı ve oturmuş Pascal dili sayesinde çok güçlü bir programlama dili. Gerçekten yapabileceklerinin haddi hesabı yok. Tek sınır hayal gücünüz.
Bende hem hayal gücümün etkisiyle ve 'Acaba yapabilir miyim?' soruma cevap aramak için bir Güncelleyici (Updater) geliştirmeye karar verdim. Ancak bu uygulamayı yaparken internetteki örneklere bakmadan sadece birazcık GPT yardımı alarak kendim bir algoritma geliştirerek yapmak istedim. Bu yazıyı okuyan ve bu sektörde uzun yıllar geçirmiş insanlar belki de benim yöntemimi çok verimli bulmayabilir. Dediğim gibi bu sadece bir deneme projesi ve verimli olması değil, çalışması önemliydi. :D
Bu uygulamayı geliştirirken sunucudan güncelleme dosyasını (content.txt) indirmek için NetHTTPClient componentini kullandım. Bu component Delphi'de varsayılan olarak gelen componentlerden birisi. Bu component sayesinde internete erişmek, dosya indirmek, dosya aktarmak gibi olayları gerçekleştirebiliyoruz. SQL Lite kullanmak istemediğim için uygulamanın sürümünü kendi yolunda bulunan bir dosyaya kaydettim. (surum.txt) -Evet Delphi kendi içerisinde uygulama sürümü tutuyor ancak bu yol benim yolum :P - Bu sayede son sürümü bir SQL Server'a kaydederek bu surum.txt dosyasıyla karşılaştırma yaptırdım. Böylece yeni sürüm gelip gelmediğini hızlı ve efektif bir yolla kontrol sağlamış bulundum. Eğer SQL Server'daki sürüm ile sizde bulunan sürüm uymuyor ise 'Güncelleştir' butonu aktif oluyor. Bu buton güncelleme dosyasını (content.txt) sunucudan indirip uygulamanın bulunduğu dizine kaydediyor. Uygulama ise bu txt dosyasını okuyup ekranınızda gösteriyor. Tüm algoritma bu kadar aslında, detaylı inceleme için paylaştığım kaynak kodlara bakabilirsiniz.
(Siz SQL Server'a erişemeyeceğiniz için dosya indirmesini test edebilmek için (1kb) surum.txt dosyasının içindeki '1.8' yazısını '1.5' gibi daha düşük değerlere getirirseniz o zaman güncelleştir butonu aktif olur ve test yapabilirsiniz.)
Linkler:
Uygulama: updater.rar
Kaynak Kodları: updater_delphi.rar