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

ارسال‌ها: 205
موضوع‌ها: 31
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 313
( 146 تشکر در 38 ارسال )
ارسال: #1
کار با FSO
سلام
خسته نباشيد
من اگه يه فايل با نام 1223334444 داشته باشم براي کوپي کردن اون فايل از جايي به جاي ديگر از اين دستور استفاده مي کنیم

Dim a As New FileSystemObject
Dim aa As String
Private Sub Command1_Click()
a.CopyFile "aa", "C:\Documents and Settings\nima\Start Menu\Programs\Startup", True
End Sub
Private Sub Form_Load()
aa = a.GetAbsolutePathName(1223334444)
End Sub

روش کار اينجوري که اول مسير پوشه زماني بارگذاري فرم در داخل متغيير آآ ذخيره مي شه و سپس با کليک بر روي کامند از دستور جديدي براي کوپي در مسير معيين استفاده مي کنيم اما:
مشکل اينجاست که مي گه اين مسيري که مي خواهيد ازش فايل رو انتقال بديد وجود ندارد(خطاي 76) اگه مي شه کمکم کنيد تا اين مسئله رو حل کنم
خدا حافظ

عنوان تاپیک رو درست انتخاب کنید
(آخرین ویرایش در این ارسال: ۰۱-اسفند-۱۳۸۶, ۱۳:۳۴:۱۶، توسط Iron_Fist.)
۲۹-بهمن-۱۳۸۶, ۰۱:۰۷:۳۲
ارسال‌ها
پاسخ
arashrj آفلاین
مدیر بازنشسته
*****

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

تشکرها : 4
( 212 تشکر در 133 ارسال )
ارسال: #2
RE: FSO
سلام
خوب راست میگه !
چون متغییر aa رو داخل کوتیشن (") قرار دادی در نتیجه ویژوال بیسیک (حتی زبان های دیگر) این aa رو رشته شناسایی می کنند نه متغییر.
پس کوتیشن های دو طرف aa رو بردار

موفق باشی

[آرش جعفری]
اگر به دیگران کمک کنید تا به آنچه می خواهند برسند .شما هم می توانید در زندگی به آنچه می خواهید برسید

* کوتاه کردن URL های طولانی

DevJam
۲۹-بهمن-۱۳۸۶, ۰۱:۴۳:۲۷
وب سایت ارسال‌ها
پاسخ
xsalamx آفلاین
كاربر دو ستاره
**

ارسال‌ها: 205
موضوع‌ها: 31
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 313
( 146 تشکر در 38 ارسال )
ارسال: #3
RE: FSO
سلام
خسته نباشيد
دستتون درد نکنه,اشکال من کوتیشن نبود.اشکال اصلی اینه که وقتی با متد GetAbsolutePathName دنبال فایلی به اسم1223334444 می گرده آدرس یه جای دیگه رو می ده و خطای "File not found" رو می ده آیا روشی دیگر وجود دارد که بفهمیم فایل مربوط کجاست و یک short cut از فایلمون رو در مقصد بریزیم.
ممنون می شم که روشی برام ارائه بدید.البته خودم یه روشی رو در نظر گرفتم که با استفاده از متد show open و سپس از طریق file name مسیر فال رو پیدا می کنیم و به برنامه می دیم تا یه کوپی از برنامه(من روش کوپی گرفتن از طریق وی بی رو بلدم اما روش گرفتن short cutاز طریق وی بی رو بلد نیستم)((فرق این دو اینکه در کوپی گرفتن فایل از طریقCopy File فایل کوپی شده حجمی برابر خود فایل اصلی رو داره اما در روش short cut که Fsoهم نداره فقط یه مسیر میانبر برای برنامه درست می شه)))رو بگیریم اما این روشی با دخالت کاربر انجام می شه و من می خواهم این کار اتوماتیک انجام شود.
خدا حافظ
۳۰-بهمن-۱۳۸۶, ۲۲:۰۲:۵۶
ارسال‌ها
پاسخ
m_vb6 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 7
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 3
( 3 تشکر در 3 ارسال )
ارسال: #4
RE: FSO(خواهشمندم یکی کمک کنه)
بله از تابع
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
استفاده کنین
و تابع
Private Declare Function SHFileOperation Lib "shell32.dll" Alias " SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
و تابع
Private Declare Function fCreateShellLink Lib "vb6stkit.dll" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String, ByVal fPrivate As Long, ByVal sParent As String) As Long
(آخرین ویرایش در این ارسال: ۰۱-اسفند-۱۳۸۶, ۱۱:۴۶:۳۳، توسط m_vb6.)
۰۱-اسفند-۱۳۸۶, ۱۱:۴۴:۱۹
ارسال‌ها
پاسخ
xsalamx آفلاین
كاربر دو ستاره
**

ارسال‌ها: 205
موضوع‌ها: 31
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 313
( 146 تشکر در 38 ارسال )
ارسال: #5
RE: کار با FSO
سلام
می شه یه مثال بزنید یا روش استفادش رو بگید.
من کار با توابع API رو بلد نیستم
ممنون
خدا حافظ
۰۱-اسفند-۱۳۸۶, ۱۷:۰۴:۲۹
ارسال‌ها
پاسخ
xsalamx آفلاین
كاربر دو ستاره
**

ارسال‌ها: 205
موضوع‌ها: 31
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 313
( 146 تشکر در 38 ارسال )
ارسال: #6
RE: کار با FSO
سلام
شما يه نگاه ديگه به دستورات بنداز
Dim a As New FileSystemObject يه متغيير از نوعFSO
a.CopyFile "aa", "C:\Documents and Settings\nima\Start Menu\Programs\Startup", True يکي از متدهاي FSO
aa = a.GetAbsolutePathName(1223334444) يکي ديگه از متدهاي FSO
اگه هم فکر مي کنيد من اين سوال رو به خاطر اشتباه در قرار دادن کوتيشن مطرح کردم اشتباه کرديد مشکل من اين بود:
وقتي مسير فايل رو( "1223334444 \F") مي گرفتي مسير ديگه اي("1223334444\F:\Microsoft Visual Studio\VB98") رو مي داد
اگه هم من اشتباه کردم:خيلي ببخشيد عذر مي خوام
خدا حافظ
(آخرین ویرایش در این ارسال: ۰۲-اسفند-۱۳۸۶, ۰۰:۱۱:۰۸، توسط xsalamx.)
۰۲-اسفند-۱۳۸۶, ۰۰:۱۰:۰۴
ارسال‌ها
پاسخ
m_vb6 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 7
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 3
( 3 تشکر در 3 ارسال )
ارسال: #7
RE: کار با FSO
Dim a As New FileSystemObject
Dim aa As String
Private Sub Command1_Click()
'a.CopyFile "aa", "C:\Documents and Settings\nima\Start Menu\Programs\Startup", True
End Sub
Private Sub Form_Load()
aa = a.GetAbsolutePathName(1223334444)
Form1.Caption = aa
End Sub
سلام
مثل اینکه دستورGetAbsolutePathName مسیر نصب vb رو میده برای بدست اوردن مسیر جاری از دستورApp.Path استفاده نمایید
۰۲-اسفند-۱۳۸۶, ۱۲:۳۸:۴۸
ارسال‌ها
پاسخ
m_vb6 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 7
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 3
( 3 تشکر در 3 ارسال )
ارسال: #8
RE: کار با FSO
Dim a As New FileSystemObject
Dim aa As String
Private Sub Command1_Click()
a.CopyFile Trim(aa), "f:\an\1223334444.txt", True
End Sub
Private Sub Form_Load()
aa = App.Path & "\" & "1223334444.txt"
End Sub
این هم کد اصلاح شده شما موفق باشید
۰۲-اسفند-۱۳۸۶, ۱۲:۵۰:۱۶
ارسال‌ها
پاسخ
xsalamx آفلاین
كاربر دو ستاره
**

ارسال‌ها: 205
موضوع‌ها: 31
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 313
( 146 تشکر در 38 ارسال )
ارسال: #9
RE: کار با FSO
سلام
دستت درد نکنه ولي بازم همون مشکل قبيلي پيش اومد.
البته قابل ذکر که من خودم همين برنامه رو ساختم. اما مشکل من اينه که من مي خوام کاربر فقط اسم رو وارد کنه و بعد کار انجام بشه نه اينکه به روش زير انجام بشه:
Dim a As New FileSystemObject
Const b As String = "C:\Documents and Settings\nima\Start Menu\Programs\Startup\"
Dim c As String
Private Sub Command1_Click()
CommonDialog1.fliter = "All File (*.*)|*.*|"
CommonDialog1.ShowOpen
c = CommonDialog1.FileName
Text1.Text = c
If c <> "" Then Command2.Enabled = True
End Sub
Private Sub Command2_Click()
a.CopyFile c, b
MsgBox "Finish"
End Sub
Private Sub Command3_Click()
End
End Sub
در ضمن مي خواستم بدونم اگه دوتا فايل با يه اسم وجود داشته باشه چه اتفاقي مي افته.
ممنون خدا حافظ
۰۳-اسفند-۱۳۸۶, ۲۳:۱۷:۲۶
ارسال‌ها
پاسخ
m_vb6 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 7
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 3
( 3 تشکر در 3 ارسال )
ارسال: #10
RE: کار با FSO
سلام مشکل شما برمیگرده به
1 عدم استفاده از پسوند فایلهاتون
2 عدم استفاده از دستور trim
و گرنه با یک تکس باکس مشکلتون حل میشه
۰۴-اسفند-۱۳۸۶, ۰۹:۴۴:۲۰
ارسال‌ها
پاسخ
xsalamx آفلاین
كاربر دو ستاره
**

ارسال‌ها: 205
موضوع‌ها: 31
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 313
( 146 تشکر در 38 ارسال )
ارسال: #11
RE: کار با FSO
سلام

ببخشید که اینقدر دیر دارم این موضوع رو ادامه می دم آخه سیستم رو fdisk کرده بودم خوب بگذریم
اگه کمک کنید و:
روش بدست اوردن مسیر فایلی که نصب می شه(فکر کنم با توابع API بود اما من بلد نیستم)رو به بنده آموزش بدبن ممنون می شم .

خدا حافظ
۱۹-اسفند-۱۳۸۶, ۲۳:۴۴:۳۳
ارسال‌ها
پاسخ


پرش به انجمن:


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

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