Род Стивенс

Книги → Delphi. Готовые алгоритмы → Глава 13. Объектно-ориентированные методы

begin

Result := Format ('%d;%d;%d;%d;1,[xl,yl,x2,y2]);

end;

procedure TBox.SetSerialization(txt : String);

var

posl : Integer;

begin

posl := Pos(1;1,txt);

xl := StrToInt(Copy(txt,1,posl - 1)) ;

txt := Copy(txt,posl + 1,Length(txt - posl));

posl := Pos(1;1,txt);

yl ;= StrToInt(Copy(txt,l,posl - 1));

txt := Copy(txt,posl + 1,Length(txt - posl));

posl : = Pos(';1,txt) ;

x2 := StrToInt(Copy(txt,l,posl - 1));

txt := Copy(txt,posl + l,Length(txt - posl));

posl := Pos(';',txt);

у 2 := StrToInt(Copy(tXt,l,posl 1));

txt := Copy(txt,posl + 1,Length(txt - posl));

end;

Этот метод относительно простой, но не очень гибкий. В процессе развития программы изменения в структуре объекта заставят вас преобразовывать все пред­варительно сохраненные сериализации. Если объекты сохранены в файлах или базах данных, потребуется написать программы преобразования, чтобы считать старые данные и сохранить их в новом формате.

Более гибкий метод состоит в том, чтобы сохранять имена элементов данных объекта вместе с их значениями. Когда объект читает данные, преобразованные в последовательную форму, он использует имена элементов для определения зна­чений, которые следует установить. Если впоследствии будут добавлены или уда­лены элементы из описания объекта, то не придется преобразовывать старые дан­ные. Когда новый объект считывает старые данные, он просто игнорирует все значения, которые не поддерживает.

Определяя значения элементов по умолчанию, иногда можно уменьшить раз­мер сериализованных объектов. Процедура свойств Serialization сохраняет только элементы со значениями, которые отличаются от значений по умолчанию. Перед тем, как начать сериализацию, процедура Set Serialization устанавли­вает значения элементов всего объекта по умолчанию. Эти значения обновляются, когда процедура обрабатывает сериализованные данные.

Программа Serial использует этот метод сохранения и восстановления изоб­ражения, содержащего эллипсы, линии и прямоугольники. Следующий код демон­стрирует процедуры свойств сериализации объекта TDrawingCommand. Процедура

← предыдущая следующая →

Страницы раздела: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.