PDA

View Full Version : مبتدی: سوال در مورد CommonDialog



سپهر-111
یک شنبه 12 آذر 1391, 13:42 عصر
سلام دوستان بزرگوار



من از یک کامند دیالوگ برای ذخیره یک فایل استفاده میکنم

میخوام وقتی کاربر یک نام برای اون فایل انتخاب میکنه اگر همانند اسم اون فایل در اون مکان وجود داشت ، یک پیغام صادر کنه؟؟

حالا چطوری این کار میتونم انجام بدم؟؟



ممنون میشم اگه راهنمایی بفرمایید


با تشکر

m.4.r.m
یک شنبه 12 آذر 1391, 14:03 عصر
شما باید اینو قبل از ذخیره چک کنی که آیا فایل در مسیر موجود است یا نه :

1- مسیر فایل رو بگیری مثلا شما درایو C رو برای ذخیره انتخاب کردی
2- بررسی می کنی که آیا فایل ذخره شده شما در مسیر موجود است یا نه ..
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
Public Function FileExist(FPath As String) As Boolean
FileExist = CBool(PathFileExists(FPath))
End Function

Private Sub Form_Initialize()
If Not FileExist("مسیر فایل مورد نظر") Then
End
End If
End Sub

3- اگر فایل مورد نظر شما با فایل ذخیره شده شما همنام باشد پیغام نشان دهد .

محسن واژدی
یک شنبه 12 آذر 1391, 14:30 عصر
سلام علیکم
همینطور میتونیم از ثابت cdlOFNOverwritePrompt استفاده کنیم

Private Sub Command1_Click()
With CommonDialog1
.Flags = cdlOFNOverwritePrompt
.ShowSave
End With
End Sub

موفق باشید

hamed_vb
پنج شنبه 07 اردیبهشت 1396, 23:12 عصر
دوست عزیز همین مشکل رو من توی لود کردن عکس دارم با On erorr Resume Next هم حل نشد یعنی این کد کار نمی کنه میخوام مثلا کاربر وقتی یه اسم الکی توی filename نوشت و اوپن رو زد اگر عکس داخل اون مسیر نبود پیغام بده که عکسی با این نام موجود نیست چطور می تونم این رو به کامن دیالوگ تعریف کنم؟

vbhamed
شنبه 09 اردیبهشت 1396, 15:43 عصر
سلام
دلیل رو تو تاپیک زیر که ایجاد کردین توضیح دادم

http://barnamenevis.org/showthread.php?537499-%D8%AF%D9%84%DB%8C%D9%84-%DA%A9%D8%A7%D8%B1%D9%86%DA%A9%D8%B1%D8%AF%D9%86-%DA%A9%D8%AF-On-erorr-resume-next-%D8%AF%D8%B1-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-7&p=2364579&posted=1#post2364579

www.pc3enter.tk
یک شنبه 10 اردیبهشت 1396, 16:03 عصر
بیا این هم کد کامل و بدون عیب و نقص با توضیحات کامل. فقط یک تکس باکس و دکمه و یک کامند دایالوگ بزار روی صفحه ات

CommonDialog1.ShowSave 'فايل نمايش ذخيره را نشان ميده

' فقط نام فايل را اينجا مياره آدرس = کامل برنامه را دراينجا مياره
If Dir(CommonDialog1.FileName) = CommonDialog1.FileTitle Then
Select Case MsgBox("There is a file with the name. Do You Want Save", vbYesNo Or vbExclamation Or vbDefaultButton1, "Note:") 'اگر فايل مجود بود آيا مي خواهي ذخيره کني
Case vbYes 'اگر بله
aa = FreeFile 'يک فايل باز کن روش
Open CommonDialog1.FileName For Output As #aa 'ادرس رو بهش ميده و يک فايل درست ميکنه
Print #aa, Text1.Text 'متن تکس را چاپ ميکنه
Close #aa 'و اخرش فايل رو ميبنده
End Select
Else 'اگر فايل موجود نبود
aa = FreeFile 'پس يکي جديد بساز
Open CommonDialog1.FileName For Output As #aa
Print #aa, Text1.Text
Close #aa
End If ' هيچي ديگه . پايان




و آخر پایین این صفحه یک دکمه هست به نام تشکر کردن. اونو فشار بده. (تا برنده خوش شانس قرعه کشی امشب ما بشی)