PDA

View Full Version : تعیین اندازه مجاز در CommandDialog



alipoor2009
چهارشنبه 22 خرداد 1392, 08:16 صبح
سلام - چطوری می شه تو Command Dialog یک فایل بیشتر از 70 کیلوبایت رو قبول نکنه و یه پیغام بده بگه فایل شما بیشتر از از 70 کیلوبایت است

محسن واژدی
چهارشنبه 22 خرداد 1392, 10:13 صبح
سلام علیکم
با تابع FileLen فضای فایل را گرفته و بررسی کنید

کد زیر را امتحان کنید:
Private Sub Command1_Click()
On Error Resume Next
Dim CommonDialog1
Set CommonDialog1 = CreateObject("MSComDlg.CommonDialog")
With CommonDialog1
.Filter = "AllFiles(*.*)|*.*||"
re_open:
.ShowOpen
If .FileName > "" Then
If FileLen(.FileName) > 71680 Then
MsgBox "The file size is greater than 70KB", vbExclamation
.FileName = ""
GoTo re_open
End If
End If
End With
End Sub
کد بالا کامل هست، برای تست صرفا آنرا اجرا کنید

اگر کنترل CommonDialog1 روی فرم وجود دارد میتونید دو خط زیر را از کد بالا حذف کنید:
Dim CommonDialog1
Set CommonDialog1 = CreateObject("MSComDlg.CommonDialog")

موفق باشید

MohammadGh2011
چهارشنبه 22 خرداد 1392, 10:25 صبح
سلام بر دوست عزيزم آقاي واژدي
خوبي برادر؟
تبريک بابت مدير بخش شدن.
باتوجه به اين سوال من خيلي سعي کردم با تابع MaxFileSize خود کامپوننت بنويسم درست هم نوشتم تا حدودي ولي عمل نکرد.
با اين تابع چه طور ميشه نوشت؟

محسن واژدی
چهارشنبه 22 خرداد 1392, 11:11 صبح
سلام بر دوست عزيزم آقاي واژدي
خوبي برادر؟
تبريک بابت مدير بخش شدن.
باتوجه به اين سوال من خيلي سعي کردم با تابع MaxFileSize خود کامپوننت بنويسم درست هم نوشتم تا حدودي ولي عمل نکرد.
با اين تابع چه طور ميشه نوشت؟
سلام علیکم برادر بزرگوارم آقای قائم پناه عزیز
ممنونم
تابع MaxFileSize کاربرد متفاوتی داره، درواقع این تابع مقدار بافری مورد نیاز برای نگهداری آدرس فایل ها تنظیم میکند، مقدار پیش فرض 255 کاراکتر هست (به عنوان مثال اگر مقدار تابع را به 10 کاهش بدهیم بعد از گزینش فایل با خطای کاهش فضای بافری مواجه میشویم) که اگر قابلیت multi-select کنترل common-dialog فعال باشید، اغلب نیاز میشود مقدار MaxFileSize را افزایش بدیم (البته چون از نوع Integer است محدودیت دارد)

موفق باشید