امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
File Size
نویسنده پیام
unknown_hcr آفلاین
كاربر تک ستاره
*

ارسال‌ها: 51
موضوع‌ها: 19
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 5
( 8 تشکر در 5 ارسال )
ارسال: #1
File Size
سلام

اگر با استفاده از FSO و زير شاخه هاي آن حجم فايلي را دريافت كنيم در صورتي كه حجم فايل به چند گيگابايت برسد پيغام خطاي overfollow نمايش داده مي شود. چه راهي پيشنهاد مي كنيد؟
۲۲-مرداد-۱۳۸۷, ۲۰:۳۰:۰۲
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #2
RE: File Size
تا حالا فايلي تا اين اندازه سنگين باهاش باز نكردم ولي از اونجائي كه حجم فايل رو به بايت مي ده خوب تقريبا چندگيگابايت رو نمي شه تو هر متغييري جا داد. شايد بهتر باشه از انواع ديگه اي از متغيير عددي استفاده كني يا مستقيما اون رو با دستور Cstr تبديل به استرينگش كني.

۲۲-مرداد-۱۳۸۷, ۲۲:۰۴:۲۳
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #3
RE: File Size
سلام.
من فایل چند گیگی دیدم.
یادمه چند سال پیش برای این که وقتم سر وین ریختن و نصب برنامه ها تلف نشه از فولدرهای ویندوز و پروگرم فایلز و ... یه کپی گرفتم و بعد همه رو rar کردم. با اون همه برنامه که نصب بود حجم فایل rar به چند گیگ رسید. بعد هر دفعه فایل رو اکسترکت میکردم و با استفاده از safe mode و روش های دیگه که درست یادم نیست تو 5 دقیقه وین رو نصب میکردم. ولی بعدا روش ایمیج گرفتن اومد که کار رو ساده تر کرد.

شما حجم رو بر اساس بایت که نمیخوای مسلما. حجم رو 3 بار تقسیم بر 1024 کن تا به گیگ تبدیل شه. بعد بریز تو متغیر.
۲۲-مرداد-۱۳۸۷, ۲۲:۳۷:۵۴
ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #4
RE: File Size
فایل رو بصورت binary باز کن
یه متغیر از نوع String تعریف کن
توش یه مقدار مشخص space بنداز. مثلا 1000 تا
بعد از اون فایل داده ها رو بگیر بریز تو این متغیر.
چند بار این رو تو حلقه تکرار کن تا کل داده ها رو بگیری. اینطوری میفهمی چند بایته . . .
برای دقت بیشتر می تونی از trim هم استفاده کنی تا تو آخریش space اضافه نیاد.

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
(آخرین ویرایش در این ارسال: ۲۲-مرداد-۱۳۸۷, ۲۳:۳۲:۵۷، توسط محمد حسینی.)
۲۲-مرداد-۱۳۸۷, ۲۳:۳۱:۳۱
ارسال‌ها
پاسخ
unknown_hcr آفلاین
كاربر تک ستاره
*

ارسال‌ها: 51
موضوع‌ها: 19
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 5
( 8 تشکر در 5 ارسال )
ارسال: #5
RE: File Size
ممنون از پاسخ هاتون

آقاي Di Di : شما وقتكي كه از يك DVD ، تصوير(Image) مي گيريد حجم فايل چقدر مي شه؟
payman62: برنامه قادر به گرفتن حجم فايل نيست و اصلا كار به جايي نمي كشه كه ما بخوايم تقسيم بر 1000*1000 كنيم! مي تونيد امتحان كنيد.
spiderman: من مي خوام با FSO حجم رو بگيرم.
۲۲-مرداد-۱۳۸۷, ۲۳:۳۷:۵۳
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #6
RE: File Size
سلام.
حتما باید fso باشه؟
filelen چطور؟
Function FileLen(PathName As String) As Long
مقدار برگشتیش Long هست. اگه بیشتر 2 میلیارد و خورده ای بشه ارور میده. تا حدود 2 گیگ جا داره.

میتونی نیمه اول فایل رو بخونی حجمشو بگیری بعد نیمه دومش رو بخونی حجم اونم بگیری. هر کدوم رو به گیگ تبدیل کنی و جمع کنی.
۲۳-مرداد-۱۳۸۷, ۰۰:۱۹:۴۵
ارسال‌ها
پاسخ
unknown_hcr آفلاین
كاربر تک ستاره
*

ارسال‌ها: 51
موضوع‌ها: 19
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 5
( 8 تشکر در 5 ارسال )
ارسال: #7
RE: File Size
شما راهي با FSO نمي دونيد؟
در ضمن منظورتون از نيمه اول و دوم فايل چيه؟ با filelen() مگه مي شه حجم فايل رو در چند مرحله گرفت؟ يا منظور شما با استفاده از Get بود؟
(آخرین ویرایش در این ارسال: ۲۳-مرداد-۱۳۸۷, ۰۰:۳۶:۲۱، توسط unknown_hcr.)
۲۳-مرداد-۱۳۸۷, ۰۰:۳۳:۱۱
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #8
RE: File Size
VB.NET. اندازه long اونجا 46 بیته.

میزان رای دشمن است!
[تصویر:  cff100.png]
۲۳-مرداد-۱۳۸۷, ۰۸:۱۰:۲۷
وب سایت ارسال‌ها
پاسخ
saeedsmk آفلاین
مدیر بخش کرک و کامپیوتر
*****

