Arkadaşlar, bir sorunum var ve bu sorun hakkında yardıma ihtiyacım var lütfen yardımcı olur musunuz?
1: Aşağıdaki kod için biraz değişiklik istiyorum.
Mevcut Kod:
https://pastebin.com/tqfb67t5
Kod satırında
// Program her başladığında dosyaları indir buraya kadar her şey normal. Ancak buradan sonra her açılışta dosya indirmesini istemiyorum.
Her açılışta sunucudaki dosya boyutu ile program bünyesindeki dosya boyutu farklıysa uyarı vermesini istiyorum.
Sunucudaki dosyalar programın locale klasörü içindekinden farklıysa program açılışında uyarsın
UYARI: Dil dosyalarının yeni bir sürümü mevcut! indirmek ister misin?
Evet > Dosyaları indirir
Hayır > Programın çalışmasına devam eder
Eğer dosyalar sunucuda mevcut değilse
HATA: Locale klasörü belirtilen sunucu adresinde bulunamadı! Lütfen geliştiriciyle iletişime geçip bilgilendirin.
Tamam > Program çalışmasına devam eder
Yardımcı olacak arkadaşlara şimdiden çok teşekkür ederim.
webclient.openread("url");
Int64 bytes_total= Convert.ToInt64(wc.ResponseHeaders["Content-Length"])Yazım hataları olabilir. bu şekilde dosya boyutunu okutabilirsinFileInfo ile de kendi localindeki dosya boyutunu kontrol edebilirsin.
verdiğiniz link açılmıyor ki.
PasteBin Türkiye de yasaklı canım ülkem
Kodlara erişemeyenler için arkadaşın paylaştığı kodlar:
public FormMain()
{
InitializeComponent();
// Başlangıçta FormStarting gösterilsin
PanelMain.Controls.Add(new FormStarting());
// Başlangıçta Locale klasörünü kontrol et
if (!Directory.Exists(Application.StartupPath + @ "\Locale"))
// Locale klasörü mevcut değilse uyar
if (MessageBox.Show("HATA: Program dizininde Locale klasörü bulunamadı!\nEksik dosyalar indirilsin mi?", "Locale klasörü eksik!",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
// Kullanıcı seçimi Evet olursa klasörü oluştur ve alt kısımdaki dosyaları indir
Directory.CreateDirectory(Application.StartupPath + @ "\Locale");
else
// Kullanıcı hayır derse klasör oluşturmayı iptal et ve dosyaları indirme
return;
// Program her başladığında dosyaları indir
try {
Directory.CreateDirectory(Application.StartupPath + @ "\Locale");
WebClient wClient = new WebClient();
wClient.DownloadFile("http://www.okolay.net/serhat/ps2/locale/en_us_data.dat", FilePath1);
wClient.DownloadFile("http://www.okolay.net/serhat/ps2/locale/en_us_data.dir", FilePath2);
wClient.DownloadFile("http://www.okolay.net/serhat/ps2/locale/Geo-Md.ttf", FilePath3);
// Dosya indirme başarılı olursa uyar
MessageBox.Show("TEBRİKLER: Dil dosyaları başarıyla indirildi!", "Dil dosyaları indirildi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
// Dosyalar eğer mevcut sunucuda yok ve indirme başarısız olursa uyar
catch {
MessageBox.Show("HATA: Locale klasörü belirtilen sunucu adresinde bulunamadı!\nLütfen geliştiriciyle iletişime geçip bilgilendirin.", "Locale klasörü bulunamadı!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}