خواندن و نوشتن یک بایت در فایل
سلام
میخواستم در ذخیره یک بازی (Motoracing)تقلب کنم شماره مرحله اش رو تغییر بدم.دیدم بلد نیستم.در فایل کارکتر صفر زیاد بود و من همیشه از روش خوندن رشته استفاده می کردم.
ممکنه کسی کدی بذاره برای خوندن بایت شماره مثلا 25 و یه کد هم برای نوشتن این بایت. همینطور برای خوندن و نوشتن رشته و یا integer در بایت خاص از فایل؟
نقل قول: خواندن و نوشتن یک بایت در فایل
سلام
خوندن و نوشتن فایل روشهای مختلفی داره، با استفاده از فایل استریم می تونید همه کار کنید.
اما اگر بخواهید مثلا رکوردی بخونید، یا عددی، می تونید نوع فایل رو جای TextFile بگذارید File of Integer یا هر چیز دیگه ای.
این روش قدیمیه، همون استریم کار کنید مسلط بشید خیلی خیلی بهتره.
نقل قول: خواندن و نوشتن یک بایت در فایل
می دونم قانون اینه که تکلیف انجام ندید ولی ببخشید اشکال نداره درخواست کنم خوندن یک بایت یا عدد رو با فایل استریم برام تابع بنویسید؟مثلا با پارامتر ورودی اسم فایل و شماره بایت و خروجی Char یا Integer ؟
نقل قول: خواندن و نوشتن یک بایت در فایل
با این تابع شما می گی از کدوم بایت تا کدوم بایت رو می خوای:
function ReadBytesFromFile(FileName: string; FromByte, ToByte: integer): TByteArray;
var
FS: TFileStream;
begin
try
FS := TFileStream.Create(FileName, fmOpenRead);
FS.Seek(FromByte -1, soBeginning);
FS.Read(Result, ToByte -FromByte +1);
finally
FS.Free;
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
var
b: TByteArray;
frombyte, tobyte, len: integer;
begin
frombyte := 2;
tobyte := 5;
len := tobyte -frombyte +1;
b := ReadBytesFromFile('e:\somefile', frombyte, tobyte);
// b is from 0 to len -1 of byte
end;