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
  [Çözüldü] FireBase (FCM) Push Notification mesajı gelmiyor Fesih ARSLAN 11 169 9 saat önce
Son Yorum: Fesih ARSLAN
  FMX Android Push Notification Sorunu rafikhasguller 0 68 13-04-2018, Saat: 16:37
Son Yorum: rafikhasguller
  FMX.FontGlyphs.Android.pas sorunu BY-HAYALET 4 147 09-04-2018, Saat: 10:53
Son Yorum: BY-HAYALET
  Hedef platformlarda android gözükmüyor boreas 1 107 24-03-2018, Saat: 14:59
Son Yorum: Fesih ARSLAN
  Delphi Android Java kullanmak AliZairov 11 1.190 22-03-2018, Saat: 04:36
Son Yorum: AliZairov



Konuyu Okuyanlar: 1 Ziyaretçi