Bir dosyanın okunmadan önce uzunluğunu bilmenin mümkün olup olmadığını söyleyebilir misiniz? Bu, büyük hacimler, yavaş hızlar durumunda yüklenen verilerin yüzdesi hakkında bir tahmin yapabilmek içindir.
Bana bir dosyanın okunmadan önce uzunluğunu bilmenin mümkün olup olmadığını söyleyebilir misiniz? Bu, büyük hacimler, yavaş hızlar durumunda indirilen verilerin yüzdesini tahmin edebilmek içindir.
Sanırım yapabilirsin. ve bunu wininet.dll'in msdn açıklamasında bulacaksın.
Bir dosyanın okunmadan önce uzunluğunu bilmenin mümkün olup olmadığını söyleyebilir misiniz? Bu, büyük hacimler, yavaş hızlar durumunda yüklenen verilerin yüzdesini tahmin edebilmek içindir.
Sanırım yapabilirsin. ve bunu wininet.dll'in msdn açıklamasında bulacaksın.
Sanırım wininet.dll kullanımının tam olarak açıklandığı bir makale için iyi bir konu olurdu
Bir dosyanın okunmadan önce uzunluğunu bilmenin mümkün olup olmadığını söyleyebilir misiniz? Bu, büyük hacimler, yavaş hızlar durumunda indirilen verilerin yüzdesi hakkında bir tahmin yapabilmek içindir.
Sunucu içeriğin uzunluğunu bildirirse bir olasılık vardır.
İstek hakkında bilgi almak için wininet.dll'deki HttpQueryInfo işlevini kullanabilirsiniz - bu işlev gerekli bilgileri belirtilen diziye dize biçiminde döndürür.
Kullanım örneği:
import bölümüne bir açıklama ekleyin:
int HttpQueryInfoW(int hRequest,int dwInfoLevel,uchar &lpvBuffer[],int &lpdwBufferLength,int &lpdwIndex);
ayrıca ekleyin
#define HTTP_QUERY_CONTENT_LENGTH 5daha sonra kodda InternetOpenUrlW'yi çağırdıktan ve hURL'yi aldıktan sonra kodu eklemeniz gerekir:
int BufLen=2048; int ind=0; uchar buf0[2048]; string s=""; int ContentSize_HttpQueryInfoW=0; int iRes; iRes=HttpQueryInfoW(hURL,HTTP_QUERY_CONTENT_LENGTH,buf0,BufLen,ind); if(iRes<=0) { Print("Error in call of HttpQueryInfoW()"); } else { s=""; for(int k=0;k<BufLen;k++) { s=s+CharToString(buf0[k]);} Print("HTTP_QUERY_CONTENT_LENGTH:",s); if (StringLen(s)>0) ContentSize_HttpQueryInfoW=StringToInteger(s); Alert("İçerik boyutu=",ContentSize_HttpQueryInfoW); }
yandex.ru'dan test örneğimizde, indirilen dosyanın boyutuna karşılık gelen "Content size= 44649" alırız. yani indirme başlamadan önce (InternetReadFile) içeriğin uzunluğunu biliyoruz.
Bu özellik komut dosyasının mevcut sürümüne eklendi.
Emeğiniz için teşekkürler!
Mükemmel çalışıyor!
Çalıştırmaya çalıştığımda metatrader ölümcül bir hata ile kapanıyor. Herhangi bir çözüm var mı?
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
WININET_TEST:
wininet.dll kütüphanesinin fonksiyonları kullanılarak İnternetten sayfanın (dosyanın) nasıl indirileceğini gösteren basit bir örnek.
Yazar: MetaQuotes