PDA

View Full Version : مبتدی: چگونگي اضافه كردن فايل در vb



MohammadGh2011
چهارشنبه 14 اردیبهشت 1390, 19:26 عصر
سلام دوستان خوب
چگونه ميشود يك فايل را با هر پسوندي به ويژوال بيسيك اضافه كرد؟
براي مثال من ميخوام كه هرموقع command من كليك خورد يه فايل متني txt.كه اضافه كردم به vb باز شود

Mohamad ghorbani
چهارشنبه 14 اردیبهشت 1390, 20:46 عصر
سلام دوستان خوب
چگونه ميشود يك فايل را با هر پسوندي به ويژوال بيسيك اضافه كرد؟
براي مثال من ميخوام كه هرموقع command من كليك خورد يه فايل متني txt.كه اضافه كردم به vb باز شود

سلام. اگه منظور شما اينه كه مثلا اگه روي كامند كليك كردي يه فايل تكسي برات بسازه كدش اينجوريه:

Private Sub Command1_Click()
FileNumber = FreeFile()
Open "C:\MyTxt.txt" For Append As FileNumber
lName = Text1.Text
Write #FileNumber, lName
Close
MsgBox "OK"
End Sub

_behnam_
چهارشنبه 14 اردیبهشت 1390, 21:04 عصر
میتونید به صورت باینری فایل رو باز کنید . اطلاعات درونش رو بخوتید
Dim Source As String
Dim FileGet As String * 1
Dim Counter As Long
Open "c:\1.txt" For Binary As 1
For Counter = 1 To LOF(1)
Get 1, , FileGet
Source = Source & FileGet
Next
Close
MsgBox Source

MohammadGh2011
چهارشنبه 14 اردیبهشت 1390, 23:01 عصر
دوستان عزيز از اين كدهاتون ممنونم ولي من فايل متني رو مثال زدم بزاريد كامل توضيح بدم
من پروژم رو تموم كردم ولي حالا ميخوام كه فايل help ش رو بزارم تو فرمم و با يك كليك اون help باز بشه مثل اكثر برنامه ها كه فايل هلپ دارن
به طوري كه در تمام رايانه ها وقتي روي دكمه ي هلپ كليك كرديم فايل باز بشه نه فقط در سيستم خودم
دوستان عزيز اگه منظور من رو فهميديد راهنماييم كنين
من فايل help رو با استفاده از اين برنامه درست كردم
http://www.p30download.com/archives/utility/useful_tool/download_help_manual_professional_full/

محسن واژدی
چهارشنبه 14 اردیبهشت 1390, 23:20 عصر
سلام علیکم
به چندین روش این کار امکان پذیر است:



استفاده از تابع معمولی وی بی یعنی Shell:
Shell "hh.exe CHM_FILE_PATH"
بجای CHM_FILE_PATHمسیر فایل chm (راهنما) را قرار دهید
استفاده از APIی ShellExeciut بصورت زیر:
Option Explicit
Declare Function ShellExecute _
Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
Call ShellExecute(Me.hwnd, "open", CHM_FILE_PATH$, vbNullString, App.Path, vbNormalFocus)
End Sub

بجای CHM_FILE_PATHمسیر فایل chm (راهنما) را قرار دهید

و یک روش دیگر که چون نوشتین مبتدی، روش اول را بیشتر برایتان پیشنهاد میکنم

موفق باشید

MohammadGh2011
پنج شنبه 15 اردیبهشت 1390, 13:01 عصر
سلام دوست عزيز
ازت به خاطر اين راهنمايي ممنونم
همون طور كه گفتين من از همون روش اول ميخوام استفاده كنم


بجای CHM_FILE_PATHمسیر فایل chm (راهنما) را قرار دهید
چه طوري ميتونم مسير فايل راهنما رو تغيير دهم كه همون راهنماي خودم بياد من هر كار ميكنم نميتونم چون من از تابع shell استفاده نكردم چيزي در موردش نميدونم
براي مثال فايل هلپ من تو دسكتاپ هست چگونه ميتونم همون طور كه گفتين مسير رو عوض كنم
دوست عزيز ممنون لطفا دوباره راهنماييم كن

محسن واژدی
پنج شنبه 15 اردیبهشت 1390, 13:10 عصر
البته بهتر است فایل راهنما را در کنار برنامه تان قرار دهید تا اگر مکان برنامه تان هم تغییر کرد مشکلی در اجرا آن پیش نیاید، برای این کار از دستور App.Path در تابع Shell بصورت زیر استفاده کنید:

