Новые книги

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

Книга рассказывает об истории возникновения и развития технологий компьютерных вирусов, их разновидностях, внутренней архитектуре, способах распространения и принципах действия. Книга позволит читателям познакомиться с таинственным теневым миром киберпреступности, представители которого ежедневно осуществляют атаки на компьютеры простых пользователей по всему миру.
Книга развивает идеи, изложенные автором в статье, опубликованной в «Harvard Business Review» и получившей престижную премию компании McKinsey за прикладной характер и новаторское мышление в сфере бизнеса и управления. Джон Коттер призывает организации к созданию комбинированной системы управления, сочетающей проверенную временем, надежную и эффективную иерархическую организационную структуру с гибкой и динамичной сетевой структурой, схожей с устройством начинающей компании (стартапа). По мнению автора, комбинированная система управления предоставляет крупным, зрелым компаниям ключевой инструмент для того, чтобы соответствовать требованиям быстро меняющейся среды.

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

Передвижение формуляра


Как сделать возможным передвижение формы если пользователь щелкнул в форму вне пространства заголовка?

В следующем примере показано как можно передвигать форму если пользователь "захватил" Client-пространство. Наиболее простое решение - "обмануть" Windows и Client-пространство выдать за заголовок окна.

unit DragMain;

interface

uses
  SysUtils, WinTypes, WinProcs,  Messages,
  Classes, Graphics, Controls, Forms, Dialogs, StdCrtls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure ButtonClick(Sender: TObject);
  private	
    procedure WMNCHitTest(var M: TWMNCHitTest);
                 message wm_NCCHitTest;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1. WMNCHitTest(var M: TWMNCHitTest); 

begin
  inherited;
  if M.Result = htClient then
    M.Result := htCaption;
end;


procedure TForm1.Button1Click(Sender: TObject);

begin
  Close;
end;

end.


Оглавление