Dosya Boyutu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Dosya Boyutu

Mesaj gönderen webaytek »

Kod: Tümünü seç

var 
srFileSR: TSearchRec; 
sFileName, sFileSize: string; 
begin 
sFileName := 'c:\test\2.avi'; 
FindFirst(sFileName,faAnyFile,srFileSR); 
sFileSize := IntToStr(srFileSR.Size); 
Showmessage(sFileSize);
bir dosyanın boyutunu öğrenmek için bu komutu kullanıyorum

tamam da ben bu komutu 800milisaniyede yenilenen bir saate bağlı bir butondan aldığım zaman dosya boyutu mouse'u oynattıkça değişiyor
Bu nasıl iş anlayamadım :evil:

Bunu engellememin bir yolu war mı yada alternatif bir kod verebilir misiniz!
Şimdiden Teşekkürler
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
Sanırım 800 milisaniye dosyanın boyunu okumak için yeterli olmuyor.
eğer dosynın boyu gerçektende değişmiyorsa sadece bir sefer oku değişkene at sonra onu göster.
iyi çalışmalar
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

A.S.
aslında benim amacım download edilen dosyanın boyutunu göstermek ancak bunu denemeden önce kodu denedim ama 1 milisaniyede de aynı
5000 milisaniyede de aynı 1239356 byte gösterdikten sonra 15 ve hatta 1042 falan gösteriyo sonra yaklaşık boyutu gösteriyor ama dediğim gibi

benim amacım download edilen dosyanın boyutunu göstermek

bu konuda :idea: istiyorum :lol:
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

dosyayı neyle download ediyorsunuz?
kullandığınız bileşene veya komuta göre çeşitli çözüm yolları olabilir.

Sizin çözüm yolunuz pek sağlıklı görünmüyor...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

daha fazla bir bilgim yoktur.
ama hani acaba diyorum dosya boyutunu kb cinsinde gösteriyor olabilirmi? :?:
kusura bakma.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

Benim indirmekte olduğum dosyanın boyutunu verecek bi kod lazım.
aslında ben bu kodu sadece denedim we başarısız olduğunu farkettim (tabii ki durağanken sorun yok o ayrı...)

Ben sadece öğrenmek için istiyorum bu kodu denememin amacı da o.

kullanıcının belirlediği herhangi bir dizine (savedialog ile) kaydedelim


function DownLoadInternetFile(Source, Dest : String): Boolean;
begin
try
Result := URLDownloadToFile(nil,PChar(Source),PChar(Dest),0,nil) = 0
except
Result := False;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
SourceString, DestinationString: string;
begin
SourceString := edit1.text;
DestinationString := savedialog1.filename; // dosya buraya kaydedilecek

DownLoadInternetFile(SourceString, DestinationString);
end;
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

http://msdn.microsoft.com/library/defau ... tofile.asp

Syntax

Kod: Tümünü seç

HRESULT URLDownloadToFile(          LPUNKNOWN pCaller,
    LPCTSTR szURL,
    LPCTSTR szFileName,
    DWORD dwReserved,
    LPBINDSTATUSCALLBACK lpfnCB // İşini görebileceğini tahmin ettiğim parametre
);

Kod: Tümünü seç

lpfnCB
Pointer to the caller's IBindStatusCallback interface. URLDownloadToFile calls this interface's IBindStatusCallback::OnProgress method on a connection activity, including the arrival of data. IBindStatusCallback::OnDataAvailable is never called. Implementing IBindStatusCallback::OnProgress allows a caller to implement a user interface or other progress monitoring functionality. It also allows the download operation to be canceled by returning E_ABORT from the IBindStatusCallback::OnProgress call. This can be set to NULL. 

büyük ihtimalle burdaki paramtereye geçeceğin fonksiyon her adımda otomatik olarak çağrılarak gerekli bilgiler sana ulaştırılıyordur ama tam olarak bir delphi örneğine rastlamadım. araştırmak gerekir.

http://www.clevercomponents.com/product ... /suite.asp

burayada bir gözat istersen...
Cevapla