View Full Version : حجم یک فایل برای progersbar
hrj1981
یک شنبه 28 بهمن 1386, 21:12 عصر
دوستان من می خوام برای لود کردن یک سری عکس از progersbar استفاده کنم
به این ترتیب که max progersbar خود را برابر حجم یک عکس قراردهم
آیا امکان پذیر می باشد ؟
ممنون از راهنمایتان
behnezhad
یک شنبه 28 بهمن 1386, 21:18 عصر
با چه دستوری می خوای عکستو لود کنی ؟
اوبالیت به بو
دوشنبه 29 بهمن 1386, 00:45 صبح
من این کد رو تست کردم جواب داد.
On Error Resume Next
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Binary Access Read As #1
Me.MousePointer = vbHourglass
ProgressBar1.Max = FileLen(CommonDialog1.FileName)
Line Input #1, i
z = z + 1
Do While Not EOF(1)
ProgressBar1.Value = ProgressBar1.Value + Len(z)
If ProgressBar1.Value =ProgressBar1.Max Then MsgBox "عملیات به پایان رسید"
Loop
Close #1
اوبالیت به بو
دوشنبه 29 بهمن 1386, 00:46 صبح
البته من از CommonDialog کد نوشتم چون راه دیگه ای که ساده بشه به ذهنم نرسید.
hrj1981
دوشنبه 29 بهمن 1386, 07:04 صبح
من برای هر عکسخودم در بانک اطلاعاتی یک کد قرارداده ام و برای لود کردن آنها یک image در فرم قراردادم و هر وفت رکورد ست بانک طالاعاتی من به شماره عکس مورد نظر می رسد آن عکس در image نمایش داده می شود من فقط می خواهم ببینم در بیسیک چگونه می توان حجم یک فایل را بدست آورد.
از دوست خوبم obalitjoon هم تشکر می کنم
Mbt925
دوشنبه 29 بهمن 1386, 10:34 صبح
شما خود عکس رو در بانک قرار دادید یا مسیرش رو؟
hrj1981
دوشنبه 29 بهمن 1386, 11:55 صبح
مسیر عکس را قراردادم
Mbt925
دوشنبه 29 بهمن 1386, 22:32 عصر
بدست آوردن حجم فایل:
Private Const GENERIC_WRITE = &H40000000
Private Const OPEN_EXISTING = 3
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2
Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Long, 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
--------------------------------
Dim hFile As Long
hFile = CreateFile("FilePath", GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
Msgbox GetFileSize(hFile, 0)
CloseHandle hFile
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.