Розробка додатків в універсальному середовищі Delphi




Скачати 49.89 Kb.
НазваРозробка додатків в універсальному середовищі Delphi
Дата конвертації08.05.2013
Розмір49.89 Kb.
ТипДокументы
uchni.com.ua > Інформатика > Документы
Міністерство освіти і науки України

Черкаський державний технологічний університет

Кафедра спеціалізованих комп’ютерних систем


Звіт

З лабораторної роботи №5

З дисципліни «Комп’ютерні системи»



Перевірив:

викл. Корпань Я.В.

Виконали:

cт.гр. СКС-708

Шмиголь В.І

Пунтус І.В.

Гугін О.Е.


Черкаси 2010

Розробка додатків в універсальному середовищі Delphi

Мета роботи - ознайомитись з універсальним середовищем Delphi, отримати навички у розробці програм з використанням мови Object Pascal та візуальних компонентів, навчитися створювати додатки для операційної системи Win 32, ознайомитися з властивостями додатка.

п/п

Завдання

Необхідні компоненти

10

Створити програму перегляду графічних зображень

TButton, TImage

Лістинг програми

unit mainUnit;
interface
uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtDlgs, StdCtrls, ComCtrls, ExtCtrls, Buttons, ToolWin, ImgList;
type

TForm1 = class(TForm)

SavePictureDialog1: TSavePictureDialog;

OpenPictureDialog1: TOpenPictureDialog;

ScrollBox1: TScrollBox;

Image1: TImage;

ToolBar1: TToolBar;

OpenBtn: TToolButton;

SaveBtn: TToolButton;

Panel2: TPanel;

ProgressBar1: TProgressBar;

ImageList1: TImageList;

procedure SavePictureDialog1TypeChange(Sender: TObject);

procedure Image1Progress(Sender: TObject; Stage: TProgressStage;

PercentDone: Byte; RedrawNow: Boolean; const R: TRect;

const Msg: String);

