
Program başladığında bulunduğu dizinde Locale klasörü var mı yokmu onu kontrol ediyor yoksa Locale klasörü oluşturup. Belirtilen URL üzerindeki 3 dosyayı o klasörün içine indiriyor.
Ancak ben test amaçlı sunucudaki dosyaları sildim, ve şöyle bir eksiklikle karşılaştım.
Program ilk açılışta Locale klasörünü oluşturuyor, dosya içeriği sunucuda olmadı için bir işe yaramıyor.
Yapmak istediğim şey şu;
Program her başladığında Locale klasörü ve içindeki dosyaların kontrolünü yapsın. Yoksa sunucudan indirsin, Eğer sunucudada yoksa hata mesajı versin ve tamam a tıkladığımda program arayüzüne devam etsin.
Locale klasörü için;
"HATA: Program dizininde Locale klasörü bulunamadı!nEksik dosyalar indirilsin mi?", "Locale klasörü eksik!"
Evet dediğimde > klasör oluştursun
Hayır dediğimde > program arayüzüne devam etsin
Dil dosyaları için;
"HATA: Program dizininde Locale klasörü içinde en_us_data_.dat, en_us_data.dir bulunamadı!nEksik dosyalar sunucudan indirilsin mi?", "Dil dosyaları eksik!"
Evet dediğimde > oluşturulan Locale klasörünün içinde dosyalar indirilsin
Hayır dediğimde > program arayüzüne devam etsin
Dil dosyaları şunuda yoksa;
"HATA: Locale klasör içeriği belirtilen Sunucu adresinde mevcut değil!nLütfen geliştirici ile iletişime geçin?", "Locale klasörü eksik!"
Tama dediğimde > program arayüzüne devam etsin.
SORU: İlk açılışta Locale klasörü eksikse oluşturacak, 2. açılışta tekrar Locale klasörü eksik hatası vermez değil mi?
Mevcut kod:
if (!Directory.Exists(Application.StartupPath + @"Locale"))
{
if (MessageBox.Show("HATA: Program dizininde Locale klasörü bulunamadı!nEksik dosyalar indirilsin mi?", "Locale klasörü eksik!",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
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);
MessageBox.Show("TEBRİKLER: Dil dosyaları başarıyla indirildi!", "Dil dosyaları indirildi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
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);
}
Yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
))) Eğer zahmet olmazsa sende 2 satır kod yazıp yardımcı olabilirsin 