ورود

View Full Version : سوال: مشکل با کد کپی



mahian90
شنبه 29 مرداد 1390, 01:16 صبح
سلام دوستان

درسته تازه واردم ولی خیلی در مورد این موضوع جستجو کردم.

یه سورس کد میزارم بررسی کنید ببینید مشکلش چیه.


این کد رو می خوام طوری بنویسم که فایلی به نام data.mdb رو هر جا که با استفاده از SaveDialog آدرس میدیم کپی کنه.

راستش موقعی که روی backup کلیک میکنم اگه آدرس همون جایی رو که فایل ها هست بدم درست کپی میکنه ولی اگه آدرس دایرکتوری دیگه رو بدم نمیتونه کپی کنه. میشه بگید مشکل از کجاست؟

arkia
شنبه 29 مرداد 1390, 02:05 صبح
سلام دوست عزیز خوش اومدی ، برنامه که مشکل نداره اینم یه نمونه دیگه که تقریبا فرقی باهم ندارند


CopyFile(pchar(ExtractFilePath(Application.ExeName )+'data.mdb'),pchar(SaveDialog1.Filename+'.mdb'),f alse);

hasandrw
شنبه 29 مرداد 1390, 13:40 عصر
اگه بخوام این فایل کپی شده رو دوباره به رو فایل برنامه ام کپی کنم چجوری براش بنویسم؟(یعنی برای بازیابی)

Felony
شنبه 29 مرداد 1390, 14:27 عصر
به جای SaveDialog از openDialog استفاده کنید :

CopyFile(pchar(OpenDialog1.Filename), pchar(ExtractFilePath(Application.ExeName)+'data.m db'), false);

hasandrw
شنبه 29 مرداد 1390, 15:04 عصر
متشکرم از همکاریتون جناب تاجیک
در ضمن اگه نخوام از open dialog و save dialog استفاده کنم.من می خوام بجای این دو کنترل آدرس مکان ذخیره سازی رو در یک لیبل نمایش بدم و بعد با دستور copy file این کار رو انجام بدم.
من امتحانش کردم ولی نتونستم درستش کنم.
اگه میشه راهنمایی کنید.

Felony
شنبه 29 مرداد 1390, 16:40 عصر
کدی که نوشتید رو اینجا قرار بدید .

hasandrw
شنبه 29 مرداد 1390, 17:09 عصر
این کد واسه کپی کردنش نوشتم:
path:=Label1.Caption;
CopyFile(pchar(path+'Data.mdb'),pchar(Pname+'.mdb' ),False);

hasandrw
دوشنبه 31 مرداد 1390, 15:07 عصر
جناب تاجیک اگه یک نیم نگاهی به پست ما هم بندازی خوشحال میشیم.

Felony
دوشنبه 31 مرداد 1390, 15:24 عصر
این کد ناقص هست ، از کجا بدونیم محتوای متغییر pname چی هست ؟ از کجا بدونیم توی Label چه متنی در حال نمایش هست ؟ یه نمونه برنامه که این مشکل رو باهاش دارید قرار بدید .

hasandrw
دوشنبه 31 مرداد 1390, 17:41 عصر
74221
فقط بتونم با این روش فایل رو ذخیره کنم.مهم نیست از Label دخیره بشه یا از جای دیگه.

Felony
دوشنبه 31 مرداد 1390, 18:02 عصر
کدتون رو به صورت زیر تغییر بدید :

var
path: string;
begin
path := Label1.Caption;
CopyFile(pchar(ExtractFilePath(Application.ExeName ) + 'Data.mdb'), pchar(path + 'Data.mdb'), False);
end;

hasandrw
سه شنبه 01 شهریور 1390, 00:26 صبح
استاد تاجیک دنیایی ممنون از همکاریتون.