procedure SavePictureDialog1Close(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure OpenBitBtnClick(Sender: TObject);

procedure SaveBitBtnClick(Sender: TObject);

procedure ToolBar1Resize(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

Form1: TForm1;
implementation
{$R *.DFM}

uses jpeg;

const DeltaH : Integer = 80;

var Quality : TJpegQualityRange;

ProgressiveEnc : Boolean;
procedure TForm1.FormCreate(Sender: TObject);

var s: string;

begin

s :=GraphicFilter(TBitmap)+'|'+GraphicFilter(TJpegImage);

OpenPictureDialog1.Filter := s;

SavePictureDialog1.Filter := s;

end;
procedure TForm1.OpenBitBtnClick(Sender: TObject);

begin

if OpenPictureDialog1.Execute

then

begin

Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

SaveBtn.Enabled := True;

end;

end;
procedure TForm1.SaveBitBtnClick(Sender: TObject);

var ji : TJpegImage;

begin

with SavePictureDialog1 do

begin

FilterIndex := 1;

FileName := '';

if not Execute then Exit;
if Pos('.',FileName)=0 then

if (FilterIndex=1) then

FileName := FileName + '.bmp'

else

FileName := FileName + '.jpg';
if (FilterIndex=1) then

Image1.Picture.Bitmap.SaveToFile(FileName)

else

begin

ji := TJpegImage.Create;

ji.CompressionQuality := Quality;

ji.ProgressiveEncoding := ProgressiveEnc;

ji.OnProgress := Image1Progress;

ji.Assign(Image1.Picture.Bitmap);

ji.SaveToFile(FileName);

ji.Free;

end;

end;
end;
procedure TForm1.SavePictureDialog1TypeChange(Sender: TObject);

var ParentHandle:THandle;wRect:TRect;

PicPanel,PaintPanel:TPanel;QEdit : TEdit;

begin

With Sender as TSavePictureDialog do

begin

//родительская панель

PicPanel := (FindComponent('PicturePanel') as TPanel);

if not Assigned(PicPanel) then Exit;

ParentHandle:=GetParent(Handle);
//панель-сосед сверху

PaintPanel:=(FindComponent('PaintPanel') as TPanel);

PaintPanel.Align := alNone;

if FilterIndex >1 then

begin

GetWindowRect(ParentHandle,WRect);

SetWindowPos(ParentHandle,0,0,0,WRect.Right-WRect.Left,

WRect.Bottom-WRect.Top+DeltaH,SWP_NOMOVE+SWP_NOZORDER);

GetWindowRect(Handle,WRect);

SetWindowPos(handle,0,0,0,WRect.Right-WRect.Left,

WRect.Bottom-WRect.Top+DeltaH,SWP_NOMOVE+SWP_NOZORDER);

PicPanel.Height := PicPanel.Height+DeltaH;
if FindComponent('JLabel')=nil then

with TLabel.Create(Sender as TSavePictureDialog) do

begin

Parent := PicPanel;

Name := 'JLabel';

Caption := 'Quality';

Left := 5;//Width := PicPanel.Width - 10;

Height := 25;

Top := PaintPanel.Top+PaintPanel.Height+5;

end;
if FindComponent('JEdit')=nil then

begin

QEdit := TEdit.Create(Sender as TSavePictureDialog);

with QEdit do

begin

Parent := PicPanel;

Name:='JEdit';

Text := '75';

Left:=50;Width := 50;

Height := 25;

Top := PaintPanel.Top+PaintPanel.Height+5;

end;

end;
if FindComponent('JUpDown')=nil then

with TUpDown.Create(Sender as TSavePictureDialog) do

begin

Parent := PicPanel;

Name:='JUpDown';

Associate := QEdit;

Increment := 5;

Min := 1; Max := 100;

Position := 75;

end;
if FindComponent('JCheck')=nil then

with TCheckBox.Create(Sender as TSavePictureDialog) do

begin

Name:='JCheck';

Caption:='Progressive Encoding';

Parent:=PicPanel;

Left:=5;Width := PicPanel.Width - 10;

Height:=25;

Top := PaintPanel.Top+PaintPanel.Height+35;

end;

end

else

SavePictureDialog1Close(Sender);

end;

end;
procedure TForm1.Image1Progress(Sender: TObject; Stage: TProgressStage;

PercentDone: Byte; RedrawNow: Boolean; const R: TRect;

const Msg: String);

begin

case Stage of

psStarting: begin

Progressbar1.Position := 0;

Progressbar1.Max := 100;

end;

psEnding: begin

Progressbar1.Position := 0;

end;

psRunning: begin

Progressbar1.Position := PercentDone;

end;

end;

end;
procedure TForm1.SavePictureDialog1Close(Sender: TObject);

var PicPanel : TPanel; ParentHandle : THandle; WRect : TRect;

begin
With Sender as TSavePictureDialog do

begin

PicPanel := (FindComponent('PicturePanel') as TPanel);

if not Assigned(PicPanel) then Exit;

ParentHandle:=GetParent(Handle);

if ParentHandle=0 then Exit;

if FindComponent('JLabel')<>nil then

try

FindComponent('JLabel').Free;

FindComponent('JEdit').Free;

ProgressiveEnc := (FindComponent('JCheck') as TCheckBox).Checked;

FindComponent('JCheck').Free;

Quality := (FindComponent('JUpDown') as TUpDown).Position;

FindComponent('JUpDown').Free;
PicPanel.Height:=PicPanel.Height-DeltaH;

GetWindowRect(Handle,WRect);

SetWindowPos(Handle,0,0,0,WRect.Right-WRect.Left,

WRect.Bottom-WRect.Top-DeltaH,SWP_NOMOVE+SWP_NOZORDER);

GetWindowRect(ParentHandle,WRect);

SetWindowPos(ParentHandle,0,0,0,WRect.Right-WRect.Left,

WRect.Bottom-WRect.Top-DeltaH,SWP_NOMOVE+SWP_NOZORDER);

FilterIndex := 1;

except

ShowMessage('Dialog resizing error');

end;

end;

end;
procedure TForm1.ToolBar1Resize(Sender: TObject);

begin

Panel2.Width := ToolBar1.Width - Panel2.Left;

end;
end.

Результат роботи програми





Висновок: ми ознайомились з універсальним середовищем Delphi, отримали навички у розробці програм з використанням мови Object Pascal та візуальних компонентів, навчилися створювати додатки для операційної системи Win 32, зокрема створили програму для перегляду зображень.

Схожі:

Розробка додатків в універсальному середовищі Delphi iconКрізвп 301. 813. 00. 00
Дана курсова робота була розроблена в середовищі Delphi 7 з базовою мовою програмування Delphi
Розробка додатків в універсальному середовищі Delphi iconУрок №13. Тема
Тема: Мова програмування Delphi та інтегроване середовище візуальної розробки проектів Turbo Delphi 2006. Принципи роботи у візуальному...
Розробка додатків в універсальному середовищі Delphi icon3. 1 Обґрунтування вибору середовища розробки системи
Програмний продукт було розроблено у середовищі Borland Delphi на мові Object Pascal
Розробка додатків в універсальному середовищі Delphi iconЗасвоїти структуру програми із використанням циклічних алгоритмів,...
Мета роботи: засвоїти структуру програми із використанням циклічних алгоритмів, особливості візуального проектування програм у середовищі...
Розробка додатків в універсальному середовищі Delphi iconВступ
Розробка програмного забезпечення редактора бази даних мовою dBase III plus у середовищі Foxbase
Розробка додатків в універсальному середовищі Delphi iconРеферат Пояснювальна записка до курсової роботи «Windows-додаток Інтернет-пейджера по типу icq»
Розробка додатків з використанням різних бібліотек та технологій, орієнтованих на використання спеціальних (особливих) можливостей...
Розробка додатків в універсальному середовищі Delphi icon11-б клас Інформатика Дата 14. 11. 11
...
Розробка додатків в універсальному середовищі Delphi iconТема: Розробка власних лінійних алгоритмів та їх реалізація І тестування...
Одержання навиків організації введення/виведення значень стандартних типів даних
Розробка додатків в універсальному середовищі Delphi iconВступ 3
Розробка бази даних з архітектурою “клієнт-сервер”. Розробка серверної та клієнтської частини
Розробка додатків в універсальному середовищі Delphi iconВведення у програмування на Delphi (верхній тиждень)

Додайте кнопку на своєму сайті:
Школьные материалы


База даних захищена авторським правом © 2014
звернутися до адміністрації
uchni.com.ua
Головна сторінка