Читаем Delphi полностью

 Screen1.Hide; //скрываем рисунок

end;

Для сохранения рисунка будем использовать диалоговое окно. Код нажатия кнопки Сохранить:

procedure TForm1.Button2Click(Sender: TObject);

begin

 if SaveDialog1.Execute then

  BMP1.SaveToFile(SaveDialog1.FileName)//сохраняем рисунок

 else ShowMessage('Файл не был сохранен!');

end;

Здесь мы проверяем, выбрал ли пользователь место сохранения файла. Если да, то сохраняем рисунок по указанному расположению.

Откомпилируем и запустим программу на выполнение (результат — на рис. 4.2).

Рис. 4.2. Программа ScreenShot в действии

<p>Полный исходный код модуля</p>

Полный исходный код модуля программы ScreenShot представлен в листинге 4.1.

Листинг 4.1. Модуль программы ScreenShot

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Registry, WinProcs, jpeg;

type TForm1 = class(TForm)

 Button1: TButton;

 Button2: TButton;

 Screen1: TImage;

 SaveDialog1: TSaveDialog;

 Button3: TButton;

 Button4: TButton;

 procedure Button1Click(Sender: TObject);

 procedure Button2Click(Sender: TObject);

 procedure Button3Click(Sender: TObject);

 procedure Button4Click(Sender: TObject);

private

 { Private declarations }

public

 { Public declarations }

end;

var

 Form1: TForm1; //главная форма

 ВМР1: Graphics.TBitmap; //для работы с рисунками (* .bmp)

 DC1: HDC; //простое поле для графики

 Image1: TImage;

implementation

{$R *.dfm}

procedure TForm1.ButtonlClick(Sender: TObject);

begin

 Form1.Visible:= False; //прячем форму

 Sleep(15);//пауза 15 мс

 BMP1:= Graphics.TBitmap.Create;

 //задаем размеры рисунка такие же как размеры экрана

 ВМР1.Height:= Screen.Height;

 BMP1.Width:= Screen.Width;

 DC1:= GetDC(0);

 //Делаем снимок экрана

 BitBlt(BMP1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DC1, 0, 0, SRCCOPY);

 Form1.Visible:= True; //восстанавливаем окно программы

 Image1:= TImage.Create(nil);

 BMP1.IgnorePalette:= True;

 Image1.Picture.Assign(BMP1);

 BMP1.SaveToFile('с:\1.bmp'); //сохраняем снимок в файл

  //1.bmp на диске С:\

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

 if SaveDialog1.Execute then

  BMP1.SaveToFile(SaveDialog1.FileName) //сохраняем рисунок

 else ShowMessage('Файл не был сохранен!');

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

 //удаляем рисунок с диска

 if FileExists('с:\1.bmp') then DeleteFile('C:\1.bmp');

 Screen1.Hide; //скрываем рисунок

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

 Screen1.Show; // делаем рисунок видимым

 if FileExists('с:\1.bmp') then //если рисунок существует,

  Screen1.Picture.LoadFromFile('с:\1.bmp');//загружаем его

end;

end.

⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter04.

<p>Глава 5</p><p>Хранитель экрана</p><p>Постановка задачи</p>
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных