Пояснительная записка к курсовой работе по дисциплине «Языки программирования»


Скачать 399.08 Kb.
Название Пояснительная записка к курсовой работе по дисциплине «Языки программирования»
страница 9/10
Тип Пояснительная записка
rykovodstvo.ru > Руководство эксплуатация > Пояснительная записка
1   2   3   4   5   6   7   8   9   10
































































































































Project1.lps















































































































































































































































































Unit1.pas

unit Unit1;{Основной программный модуль.}

{$mode objfpc}{$H+}
interface

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,

Buttons, StdCtrls,LCLIntf, ExtDlgs,Unit3,Process;

type

TForm1 =

class(TForm)

FileSizeInBytes: TLabel;

HidingFileOpen: TOpenDialog;

ModifiedContainerSave: TSaveDialog;

SelectFile: TButton;

ContainerOpen: TOpenPictureDialog;

PassLabel: TLabel;

FreeBytes: TLabel;

Password: TEdit;

Extract: TImage;

HidePlz: TImage;

Quit: TImage;

MainMenu: TImage;

Pic: TImage;

Animation: TTimer;

CoolEffect: TTimer;

Back: TImage;

procedure BackClick;

procedure BackMouseEnter;

procedure BackMouseLeave;

procedure CoolEffectTimer;

procedure ExtractClick;

procedure ExtractMouseEnter;

procedure ExtractMouseLeave;

procedure FormCreate;

procedure HidePlzClick;

procedure HidePlzMouseEnter;

procedure HidePlzMouseLeave;

procedure PicClick;

procedure AnimationTimer;

procedure PicMouseEnter;

procedure PicMouseLeave;

procedure QuitClick;

procedure QuitMouseEnter;

procedure QuitMouseLeave;

procedure SelectFileClick;

function check:boolean;

procedure Clear;

function ContainerChecker(fln:string;mode:integer):boolean;

public

Container: TBitmap;

end;

var

Form1: TForm1;

hidingfilesize:longint;

t:integer;

path,hash,DCFB,dcfsib:string;

kostil,kostil2,picloaded,fileloaded,completed,containerfull:boolean;

hProcess : TProcess;

implementation

{$R *.lfm}

{ TForm1 }
function TForm1.ContainerChecker(fln:string;mode:integer):boolean; //функция проверяющая пользовательский контейнер на наличие содержимого

var

MS,MS1: TMemoryStream;

Buf,res: shortstring;

i: integer;

kd1:byte;

begin

//инициализируем переменные

buf:='';

res:='';

kd1:=0;

case mode of

//проверка сигнатуры bitmap ( 42 4D)

1: begin

MS1 := TMemoryStream.Create;

MS1.LoadFromFile(fln);

MS1.Seek(0,soEnd);

for i:=0 to 1 do

begin

MS1.Position:=i;

MS1.ReadBuffer(kd1,1);//66

res:=res+inttostr(kd1);

end;

MS1.Clear;

MS1.Free;

If res='6677' then Result:=true else Result:=false;

end;

2: begin//проверка на наличие содержимого в контейнере

MS := TMemoryStream.Create;

Stegano.ReadBufferFromContainer(Container, 33, 7, 2, TStream(MS));

MS.Position := 0;

MS.Read(Buf, 7);

MS.Clear;

MS.Free;

if buf='savvas' then

Result:=true

else

Result:=false;

end;

end;

end;
procedure TForm1.BackMouseEnter;

begin

//При наведении на курсор меняем цвет текста

{$IFDEF Unix}

Back.Picture.LoadFromFile(path+'images/buttons/back-active.png');

{$ELSE}

Back.Picture.LoadFromFile(path+'images\buttons\back-active.png');

{$ENDIF}

end;

procedure TForm1.Clear;

begin

//очищаем поле пароля

Password.Text:='';

//убираем информацию о загруженном файле

fileloaded:=false;

filesizeinbytes.visible:=false;

//очищаем загруженный контейнер, если в него была сокрыта информация

if completed=true then

begin

MainMenu.Visible:=false;//прячем главное меню

Quit.Top:=200;//384 normal

// kostil2:=false;

Form1.Height:=Form1.Height div 2;//485 normal

//делаем кнопки отвечающие за операции над контейнером невидимыми

Extract.Visible:=false;

HidePlz.Visible:=false;

picloaded:=false;

{$IFDEF Unix}

Pic.Picture.LoadFromFile(path+'images/upload/nonactive.png');//возвращаем исходную картинку

{$ELSE}

Pic.Picture.LoadFromFile(path+'\images\upload\nonactive.png');//возвращаем исходную картинку

{$ENDIF}

FreeBytes.visible:=false;

completed:=false;

end;

end;

procedure TForm1.BackClick;

begin

//Возвращаемся в главное меню, выполняем скрытие графических элементов

Back.Visible:=false;

Password.Visible:=false;

PassLabel.Visible:=false;

Quit.Visible:=true;

if kostil2=true then

begin

HidePlz.Visible:=true;

Extract.Visible:=true;

end;

SelectFile.Visible:=false;

CoolEffect.Enabled:=true;

clear;

end;
procedure TForm1.ExtractMouseEnter;

begin

//При наведении на курсор меняем цвет текста

{$IFDEF Unix}

Extract.Picture.LoadFromFile(path+'images/buttons/extractbtn-active.png');

{$ELSE}

