PDA

View Full Version : کپی برنامه در هرجا که بخواهید



parhizkar2000
جمعه 16 اردیبهشت 1384, 00:31 صبح
با اضافه کردن خطوط زیر در ابتدای برنامه بانک اطلاعاتی می توانید برنامه وبانکها را در هرکجا که می خواهید کپی کنید و برنامه بدرستی کار کند

database1.Connected:=False;
database1.Directory:=copy(Application.ExeName,1,le ngth(Application.ExeName)-10)+'data'; Application.Run;
database1.Connected:=true;عدد 10 در دستورات بالا تعداد کاراکترهای نام برنامه +پسوند می باشد
مثلا نام برنامه اجرای اگر Test.exe باشد بجای 10 عدد 8 را می نویسیم.
ضمنا چنانچه فیلهای بانک اطلاعاتی در مسیر برنامه + فولدر dataباشند . البته هر کس به دلخواه می تواند مسیر را جابجا کند

parhizkar2000
یک شنبه 18 اردیبهشت 1384, 21:53 عصر
کسی در این مورد نظری نداره

hr110
دوشنبه 19 اردیبهشت 1384, 07:11 صبح
از تلاش مفید شما سپاسگذارم،
ولی اینطور هم شاید بتوان آنرا عنوان نمود:


var
F: Boolean;
begin
F:=Database1.Connected;
if F then Database1.Close;
Database1.DatabaseName:='c:\data';
// Database1.DatabaseName:=ExtractFilePath(Applicatio n.ExeName);
if F then Database1.Open;
end;

در صورتی که فایلها یا بالصطلاح بانک اطلاعاتی شما در مسیر جاری برنامه نباشد، میتوانید از این کد استفاده کنید ولی اگر فایل اجرایی و بانک اطلاعات در یک مسیر بود بخشی از کد که بلاک شده است باید با خط بالایی جابجا شود.

البته روش دوم زیاد جالب نیست، چرا که ممکن است شما در طول استفاده از برنامه به کاربر اجازه داده باشید که مثلاً تصاویر و یا فایلی را بروی کامپیوتر خود ذخیره کرده و یا لود کند ، به این شکل مسیر جاری که برنامه با آن کار میکند تغییر کرده و با استفاده از GetDir دیگر مسیر قبلی به شما برگردانده نخواهد شد (و مسیری که کاربر به آن رفته است برگشت داده خواهد شد)

hr110
دوشنبه 19 اردیبهشت 1384, 07:16 صبح
بنابراین توصیه این حقیر اینست که شما در ابتدای برنامه خود مسیر جاری یا همان مسیر Application.ExeName را در یک متغییر سراسری قرار داده و در طول برنامه از این متغییر استفاده کنید و در مکانهایی که لازم است فایلهای جاری را لود کنید با استفاده از دستور SetCurrentDir مسیر جاری را تغییر دهید. به عنوان مثال من در برخی از نرم افزارها مشاهده میشود که بعد از تغییر مسیر و یا ذخیره کردن یک فایل در ریشه درایو C راهنمای نرم افزار از کار می افتد و مشخص است که برنامه نویس محترم همواره با استفاده از دستور GetCurrentDir مسیر فایلهای راهنما را لود مینماید :wise2:

parhizkar2000
دوشنبه 19 اردیبهشت 1384, 22:55 عصر
ضمن تشکر
خیلی خیلی جالب بود . سپاسگزارم .کمک مفیدی بود

Mahdi-563
یک شنبه 08 خرداد 1384, 00:42 صبح
ضمن تشکر و خسته نباشد

ممنونم