Shell "hh """ & App.Path & "\MyHelp.chm"""

در دستور بالا کافیست بجای عبارت "MyHelp" نام فایل راهنمایتان را جایگزین کنید

موفق باشید

MohammadGh2011
جمعه 16 اردیبهشت 1390, 19:39 عصر
سلام دوست عزيز ممنونم كه منو راهنماييم ميكني
بالا شما گفتين كه به جاي "myhelp" نام فايل خودم رو بنويسم
من اينو با يكي از فايل هاي خود ويندوز كه فرمت (پسوند) ش chm.* بود امتحان كردم و به درستي جواب داد
ولي اون برنامه اي كه گفتم فايل هلپ درست ميكنه من باهاش نميتونم فايل خروجيش رو chm.* بگيرم خروجيش رو exe.* ميده
چگونه ميتونم دستورش رو بدم كه exe كار كنه
واقعا از راهنماييات ممنونم دوست خوب

Mr'Jamshidy
جمعه 16 اردیبهشت 1390, 21:22 عصر
من با برنامه های هلپ ساز کار نکردم اما بنظر من برنامهت رو عوض کن
یا برای برنامه راهنما رو داخل خود برنامه بنویس

به سورس زیر نگاه کن

این سورس فقط جنبه آموزشی داره و بقیه ماجرا مربوط به خود برنامه نویس میشه (یعنی شما)

موفق باشی

محسن واژدی
شنبه 17 اردیبهشت 1390, 22:17 عصر
من اينو با يكي از فايل هاي خود ويندوز كه فرمت (پسوند) ش chm.* بود امتحان كردم و به درستي جواب داد
ولي اون برنامه اي كه گفتم فايل هلپ درست ميكنه من باهاش نميتونم فايل خروجيش رو chm.* بگيرم خروجيش رو exe.* ميده
چگونه ميتونم دستورش رو بدم كه exe كار كنه


سلام علیکم
برای فایل های exe کافیست آدرس فایل راهنمایتان را بصورت معمولی در دستور shell قرار بدین یعنی بصورت زیر:
Shell "C:\my_help.exe"

البته مشکلی نیست راهنمای برنامه تان را با فرمت exe تولید کنید اما پیشنهاد بنده برای نوشتن راهنما اینه که آنرا با برنامه هایی که با فرمت استاندارد chm کامپایل میکنند ایجاد کنید چون یکی از مزیت هایی این نوع فرمت این است که میتوانید با دادن مسیر فایل html موجود در فایل chm مستقیما" به آن شاخه مراجعه کنید برای نمونه اگر در برنامه officeword در فرم خاصی باشید دکمه F1 را فشار داده باشید دیده اید که راهنمای برنامه مستقیما" همان شاخه راهنمای مربوط به این فرم را نشان میدهد

موفق باشید

Mr'Jamshidy
شنبه 17 اردیبهشت 1390, 22:45 عصر
سلام علیکم
برای فایل های exe کافیست آدرس فایل راهنمایتان را بصورت معمولی در دستور shell قرار بدین یعنی بصورت زیر:
Shell "C:\my_help.exe"

البته مشکلی نیست راهنمای برنامه تان را با فرمت exe تولید کنید اما پیشنهاد بنده برای نوشتن راهنما اینه که آنرا با برنامه هایی که با فرمت استاندارد chm کامپایل میکنند ایجاد کنید چون یکی از مزیت هایی این نوع فرمت این است که میتوانید با دادن مسیر فایل html موجود در فایل chm مستقیما" به آن شاخه مراجعه کنید برای نمونه اگر در برنامه officeword در فرم خاصی باشید دکمه F1 را فشار داده باشید دیده اید که راهنمای برنامه مستقیما" همان شاخه راهنمای مربوط به این فرم را نشان میدهد

موفق باشید

خوب دوست من نظر من اینه که یک EXE جدا خودش برای برنامه بنویسه اینطوری هم میتونه مستقیم به تاپیک مورد نظر وصل بشه
مثلا برای اجرای فایل هلپ Shell App.Path& "\Help.exe" و برای اتصال به تاپیک خاص Shell App.Path & "\Help.exe /Topic=12521"

