Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #13  
Старый 10.06.2009, 16:12
paratrooper paratrooper вне форума
Прохожий
 
Регистрация: 23.05.2009
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Имейте ввиду, что когда у вас дойдет дело до обработки Золота, которое занимает 4 байта вам надо будет читать в переменную типа DWord а не Byte, т.е. добавьте в описание переменную D: DWord и чтение золота будет так:
Код:
 Read(SaveFile, D); 

Вопрос первый: ошибка.
Incompatible types: byte and cardinal
Листинг:
Код:
var
  Form1: TForm1;
  f : file of byte;
  b : byte;
  zol : dword;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
 AssignFile(f, 'savegame00.sav');
 FileMode := fmOpenReadWrite;
 Reset(f);
 Seek(f, 186747);
 Read(f, b);
 Seek(f, 186748);
??? Read(f, zol);
 CloseFile(f);
 Edit1.Text := IntToStr(b);
 Edit2.Text := IntToStr(zol);
end; 

Вопрос второй (сделал по-своему): можно ли упростить код? И вопрос вдогонку: что делать, если побайтовый offset на 4 делиться не будет? (186748/4 = 46687, но так может быть не всегда)
Листинг:
Код:
var
  Form1: TForm1;
  f : file of byte;
  b : byte;
  ff : file of cardinal;
  zol : dword;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
 AssignFile(f, 'savegame00.sav');
 FileMode := fmOpenReadWrite;
 Reset(f);
 Seek(f, 186747);
 Read(f, b);
 AssignFile(f, 'savegame00.sav');
 FileMode := fmOpenReadWrite;
 Reset(ff);
 Seek(ff, 46687);
 Read(ff, zol);
 //CloseFile(ff);
 Edit1.Text := IntToStr(b);
 Edit2.Text := IntToStr(zol);
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025