PDA

نسخه کامل مشاهده نسخه کامل : كپي شدن برنامه اجرا شده در مسير دلخواه به محض اجرا



*Batman*
07-01-2006, 17:21
سلام
لطفا به من در انجام عمل زير كمك كنيد
كپي شدن برنامه اجرا شده در مسير دلخواه به محض اجرا


يعني تا فايلexe اجرا ميشه يه كپي از اون در جايي كه ما قبلا تو برنامه مشخص كرديم ايجاد بشه.
يه جورايي همون مسير يابي فايل در حال اجرا.(فايل Exe)
با تشكر

Payman_62
08-01-2006, 01:17
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تکنیک برتر
08-01-2006, 06:50
سلام
عزیز جان من قبلا گفتم شما دستور کپی پیست را بنویس .
و کد اصلی را در فورم لود بزار تا برنامه اجرا شد دستورات کپی اجر شود.

تکنیک برتر
08-01-2006, 06:51
سلام
عزیز جان من قبلا گفتم شما دستور کپی پیست را بنویس .
و کد اصلی را در فورم لود بزار تا برنامه اجرا شد دستورات کپی اجر شود.
ممنون

*Batman*
08-01-2006, 07:09
آقا پيمان درباره كد ها يه توضيح مختصر بده.(مخصوصا نحوه تعيين آدرس)
تكنيك برتر شما پيغام خصوصي داريد.
ممنون

Payman_62
08-01-2006, 17:59
ببين اين كد آدرس فايل همراه اسم خود فايل رو ميريزه تو متغير Address

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یعنی مثلا اگه فایل به اسم p.exe تو درایو c باشه محتویات Address میشه "C:\p.exe"
بقیشم بلدی دیگه با filecopy تو مسیر جدید با اسم جدید کپی میشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یه کپی از فایل اجراییت به اسم t.exe میره تو درایو D

اینم کل دستورات

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

bithiah
09-01-2006, 00:38
با تشکر از آقا پیمان بخاطر راهنماییشون،
کدی که ایشون گذاشتند کاملا درسته. فقط می خوام یه نکته رو یادآوری کنم؛ وقتی فایل exe برنامه رو برای بار اول اجرا کنیم، یک کپی از همون برنامه در مسیری که در دستور FileCopy مشخص کردیم، کپی می شه. حالا چون این دو فایل عینا مثل همه، پس اگه فایلی رو که جدیدا ایجاد شده(بدون تغییر نامش) اجرا کنیم، باز هم برنامه سعی می کنه فایلی به همون نام رو درون مسیر خودش ایجاد کنه، که این منجر به خطا می شه. با کمی تغییر می شه این خطا رو هندل کرد_من برای مشخص شدن مطلب یه MessageBox گذاشتم، در قسمت گرفتن خطا هر دستوری که دوست دارین می تونین بذارین_:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

*Batman*
09-01-2006, 05:44
از همه شما عزيزان متشكرم.
واقعا استفاده كردم.
فقط دستور MsgBox "The File Existed!" رو به خاطر پيغام هاي مكرر حذف كردم.
البته اگه اشكالي نداره؟

*Batman*
09-01-2006, 10:37
سلام
ببينيد دوستان من ميخوام در دستور File copy از يه متغير به جاي آدرس استفاده كنم ولي نميشه.(يعني ترتيب اثر نميده.



Full_Path="c:\ppc.exe
FileCopy Address, Full_Path

با اين فرض كه Full_path از نوع String باشه.

Payman_62
09-01-2006, 15:18
روشت كه مشكلي نداره من حتي تست هم كردم و كپي شد شايد فايلت با همون اسم تو همون مسيره
filecopy اجرا میشه یا به error بر میخوره و ردش میکنه؟

blackroos
09-01-2006, 20:03
سلام عزيزان
ببخشيد مي خواستم بدونم که اگر بخواهيم فايلمون در همه ي درايو هاي موجود کپي بشه چکار بايد بکنيم . منظورم اينکه تو همه ي درايو هاي که داريم .

Payman_62
10-01-2006, 01:14
سلام عزيزان
ببخشيد مي خواستم بدونم که اگر بخواهيم فايلمون در همه ي درايو هاي موجود کپي بشه چکار بايد بکنيم . منظورم اينکه تو همه ي درايو هاي که داريم .
خوب filecopy رو چند بار واسه همه درایو ها بنویس دیگه
البته توابعی هستند که همه درایوهای موجود رو شناسایی میکنه (حتی cdrom , writer, fllopy,removable ) و به ترتیب اونارو میریزه تو یه آرایه و شما میتونی از اون آرایه تو یه حلقه for برای کپی فایل در همه درایوها استفاده کنی اینجوری کد نویسیت خلاصه تر و کلی تر میشه و برنامت تو هر سیستمی جواب میده

*Batman*
10-01-2006, 08:48
روشت كه مشكلي نداره من حتي تست هم كردم و كپي شد شايد فايلت با همون اسم تو همون مسيره
filecopy اجرا میشه یا به error بر میخوره و ردش میکنه؟


برنامه بدون خطا اجرا ميشه.ولي كار نميكنه.(يعني فايل در مسيري كه به Full_path تخصيص داديم كپي نميشه) :sad:

blackroos
10-01-2006, 09:48
عزيزان خوب وقتي که از filecopy استفاده مي کنيم اگر درايو مشخص شده موجود نباشه برنامه با خطا مواجه مي شه . براي اينکه با خطا مواجه نشم بايد چي کار کنم اگر مي شه با يک کد توضيح بدين .

Payman_62
10-01-2006, 16:46
برنامه بدون خطا اجرا ميشه.ولي كار نميكنه.(يعني فايل در مسيري كه به Full_path تخصيص داديم كپي نميشه) :sad:
ببین به نظر من اون قسمت که بیتا گفت اضافه کنی که خطا رو رد کنه رو موقتا حذف کن تا بفهمی مشکلت از کجاست
اگه به جای متغیر full_path مثلا بذاری "C:\a.txt" کپی میشه؟ آخه فایل kernel32 تو ورژن های مختلف وبندوز یه تفاوت های کوچیک با هم دارن شاید مال تو این تابع رو نداشته باشه


عزيزان خوب وقتي که از filecopy استفاده مي کنيم اگر درايو مشخص شده موجود نباشه برنامه با خطا مواجه مي شه . براي اينکه با خطا مواجه نشم بايد چي کار کنم اگر مي شه با يک کد توضيح بدين .
برای رد کردن خطا بیتا گفت چی کار کنی ولی اگه قرار باشه دستور filecopy برای همه درایوها اجرا بشه ممکنه کار گره بخوره بهتره برای این که برنامت مطمن باشه و فقط تو درایوهای موجود کپی کنی و سر cd rom و فلاپی گیر نکنه از این دستورات استفاده کنی آدرس فایلو پیدا میکنه درایوهاتو شناسایی میکنه و فایلتو تو درایوهایی که امکان کپی وجود داشته باشه کپی میکنه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید