PDA

View Full Version : راهنمایی در رابطه با کپی یک فایل



delphi_63102
جمعه 27 خرداد 1384, 19:51 عصر
با سلام
من میخوام یک فایل رو بصورت خط به خط بخونم و در یک فایل دیگر کپی نمایم
سورس برنامه :


procedure TForm1.Button1Click(Sender: TObject);
var
F1, F2: TextFile;
Ch: String;
begin
AssignFile(F1, 'g:\test\dbank.mdb');
Reset(F1);
AssignFile(F2, 'g:\test\dbank1.mdb');
Rewrite(F2);
while not Eof(F1) do
begin
Readln(F1, Ch);
Writeln(F2, Ch);
end;
CloseFile(F2);
CloseFile(F1);
end;

اما نمیدونم چرا فایل رو کامل نمیخونه و فایل جدید درست تشکیل نمیشه
ممنون میشم اگر راهنمایی نمائید.

m-khorsandi
شنبه 28 خرداد 1384, 07:41 صبح
درود

شما فقط هدفتون این هست که فایل رو جای دیگری کپی کنید یا نه؟

Ali_Hashemi
شنبه 28 خرداد 1384, 08:05 صبح
سلام
آقای 63102 این کد شما درست نیست. یعنی لازم نیست یک فایل که text نیست رو به صورت یک فایل text باز کنید.

در یک فایلی که text نیست خط هیچ مفهومی نداره !

شما باید فایل رو به صورت بدون نوع باز کنی (دستور reset) و اون رو بلوک ، بلوک بخونی و در فایل دیگه بریزی.
با دستورات blockread و blockwrite . اندازه هر بلوک (بر حسب بایت) هم خودت میتونی تنظیم کنی.
پیش فرض اون 512 است که در نظر گرفته میشه .

اگر بگی چه منظوری از این کار داری شاید بهتر بشه شما رو راهنمایی کرد.
(به نظر میاد یه پروژه ای چیزی برای درس ذخیره و بازیابی باشه ! )

m-khorsandi
شنبه 28 خرداد 1384, 08:36 صبح
موردی که دوستمون علی هاشمی گفتن کاملا صحیح هست ،
اما اگه هدف فقط کپی کردن فایل هست روش دیگری هم وجود دارد.

delphi_63102
شنبه 28 خرداد 1384, 16:55 عصر
با تشکر از دوستان
منظور من کپی فایل نیست من میخوام ساختار یک فایل رو خراب کنم و در برنامه ام اون رو به شکل اصلی برگردونم به جهت حفاظت از داده ها. توضیح بیشتر انکه من یک بانک اکسس دارم و میخوام کسی نتونه اون رو باز کنه چون اطلاعاتش برام خیلی مهمه و تنها راه عملی که دیدم تغییر در ساختار فایل بود چون گذاشتن پسورد روی فایل تنها کافی نیست و راحت میشه پسورد رو فهمید حالا که کل قضیه روشن شد ممنون میشم اگه راه حل کاملی دارید بگید
بازهم از شما متشکرم.

m-khorsandi
یک شنبه 29 خرداد 1384, 07:50 صبح
این لینک میتونه کمکت کنه:

http://www.swissdelphicenter.com/en/showcode.php?id=1629