Новые книги

Вы придумали совершенно новый продукт и хотите немедленно выйти с ним на рынок? Сначала посмотрите на свой проект глазами первого маркетолога-евангелиста Apple, а ныне известного бизнесмена и венчурного инвестора Гая Кавасаки. Взгляд человека, который мгновенно отличает перспективный проект от неперспективного, позволит найти ошибки в вашем бизнес-плане и его реализации. В этой книге вы найдете советы, как планировать бизнес, кого брать в партнеры, как привлекать внешние инвестиции, каких сотрудников нанимать и как правильно увольнять, как строить маркетинг и многое другое.

Это наиболее полная книга Гая Кавасаки на данную тему.
Время энтузиастов-одиночек, создававших компьютерные вирусы на заре информационной эпохи, давно прошло: в наши дни разработкой и распространением вредоносных программ занимаются хорошо организованные преступные группировки, имеющие жесткую иерархию и напоминающие по своей структуре настоящие мафиозные кланы. Объем этого подпольного рынка составляет сотни миллионов долларов.

Книга рассказывает об истории возникновения и развития технологий компьютерных вирусов, их разновидностях, внутренней архитектуре, способах распространения и принципах действия. Книга позволит читателям познакомиться с таинственным теневым миром киберпреступности, представители которого ежедневно осуществляют атаки на компьютеры простых пользователей по всему миру.

Как скрыть свойства объекта?




Как скрыть свойства объекта?

В иерархии VCL в большинстве случаев существует уровень объектов-"предшественников" (TCustomXXXX), в которых многие свойства скрыты. Для унаследованных от таких "предшественников" объектов можно "открывать" на выбор те или иные свойства. А как можно сокрыть свойства, которые объявлены в published-области от Object Inspector'а, но при этом оставить возможность доступа во время работы программы? Решение состоит в объявлении свойства "по новой" в public-области. В примере скрытым будет у объекта TMyControl свойство Height.
TMyControl = class(TWinControl)
protected
  procedure SetHeight(Value: Integer);
  function GetHeight: Integer;
public
  property Height: Integer read GetHeight write SetHeight;
end;

procedure TMyControl.SetHeight(Value: Integer);
begin
  inherited Height := Value;
end;

function TMyControl.GetHeight;
begin
  Result := inherited Height;
end;


Оглавление