PDA

View Full Version : سوال: سازگاری آدرس فایل متنی با توجه به محل نصب exe



alone boy.dhl
یک شنبه 29 اسفند 1389, 12:19 عصر
درود من تو تاپیک قبلی که داده بودم یه جواب گرفتم ولی درست نبود
من یه برنامه نوشتم و اونو به EXE تبدیل کردم
برای اون EXE ستاپ ساختم (با installshield 2009) حالا میخوام کاربر های دیگه هر جایی که فایل رو نصب می کنند آدرس فایل های متنی این برنامه با توجه به اون آدرس تغییر کنه.
چطوری سورسش رو بنویسم
به طور مثال الان برنامه اینطوریه:
open "c:\mysoft\directory\count" for input as#1
input#1,s
close#1

حالا کاربر ممکنه تو کامپیوتر خودش درایو رو عوض کنه اونوقت برنامه ارور میده
یه راه هست که اونو نمی خوام برم اینکه به کاربر اجازه ندم درایو رو عوض کنه ولی نمی خوام چون شاید نخواد تو درایو c باشه
ممنون میشم اگه سریع جواب بدید

M.T.P
یک شنبه 29 اسفند 1389, 12:23 عصر
از App.Path استفاده کن.
از هرجایی که برنامه شما اجرا بشه App.path مسیر اجرای فایل اجرایی شما رو برمیگردونه.

alone boy.dhl
یک شنبه 29 اسفند 1389, 12:28 عصر
نه دیگه این جواب رو قبلا داده بودن ولی این کد فقط برای محل سیو برنامه کار میکنه نه برای EXE فایل (فکرکنم)

محسن واژدی
یک شنبه 29 اسفند 1389, 14:45 عصر
نه دیگه این جواب رو قبلا داده بودن ولی این کد فقط برای محل سیو برنامه کار میکنه نه برای EXE فایل (فکرکنم)

سلام علیکم
تابع App.path (Application Path) مسیر فایل اجرایی را برمیگرداند و هیچ وابستگی به محل سورس برنامه ندارد به عبارتی در زمان نوشتن برنامه ، مسیر سورس و در زمان کامپایل مسیر فایل exe برنامه را برمیگرداند؛ برای حل مشکلتان هم از این تابع App.path یا تابع CurDir استفاده کنید که البته تابع اول بهترین پیشنهاد است (CurDir قابل تغییر است)

موفق باشید
یاعلی

knight-rak
سه شنبه 02 فروردین 1390, 16:10 عصر
نه دیگه این جواب رو قبلا داده بودن ولی این کد فقط برای محل سیو برنامه کار میکنه نه برای EXE فایل (فکرکنم)

سلام
دوست عزیز منظور شما چی هست که میگید برای سیو کار میکنه و برای EXE نه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

شما چی مد نظرتون هست که میگید این تابع جواب نمیده ؟؟؟؟!!!!!!!!!!!!!!!!!!

دوستان همگی درست گفتن تابع App.Path آدرس محل فایل EXE رو برمیگردونه | حالا مشکل شما این وسط چی هست معلوم نیست

موفق باشید ....