ارسال‌ها: 506
موضوع‌ها: 74
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 677
( 1179 تشکر در 348 ارسال )
ارسال: #9
RE: File Size
سلام
خوب هستيد
با fso نميشه اندازه فايل هاي بزرگ رو گرفت . با File len هم تا 4294967295 رو مي توني بدست بياوري .
نكته چون ما اعداد منفي توي اندازه فايل نداريم عدد long بدون علامت توسط filelen بر گردانده ميشود . اما اعدد بدست امده هنگام نمايش علامت دار نمايش داده ميشن پس براي فايل هاي با حجم بين 2,147,483,647 و 4,294,967,295 سايز فايل منفي نشون داده مي شه .

اما ميشه از كد زير براي همه نوع فايل استفاده كرد براي اين كار يك پروژه استاندارد باز كنيد و كد زير رو توش كپي پيست كنيد
کد:
Private Const OPEN_EXISTING = 3
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
Private Type BY_HANDLE_FILE_INFORMATION
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    dwVolumeSerialNumber As Long
    nFileSizeHigh As Long
    nFileSizeLow As Long
    nNumberOfLinks As Long
    nFileIndexHigh As Long
    nFileIndexLow As Long
End Type
Private Declare Function GetFileInformationByHandle Lib "kernel32" (ByVal hFile As Long, lpFileInformation As BY_HANDLE_FILE_INFORMATION) As Long
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Sub Form_Load()
MsgBox GetFileSize("xxxx")
End Sub

Function GetFileSize(strPath As String) As Double
    Dim hFile As Long, FileInfo As BY_HANDLE_FILE_INFORMATION
    GetFileSize = -1
    ' Check if file exist
    If Dir(strPath) = "" Then Exit Function
    ' Create handle for strpath file
    hFile = CreateFile(strPath, 0, 0, ByVal 0&, OPEN_EXISTING, 0, ByVal 0&)
    'retrieve the file information
    GetFileInformationByHandle hFile, FileInfo
    'close the handle
    CloseHandle hFile
    'convert the result fo no sign long & add high order size and Low order size
    GetFileSize = ValNoSin(FileInfo.nFileSizeHigh) * ValNoSin(&HFFFFFFFF) + ValNoSin(FileInfo.nFileSizeLow)
End Function

Function ValNoSin(el As Long) As Double
    Dim elhex As String
    Dim dblDum As Double
    Dim bytAsc As Byte
    dblDum = 0
    ' convert it to hex
    elhex = UCase(Hex(el))
    ' now with out craying sign bit convert it to decimal base
    For i = 1 To Len(elhex)
        bytAsc = Asc(Mid(elhex, i, 1)) - 48
        If bytAsc > 10 Then _
            bytAsc = bytAsc - 7
        dblDum = dblDum * 16 + bytAsc
    Next
    ValNoSin = dblDum
End Function
بحاي فايل فرستاده شده كه xxxx است مسير فايل خودتون رو بگذاريد

به اميد ديدار

در دنياي كه مرگ شكارچي ان است بايد شكارچي بود - تعليمات دون خوان نوشته كارلوس كاستاندار
۲۳-مرداد-۱۳۸۷, ۱۰:۵۹:۵۲
ارسال‌ها
پاسخ
تشکر شده توسط : ajlajlajl
unknown_hcr آفلاین
كاربر تک ستاره
*

ارسال‌ها: 51
موضوع‌ها: 19
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 5
( 8 تشکر در 5 ارسال )
ارسال: #10
RE: File Size
ممنون از راهنمايي دوستان
(آخرین ویرایش در این ارسال: ۲۳-مرداد-۱۳۸۷, ۱۲:۳۰:۴۸، توسط unknown_hcr.)
۲۳-مرداد-۱۳۸۷, ۱۲:۲۸:۴۳
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  انتخاب چند گزینه در file name در کنترل comman dialog hamed_Arfaee 2 3,059 ۲۹-خرداد-۱۳۹۲, ۱۰:۳۷:۳۰
آخرین ارسال: hamed_Arfaee
Question [سوال] تبديل عكس به res file و استفاده از اون تو برنامه Hamidreza95 2 3,146 ۰۳-مهر-۱۳۹۰, ۰۲:۰۰:۰۸
آخرین ارسال: 1120
  file binding baby_1 3 3,009 ۲۰-تير-۱۳۹۰, ۱۲:۴۹:۲۹
آخرین ارسال: HamedFaa
  سورس File manager واسه تروجان terrorhell 9 7,740 ۱۴-آذر-۱۳۸۹, ۱۴:۰۱:۲۵
آخرین ارسال: hosein mm
Cool بستن فرم Windos File Protection aliyarat 2 3,123 ۲۰-شهریور-۱۳۸۹, ۰۲:۴۷:۵۲
آخرین ارسال: Payman62
Exclamation کد search file با تمام زیر فولدرهایش رامی خواهم. brazilst 3 3,944 ۱۷-آبان-۱۳۸۸, ۱۴:۵۷:۳۳
آخرین ارسال: ynh1427
  File Transfer unknown_hcr 5 4,406 ۲۷-شهریور-۱۳۸۷, ۱۱:۳۲:۱۲
آخرین ارسال: yeketaz
  compressing file LSH_KV90 6 3,944 ۰۲-دى-۱۳۸۵, ۰۱:۱۰:۳۷
آخرین ارسال: amin_vb
Question چه جوری یک Embedded Object File میشه ساخت ؟ User-Name 13 8,084 ۲۰-اردیبهشت-۱۳۸۵, ۰۰:۴۰:۵۳
آخرین ارسال: User-Name
Toungue Open kardan yek file rooye internet Morcheye_khalafkar 12 7,393 ۰۴-اردیبهشت-۱۳۸۵, ۱۹:۲۲:۲۵
آخرین ارسال: Morcheye_khalafkar

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS