View Full Version : خواندن اطلاعات از روی سی دی
farideh_en
چهارشنبه 21 آذر 1386, 10:08 صبح
با سلام.
من برنامه ای که نوشتم باید خود برنامه و همه فایل ها (مثل فایل صوتی,word,pdf)از روی cd اجرا بشه حالا می خواستم بدونم که چطور میشه مسیر فایل ها طوری رو تعیین کرد که رو همه سیستم ها جواب بده چون اسم داریو سی دی تو همه سیستم ها یکی نیست.
DAMAVAND
چهارشنبه 21 آذر 1386, 22:03 عصر
با سلام.
من برنامه ای که نوشتم باید خود برنامه و همه فایل ها (مثل فایل صوتی,word,pdf)از روی cd اجرا بشه حالا می خواستم بدونم که چطور میشه مسیر فایل ها طوری رو تعیین کرد که رو همه سیستم ها جواب بده چون اسم داریو سی دی تو همه سیستم ها یکی نیست.
/////////////////////////////////////////////////////////
شمااول باید مسیر فایل اجرایی رو بدست بیارید
مثالا این جوری میتونید درایوی که فایل اجرایتون توش قرار
داره رو بدست بیارید وقتی که درایو رو بدست اوردیدبقیش کاری نداره مثلا یه فایل Word دارید روی CD بنام help.doc بعد از بدست اوردن درایو شما میتونی این فایلرو ادرس دهی کنی مثلا :
j:\help.doc
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption:=ExtractFileDrive(Application.ExeName);
end;
end.
farideh_en
پنج شنبه 22 آذر 1386, 13:27 عصر
با سلام
ممنون از پاسختون ولی فایل اجرایی هم روی سی دی باید اجرا بشه یعنی می خوایم که همه چی حتی خود exe برنامه هم از روی cd اجرا بشه
vcldeveloper
پنج شنبه 22 آذر 1386, 17:40 عصر
فایل اجرایی هم روی سی دی باید اجرا بشه یعنی می خوایم که همه چی حتی خود exe برنامه هم از روی cd اجرا بشه
فرقی نمیکنه. وقتی مسیر فایل اجرایی را با استفاده از Application.ExeName بدست آوردید، آدرس فایل ها و پوشه های دیگر موجود بر روی CD را می توانید نسبت به آدرس فایل اجرایی بدست بیارید.
پست شماره 2 را با دقت بیشتری بخوانید.
farideh_en
یک شنبه 25 آذر 1386, 10:56 صبح
سلام
ممنون آقای کشاورز من این کد اجرا کردم ولی هیچ مسیری نمیده
ShowMessage(ExtractFilePath('Project1.exe '));
Cave_Man
یک شنبه 25 آذر 1386, 12:18 عصر
ShowMessage(ExtractFilePath(Application.ExeName));
farideh_en
یک شنبه 25 آذر 1386, 12:33 عصر
نمی دونم شاید من درست مشکلمو نگفتم.
هیچکدوم از این کدا مسیر برنامه را نمیدن.من می خوام رو هر سیستم که برنامه اجرا میشه اسم آن داریو cd رو بده.
farideh_en
یک شنبه 25 آذر 1386, 12:53 عصر
کد قسمت پایینو ببینین.
DAMAVAND
یک شنبه 25 آذر 1386, 20:20 عصر
ممنون از همه دوستان بالاخره با این کد جواب گرفتم
var
Dir : String;
begin
Dir := GetCurrentDir;
ShowMessage(ExtractFileDrive(Dir));
ShowMessage(ExtractFileDir(Dir));
ShowMessage(ExtractFileName(Dir));
ShowMessage(ExtractFileExt(Dir));
ShowMessage(ExtractFilePath(Dir));
ShowMessage(ExtractShortPathName(Dir));
اصلا کدی که من یا اقای کشاورز گفته بودیم رو دیدید?????????????
کد توی Caption فرمتون نشون داده میشه !!!!!!!
اخطار !!!!!!!!!!!
در ضمن کدی که نوشتید همیشه کار نمیکنه چرا???????!!!!!!!!!!!!
تابع GetCurrentDir همیشه مسیر برنامه شما رو بر نمیگردونه !
اگه برنامه شما یا هر برنامه دیگه ای مسیر CurrentDir تغییر بده دیگه مسیر برنمتون رو نشون نمیده !
باید از همون Application.ExeName استفاده کنید.
اگه میخواهید برنامتون همه جا درست اجرا بشه !!!!!!!!
مثالی که نوشتم ب خوبی بهتون نشون میده !
یک عکس از با استفاه از دگمه Load انتخاب کنید بعدش دگمه GetCurrentDir بزنید .
عکس توی یه درایو یا پوشه دیگه باشه.
میبینید که مسیر عکسرو بر میگردونه نه برنامه شما !!!!!!!
ولی دگمه سوم همیشه مسیر صحیح برنامتون رو بر میگردونه !!!!!!!
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.