Ini dosyanın Internet üzerinde create edilmesi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Ini dosyanın Internet üzerinde create edilmesi

Mesaj gönderen TRSoft »

Arkadaşlar merhaba,
Ben bir ini dosyasında versiyon bilgilerini saklıyorum. Program çalıştığında internet bağlantısının olup olmadığını kontrol ettikden sonra bu ini dosyasında versiyon bilgisi ile programın versiyon bilgisini karşılaştırıyorum. Şimdi gelelim yaşadığım probleme
1- bir ini dosyasının

Kod: Tümünü seç

Ini:=TiniFile.Create('http://www.xxx.com/dosya.ini');
şeklinde create edilip edilemeyeceğini öğrenmek istiyorum. Ben bu şekilde denedim ama olmadı. Bunun başka bir yolumu var yoksa bu şekilde create etmek mümkün değilmi?

2- Ben bu problemi farklı bir şekilde aştım. Önce dosyayı download ettiriyorum işim bitincede siliyorum. Ancak burada da şöyle bir şeye takıldım. Dosyanın uzantısı ini ise dosyayı download edemiyorum. Uzantıyı örneğin zip yaparsam gayet güzel download ediyor. Download için ipuçlarındaki functionu kullanıyorum. Aslında uzantısının illaki ini olması zorunlu değil tabiki ama benim burda merak ettiğim bu olayın açıklaması. Yani neden bir ini dosyayı download edemiyorum.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

1. uzak bir serverda dosya olusturmak oraya dosya kopyalamak ile esdegerde sayılır
yani ben gidip http://www.hurriyetim.com/index.htm dosyasının uzerine kendi yaptıgım dosyayı kopyalasam olur mu?
bu tur islemleri sifreli upload seklinde yapman gerek

2. Bazı Serverlar (yani hostluk hizmeti veren) bazı dosya soyadlarını upload da kabul etmiyor
mesela bizim sayfanın bulundugu server da exe soyadı kabul etmiyormus. bizde zip layarak atıyoruz:)
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Abi 2.sorumda merak ettiğim konu açıklandı teşekkür ederim.
Ama 1.soruyla ilgili aklıma takılan bir şey var. Ben bu dosyayı kendi uzakdaki servarıma kopyaladım. Onu sadece okumak istiyorum. Ama okumak içinde create etmem gerekiyor(Bildiğim kadarıyla) Yani buda uzakdaki serverda dosya oluşturmakla aynı anlama mı geliyor. Dolayısıyla bu şekilde de yapamıyorum yani. :oops: Doğrumu.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

TIniFile Create parametresi olarak aldıgı dosyaya ne sekilde davranıyor bilemiyorum ama dosya yoksa sıfırdan olusturuyor...
peki sen bir hata vs. alıyormusun bu islemi yaparken 'access denied' gibi
en kotu ihtimalle [WinDir]/temp icine download eder okur ve silersin
o kadarda kotu bir yaklasım degil aslında
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Ben upload ettim. Ama ulaşamıyorum.
Herhangi hata mesajıda vermiyor. Sanki işlemi normal birşekilde yapmış gibi ama geri dönen değer null.
Ayrıca ilk mesajımda belirttiğim gibi ben gkimirti abinin dediği gibi download etip işimi görüyorum. Ama sadece öğrenmek istiyorum. Böyle bir şey mümkünmü...
Teşekkür ederim.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

okuma işini try .. except .. end; bloğu içinde yapmanı öneririm. dolaysıyla bir hata oluşmuşsa yakalıyabilirsin.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

rsimsek abi şimdi onuda denedim. Herhangi bir hatayla karşılaşılmıyor. dosyayı okumak için

Kod: Tümünü seç

 Var
   Verini:TiniFile;
begin
     If Internet_Baglantisi_Varmi then
     Begin
          Try
             Verini:=TiniFile.Create('http://www.xxx.com/ver.ini');
          Except
               on exception do Memo1.Lines.Add('Oluşturmada Oluştu');
          End;
          Try
             Memo1.Lines.Add(Verini.ReadString('TRTEKNIK','VER',''));
          Except
               on exception do Memo1.Lines.Add('Okumada Oluştu');
          End;
          memo1.Lines.Add('Bitti');
          Verini.Free;
     End;
kodlarını kullanıyorum ancak ReadStringin 3.parametresi olan default değer geri geliyor. Birde upload ettiğim dosyanın uzantısını değiştirip denedim yine olmadı..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

dosyayi ftp ile mesela temp dizinine download edip oradan işlemi yaparsanız sorun olmaz sanıyorum....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
warder
Üye
Mesajlar: 255
Kayıt: 10 Mar 2004 04:59

Mesaj gönderen warder »

TRSoft yazdı:rsimsek abi şimdi onuda denedim. Herhangi bir hatayla karşılaşılmıyor. dosyayı okumak için

Kod: Tümünü seç

 Var
   Verini:TiniFile;
begin
     If Internet_Baglantisi_Varmi then
     Begin
          Try
             Verini:=TiniFile.Create('http://www.xxx.com/ver.ini');
          Except
               on exception do Memo1.Lines.Add('Oluşturmada Oluştu');
          End;
          Try
             Memo1.Lines.Add(Verini.ReadString('TRTEKNIK','VER',''));
          Except
               on exception do Memo1.Lines.Add('Okumada Oluştu');
          End;
          memo1.Lines.Add('Bitti');
          Verini.Free;
     End;
kodlarını kullanıyorum ancak ReadStringin 3.parametresi olan default değer geri geliyor. Birde upload ettiğim dosyanın uzantısını değiştirip denedim yine olmadı..
default değer dışında ne gelebilir ki. henüz hiç bir şey yazmamışsınız.
eğre TRTEKNIK bölümü VER adımında bir şey yazmıyorsa default olan yani örneğinizdeki boşluk dönecek. kodunuzda öyle demişsiniz. Henüz de bir şey yazmadığınıza göre şikayet etmemelisiniz. Bir başka durumda Verini dosyasını Create ettiğinizde fiziksel olarak oluşturulmuyor. Ne zaman ki birşeyler yazarsınız o zaman bahsettiğiniz yerde Verini.ini adlı bir dosyanın varlığından söz edebiliriz.
Tüm bunların dışında serverde böyle bir şey yapabileceğinizi sanmıyorum. Serverde her türlü okuma, yazma ve çalıştırma faaliyetleri izine tabidir. bu izinler kullanıcılara admin tarafından verilirler. Ayrıca hangi dosya türlerine nasıl tepki verileceği de önceden tanımlanmıştır. bu tanımlarda ini dosyası için yapılan talepler download olarak değerlendirilmiyorsa admin ile görüşmelisiniz. tıpkı create dediğinizde bu isteğinizin yerine getirilmesi islemindeki yetkilendirilmeniz gibi. Ki böyle bir yetkiyi hiç bir admin vermez.
Çözüm olarak benim önerim script tabanlı dillerle iletişime geçerek kendi sitenizde bu işi onlara yaptırıp siz bu taraftan talepte bulunabilirsiniz. (içeriden yapılabileceğini unutmamalı).
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Sevgili warder teşekkür ederim.
Ancak ben yukarı yazdığım kodlarla Verini dosyasına herhangi bir şey yazdırmak istemiyorum ki. Ben dosyayı kendi pcimde create etip içine gerekli bilgileri yazdıktan sonra upload ettim. O kodlarla sadece okumaya çalışıyorum. Ancak sizinde verdiğiniz bilgilere teşekkür ederim.Buna göre ben bu işlemi en güzeli ini dosyasını download etip daha sonra silerek halletmeliyim..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Cevapla