Extract.Picture.LoadFromFile(path+'images\buttons\extractbtn-active.png');

{$ENDIF}

end;
procedure TForm1.ExtractClick;

var

FS: TFileStream;

MS: TMemoryStream;

Buf,sign: shortstring;

BufI: integer;

FName: string;

begin

if kostil2=false then

begin

HidePlz.Visible:=false;

t:=0;

kostil:=true;

Quit.Visible:=false;

CoolEffect.Enabled:=true;

end

else

begin

{Тут будем вызывать ф-ию извлечения

Необходимо сверить хэш пароля введенного пользователем с хэшем

записанным в контейнере.}

//Инициализируем переменные sign и buf

sign:='';

buf:='';

bufi:=0;

MS := TMemoryStream.Create;

Stegano.ReadBufferFromContainer(Container, 0, 33, 2, TStream(MS));

MS.Position := 0;

MS.Read(Buf, 33);

MS.Clear;

Stegano.ReadBufferFromContainer(Container, 33, 7, 2, TStream(MS));

MS.Position:=0;

MS.Read(sign,7);

MS.Clear;

hash:= Creepy.HashIt(Password.Text);

If Buf <> hash then

//Делаем надпись "Введите пароль:" красной.

begin

PassLabel.Font.Color:=clRed;

//Выходим из процедуры.

Exit;

end;

PassLabel.Font.Color:=$00A1FF90;//Делаем надпись зеленой

Stegano.ReadBufferFromContainer(Container, 40, 4, 2, TStream(MS));

MS.Position := 0;

MS.Read(BufI, 4);

MS.Clear;

Stegano.ReadBufferFromContainer(Container, 44, BufI, 2, TStream(MS));

MS.Position := 0;

MS.Read(BufI, 4);

MS.Read(BufI, 4);

MS.Read(Buf, BufI);

{$IFDEF Windows}

FName := ContainerOpen.InitialDir + '\' + Buf;

{$ELSE}

FName := ContainerOpen.InitialDir + '/' + Buf;

{$ENDIF}

FS := TFileStream.Create(FName, fmCreate);

MS.Read(BufI, 4);

FS.CopyFrom(MS, BufI);

FS.Free;

MS.Free;

//Выполняем расшифровку файла и сохраняем его с исходным названием

showmessage('Файл - '+ExtractFileName(Creepy.Decrypt(path,password.Text,fname))+' успешно извлечен!');

//Удаляем извлеченный,зашифрованный файл

deletefile(fname);

end;

end;
procedure TForm1.HidePlzClick;

var FS: TFileStream;

MS, MS1: TMemoryStream;

Buf,sign: shortstring;

BufI: integer;

HD:string;

begin

if kostil2=false then

begin

Extract.Visible:=false;

t:=0;

kostil:=false;

Quit.Visible:=false;

CoolEffect.Enabled:=true;

end

else

begin

if fileloaded=true then begin //Проверяем, что записываемый файл загружен

if check=true then begin //Проверяем, что загруженный файл удовлетворяет объему контейнера

if password.text<>'' then //Проверяем, что поле для ввода пароля не пустое

begin

//Выполняем шифрование файла введенным пользователем паролем

HD:=Creepy.Encrypt(path,Password.Text,HidingFileOpen.FileName);
1   2   3   4   5   6   7   8   9   10

Похожие:

Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Информационные системы и технологии»
Пояснительная записка содержит 25 страниц, 3 изображения, 3 источника, 2 приложения
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине: «Система складирования...
Усовершенствование методов управления логистическими процессами
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Производство и ремонт подвижного состава»
Федеральное государственное бюджетное образовательное учреждение высшего образования
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Электропитание...
Федеральное государственное бюджетное образовательное учреждение высшего образования
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Сертификация систем качества»
Колесные пары железнодорожных вагонов: их назначение, устройство, ремонт и алгоритм подтверждение соответствия 5
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине: «Система складирования...
Операции, направленные на координацию складской деятельности со службой закупки
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Менеджмент...
Стоимость основных производственных фондов ремонтного вагонного депо в плановом периоде, тыс руб
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Эксплуатация...
Организация технического обслуживания и ремонта оборудования железнодорожной электросвязи в региональном центре связи
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине: «Система складирования...
Рекомендации по совершенствованию организационных методов и внедрению более производительных технических средств реализации логистических...
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Эксплуатация...
Тема: «Организация технического обслуживания и ремонта оборудования железнодорожной электросвязи в региональном центре связи»
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Техническая документация к программному продукту «Информационная...
Программный продукт разработан в качестве курсовой работы по дисциплине «Технологии программирования»
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине: «Аудиотехника»...
Федеральное государственное образовательное учреждение высшего профессионального образования «Чувашский государственный университет...
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Передача дискретных...
Расчёт и организация сети передачи дискретных сообщений на участке железной дороги
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Вычислительные...
Организационная структура корпорации включает в себя административный аппарат (решает управленческие задачи) и производственный сектор...
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Диагностирование состояния деталей цилиндропоршневой группы двигателей...
Перечень ключевых слов, которые дают общее представление о содержании курсовой работы: субъективные и инструментальные методы диагностирования...
Пояснительная записка к курсовой работе по дисциплине «Языки программирования» icon Пояснительная записка к курсовой работе по дисциплине «Вычислительные...
В данной курсовойработе необходимо разработать структурированную кабельную сеть для организации, объединяющей несколько подразделений...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск