PDA

View Full Version : اجرای برنامه از روی CD



مجتبی جوادی
سه شنبه 19 تیر 1386, 14:40 عصر
دوستان سلام
من با دلفی و بانک پارادکس یک برنامه آلبوم CD نوشته ام . حال می خواهم برنامه من از روی Cd اجرا شده و جداول اطلاعاتی آن روی هارد باشد . لطفا توضیح دهید چگونه باید این عمل را انجام دهم در صورتی که Cd برای اولین با در یک کامپیوتر قرار گرفته است . یعنی باید ابتدا بانک روی هارد دیسک بطور اتوماتیک کپی شده و بعد از طریق برناهم CD اطلاعات آن وارد شود
امید وارم توانسته باشم منظورم را برسانم
با تشکر

Batman
سه شنبه 19 تیر 1386, 19:53 عصر
دوست عزیز اول اینکه شما زمانیکه cd رو داخل cd_rom قرار میدید به طور اتوماتیک نمیشه فایلها رو کپی کرد شما حتما باید یه بار برنامه رو از روی cd اجرا کنید و بعد بقیه عملیات
دستورهای زیر هم باید استفاده شود
getcurrentdir
copyfile
البته کار یکمی گسترده است
اگه مایل بودی آدرس email رو بده تا بیشتر توضیح بدم
موفق باشی

SYNDROME
سه شنبه 19 تیر 1386, 20:19 عصر
با سلام

دوستان سلام
من با دلفی و بانک پارادکس یک برنامه آلبوم CD نوشته ام . حال می خواهم برنامه من از روی Cd اجرا شده و جداول اطلاعاتی آن روی هارد باشد . لطفا توضیح دهید چگونه باید این عمل را انجام دهم در صورتی که Cd برای اولین با در یک کامپیوتر قرار گرفته است . یعنی باید ابتدا بانک روی هارد دیسک بطور اتوماتیک کپی شده و بعد از طریق برناهم CD اطلاعات آن وارد شود
امید وارم توانسته باشم منظورم را برسانم
با تشکر
شما در زمان اجرا برنامه چک می کنید و می بینید اگر بانک بر روی هارد کپی نشده است آن را کپی می کنید و سپس مسیر اجرای برنامه را به مسیر CDRom چک می کنید که اکر یکی بود آن وقت برنامه اجرا می شود.
برای به دست اوردن مسیر CDRom و مسیر اجرای برنامه در سایت جستجو کنید.البته مسیر اجرای برنامه را دوستمان در بالا اشاره کرده است.
موفق باشید

مجتبی جوادی
سه شنبه 19 تیر 1386, 23:37 عصر
دوستان با تشکر از لطف شما
منظور من هم همین بود که وقتی CD در CDRom قرار می گیرد ابتدا برای اولین بار با یک برنامه نصب ، فایهای بانک نصب شوند . اما اگر ممکن است درباره کدهای مربوطه و ترجیحا اگر امکان دارد با یک مثال ساده بیشتر توضیح دهید ممنون می شوم
با تشکر از لطف شما

arshia_
چهارشنبه 20 تیر 1386, 08:25 صبح
اول یه مسیر رو در نظر بگیر تا بانک اونجا کپی بشه مثلا c:\temp
حالا چک کن ببین وجود داره یا نه؟
مثال
The following example creates a directory ‘C:\temp’ if it does not already exist.
uses FileCtrl;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not DirectoryExists('c:\temp') then
if not CreateDir('C:\temp') then
raise Exception.Create('Cannot create c:\temp');
end;
حالا با فرمان fileexist(path+filename) وجود بانک رو در مسیر بررسی کن
مثال:
The following code prompts for confirmation before deleting a file:
if FileExists(FileName) then
if MessageDlg('Do you really want to delete ' + ExtractFileName(FileName) + '?'), mtConfirmation, [mbYes, mbNo], 0, mbNo) = IDYes then
DeleteFile(FileName);



اگر جواب مثبت بود که هیچ وگرنه بانک رو کپی کن در مسیر مورد نظر با فرمان copyfile ‌می تونی این کار رو انجام بدی
function CopyFile(lpExistingFileName, lpNewFileName: PChar; bFailIfExists: BOOL): BOOL; stdcall;
{$EXTERNALSYM CopyFile}


حالا نوبت تنظیمات بانک و اتصالات اون هست که باید انجام بشه از جمله مسیر و نوع واسم بانک
باز کردن بانک و ....

مجتبی جوادی
چهارشنبه 20 تیر 1386, 23:06 عصر
آقای ارشیا سلام
ممنون از لطف شما
می خواستم بدانم ما باید جداول بانک را در پوشه و مسیر ثابتی ایجاد کنیم مثلا(C:\Ttmp) و وقتی از روی CD جداول را در آن پشه کپی می کنیم با توجه به آنکه موقع طراحی هم در همان مسیر و پوشه بوده اند ، ارتباط برقرار می شود و یا اینکه در هر مسیری که دلمان بخواهد می توانیم جداول را کپی کنیم .
میشه با یک مثال ساده و کوچک آن را برایم بیشتر توضیح بدهید تا من آن مثال را در CD رایت کرده و امتحان کنم .
با تشکر از لطف شما

SYNDROME
پنج شنبه 21 تیر 1386, 14:05 عصر
با سلام

آقای ارشیا سلام
ممنون از لطف شما
می خواستم بدانم ما باید جداول بانک را در پوشه و مسیر ثابتی ایجاد کنیم مثلا(C:\Ttmp) و وقتی از روی CD جداول را در آن پشه کپی می کنیم با توجه به آنکه موقع طراحی هم در همان مسیر و پوشه بوده اند ، ارتباط برقرار می شود و یا اینکه در هر مسیری که دلمان بخواهد می توانیم جداول را کپی کنیم .
میشه با یک مثال ساده و کوچک آن را برایم بیشتر توضیح بدهید تا من آن مثال را در CD رایت کرده و امتحان کنم .
با تشکر از لطف شما
بهتر است در زمان کپی مسیر را از کاربر بپرسید.
ممکن است در مسیری که شما پیش فرض قرار می دهید امکان کپی فایل نباشد.
موفق باشید