Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi Android Sayı Karmaşası [Çözüldü]
#1
Merhaba Arkadaşlar

Android cihazlar için geliştiridiğim projede dosya manager tarzı bir uygulama yazdım ama dosya boyutu bilgilendirmesi ile ilgili sorunlar yaşamaktayım. Barış atalay hocanın blogunda bulunan dosya boyutu hesaplaması için kullanılan bir hazır kodu kullanarak dosya boyutunu hesaplatıp listview içinde detail bölümünde yayınaya biliyorum. Fakat 1 gbtan sonra bir sayı karmaşası oluşuyor ve 2,440 gb olan bir dosyayı -1796328136 Byt şeklinde gösteriyor. Önce integer değerinden yaptığını düşündüm ama int64 felan yapmama rağmen sonuç değişmedi. Bu hatayı düzeltmek için nasıl bir yol izlemeliyim. Şimdiden yardımlarınız için teşekkürler. (Not: Delphi 10.1.2 Berlin kullanıcısıyım.)

function dosyaboyutubul(yol:string):String;
var
dosya:TFileStream;
dsize:Integer;
strSize:string;
begin
dosya:=TFileStream.Create(yol,fmOpenRead);
dsize:=dosya.Size;
if dSize < 1024 then
   begin
   strSize:=' Byt'
   end;
if (dsize div 1024) > 0 then
   begin
     strSize := ' Kb';
     dsize := dsize div 1024;
   end;
 if (dsize div 1024) > 0 then
   begin
     strSize := ' Mb';
     dsize := dsize div 1024;
   end;
    if (dsize div 1024) > 0 then
   begin
     strSize := ' Gb';
     dsize := dsize div 1024;
   end;



Result:='Boyut :'+inttostr(dsize) + strsize;
FreeAndNil(dosya);
end;
Cevapla
#2
Yine de sorun Integer'dan kaynaklı gibi görünüyor. İlk olarak TFileStream'in Size değişkeni Int64 tipinde. Dolayısıyla siz de değişkeninizi böyle tanımlamalısınız.
Integer işaretli bir sayıdır ve -2147483648 ile 2147483647 arasında değer alabilir. Bu da max. 2 GB'lık bir dosya boyutunu okuyabileceğiniz anlamına gelir.
There's no place like 127.0.0.1
WWW
Cevapla
#3
Aynen hocam sıkıntı oradan kaynaklanıyormuş. Hata bendeymiş Smile bunu bir çok yerde kullanıyordum şimdi hepsini düzenlemek gerekecek.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [Ödüllü Soru] FMX Android projede input alan ve sanal klavye konumu Abdullah ILGAZ 1 69 Dün, Saat: 12:37
Son Yorum: ssahinoglu
  Rad Studio C++ Android iile Editte Barkod Okutma Hatası Ahmet YILMAZ 1 378 19-07-2018, Saat: 17:01
Son Yorum: Abdullah ILGAZ
  android media player arsl01 2 64 19-07-2018, Saat: 07:55
Son Yorum: arsl01
  [Ödüllü Soru] FMX Android projede ekranın sürekli açık bırakılması Abdullah ILGAZ 1 61 17-07-2018, Saat: 12:14
Son Yorum: Cyber
Question [ ÇÖZÜLDÜ ] SQLİTE bağlantı sorunu BY-HAYALET 9 257 10-07-2018, Saat: 12:41
Son Yorum: BY-HAYALET



Konuyu Okuyanlar: 1 Ziyaretçi