من بخاطر این میگم با فایل اجرایی راهنما هاش رو بسازه به این خاطر که قدرت مانورش بیشتره تا فایل CHM

موفق باشید

MohammadGh2011
شنبه 17 اردیبهشت 1390, 23:00 عصر
دوست خوب واقعا از راهنماييات ممنونم
بله من قبول دارم كه بايد فايل help رو با فرمت Chm ساخت ولي من با اون برنامه و برنامه اي كه تازه دانلود كردم(powerchm) هرچه سعي كردم نتوانستم فرمت chm.* خروجي بگيرم.
يك سوال:
اين دستور كه عرض كرديد فقط در سيستم من قابل اجراست
Shell "C:\my_help.exe"
براي مثال فايل هلپ من كه به فرمت EXE در دسكتاپ من است من با اين دستور توانستم آن را اجرا كنم
Shell "C:\Documents and Settings\Mohammad\Desktop\helpFORME.exe"
اما در سيستم ديگر فايل هلپ به نمايش در نمي آيد
دوست عزيز چگونه ميشود كه در كامپيوتر كاربران ديگر هم فايل هلپ به اجرا درآيد مثل اين كدي كه عرض كرديد

Shell "hh """ & App.Path & "\MyHelp.chm"""


دوست عزيز ممنونم ازت.

Mr'Jamshidy
شنبه 17 اردیبهشت 1390, 23:12 عصر
دوست خوب واقعا از راهنماييات ممنونم
بله من قبول دارم كه بايد فايل help رو با فرمت Chm ساخت ولي من با اون برنامه و برنامه اي كه تازه دانلود كردم(powerchm) هرچه سعي كردم نتوانستم فرمت chm.* خروجي بگيرم.
يك سوال:
اين دستور كه عرض كرديد فقط در سيستم من قابل اجراست
Shell "C:\my_help.exe"
براي مثال فايل هلپ من كه به فرمت EXE در دسكتاپ من است من با اين دستور توانستم آن را اجرا كنم
Shell "C:\Documents and Settings\Mohammad\Desktop\helpFORME.exe"
اما در سيستم ديگر فايل هلپ به نمايش در نمي آيد
دوست عزيز چگونه ميشود كه در كامپيوتر كاربران ديگر هم فايل هلپ به اجرا درآيد مثل اين كدي كه عرض كرديد

Shell "hh """ & App.Path & "\MyHelp.chm"""


دوست عزيز ممنونم ازت.

این آدرسی که من از فایل راهنمای شما میبینم ((Shell "C:\Documents and Settings\Mohammad\Desktop\helpFORME.exe")) انگار که فایل راهنما رو روی دسکتاپ ذخیره کردید فقط 2 راه برای اجرای این فایل راهنما دارید

1 Username کامپیوتر مقصد همه اسمش Mohammad باشه و فایل راهنما هم روی Desktop اون کامپیوتر ذخیره شده باشه و ویندوزش هم در درایو C نصب شده باشه
2 فایل راهنما رو داخل زیرشاخه برنامه بریزید و با فرمان
Shell App.path & "\helpFORME.exe"

اجراش کنید

موفق باشید

MohammadGh2011
شنبه 17 اردیبهشت 1390, 23:19 عصر
دوست عزيز از شماهم ممنونم من اين دستور را

1
Shell App.path & "\helpFORME.exe"



انجام دادم ولي ويژوال بيسيك خطا ميدهد "File not found"

محسن واژدی
شنبه 17 اردیبهشت 1390, 23:57 عصر
اینگونه که فرمودین خطای "Not found" میدهد به احتمال زیاد فایل را در فولدر برنامه قرار نداده اید

همینطور در مورد پست 12 همانگونه که جناب Mr'Jamshidy هم فرمودن بهتر است از مسیرهای پویا بجای یک مسیر ثابت استفاده کنین چبسا که مسیر ثابت تعریف شده در سیستم کاربر مورد نظر وجود نداشته باشد

همچنین یک پیشنهاد دیگر این که بهتر است از دستگیره خطا در ابتدای روال استفاده کنید تا در زمان های بعد که برنامه را کامپایل کرده اید این موضوع (بروز خطاهای مختلف) موجب خروج نابهنگام برنامه تان نشود، البته ممکن است اطلاع داشته باشید اما برای اطمینان بیشتر عرض کردم

موفق باشید