Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GOrganizer_Якименко.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

4.4.2 Розрахунок притоку свіжого повтря

Розрахунок припливу свіжого повітря в машиний зал на ОЦУ приміщенні застосовується витяжна природна вентиляція, та кондеціонер. Хоча всієї цієї вентиляції недостатньо для приміщення (за ДСТ 12.1.005-76 необхідно 20 м3/чол). Потрібно поліпшити повітрообмін, наприклад, застосувати кондиціонери.

Джерелом шуму в приміщенні є механічні пристрої ЕОМ. Таким чином, шум на робочому місці не повинний перевищувати припустимих рівнів, значення яких приведені в ДСТ 12.1.003-83.

Розрахунок приводимо згідно з методики. Визначаю об’єм кімнати V, м3 за формулою:

V = s · h, (5.4)

Де s - площа; см2;

h - висота кімнати; см.

V = 30 · 3 = 90 м3,

Визначаю приток свіжого повітря Qп м3/год, в кімнату.

Qп = K · V, (5.5)

Де К - кратність повітрообміну-число,

V - об'єм машинної кімнати, м3;

Qn = 4 · 90 = 360 м3/год,

Подача повітря установкою кондиціонування Qk, м3/год, за результатами практичного досвіду приймається в 10-12 разів більше необхідного повітрообміну. Приймаємо в 10 разів.

Qk = (10 - 12) · Qn, (5.6)

де Qn - притік свіжого повітря.

Qk = 11 · 360 = 3960 м3/год,

Заданими розрахунку потрібен один кондиціонер ІКС-12А, подача повітря якого становить 2400м3/год, що задовольняє вимогам повітрообміну.

4.5 Протипожежний захист

Пожежа на виробництві може виникнути внаслідок причин неелектричного й електричного характеру. До причин неелектричного характеру відносяться:

  • халатне і необережне користування вогнем, паління, залишення без догляду нагрівальних приладів;

  • неправильна конструкція і несправність вентиляційної системи;

До причин електричного характеру відносяться:

  • коротке замикання;

  • перевантаження проводів;

  • великий перехідний опір;

  • іскріння;

  • статична електрика.

Пожежна безпека може бути забезпечена мірами пожежної профілактики й активним пожежним захистом.

Профілактичні методи боротьби з пожежами на ділянці передбачають:

  • організаційні: правильне додержання приміщень, протипожежний інструктаж службовців, видання наказів по питаннях посилення пожежної безпеки і т.д.

  • технічні: дотримання протипожежних правил, норм при проектуванні приміщень, при складанні електропроводів і устаткування, опалення, вентиляції, освітлення.

  • режимні: заборона паління в невстановлених місцях, виробництво пожежонебезпечних робіт у приміщенні.

  • експлуатаційні: своєчасні профілактичні огляди, ремонти устаткування.

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

Для гасіння пожеж у приміщенні необхідно застосовувати вуглекислотні і порошкові вогнегасники, що мають високу швидкість гасіння, великий час дії, можливість гасіння електроустановок, високу ефективність боротьби з вогнем.

4.6 Охорона навколишнього середовища

Забруднення навколишнього середовища - це процес внесення в середовище або ж виникнення в ньому нових, зазвичай нехарактерних для нього фізичних, хімічних, біологічних агентів, які проявляють негативний вплив на живі та неживі об´єкти.

Забруднення можуть бути як природного, так і антропогенного походження.

Виділяють чотири типи забруднень: фізичні, хімічні, механічні та біологічні.

Фізичні забруднення - включають сонячну радіацію, електромагнітні випромінювання, шум, вібрацію, гравітаційні сили тощо.

Хімічні забруднення - бувають твердими, рідкими, газоподібними.

Механічне забруднення - це різного походження тверді відходи виробництва та побуту.

Біологічні забруднення - різноманітні організми (бактерії, мікроби, віруси, пилок, насінневий пух тощо).

Велике значення для оздоровлення атмосферного середовища мають заходи щодо очистки повітря та його охорони. Цим займаються у всіх високорозвинутих промислових країнах, де приймаються спеціальні закони та законодавчі акти державних як на загальнодержавному, так і на місцевому рівнях.

Атмосфера самоочищається від забруднення внаслідок осадження твердих частинок, вимивання їх з повітря опадами, а також розчиняючи краплями дощу й туману, водою морів, океанів, рік та інших водойм, розсіваючи в просторі.

Промислові підприємства забруднюють не лише зовнішнє, але й внутрішнє повітряне середовище виробничих цехів, зокрема повітря робочої зони. Оздоровлення повітряного середовища можна досягти шляхом зниження вмісту в ньому шкідливих речовин до без безпечного рівня, тобто такого, який би не перевищував ГДК для даної речовини.

Великої шкоди навколишньому природному середовищі завдає промисловий пил. Промисловий пил - це завислі у газовому середовищі частинки, що утворилися внаслідок механічного подрібнення твердих металів у порошковий стан.

Висновки

Завданням роботи було створення програми – органайзера для планування робочого часу, ведення записної і телефонної книжки. До складу додатка входять: калькулятор, записна книжка, годинник, календар, зручний у користуванні таймер. Також додатково модуль з такими функціями як : генератор паролів, гра тетріс та конвертатор зображень в ASCII код.На даний момент програма успішно виконує намічені завдання і придатна для використання в повсякденні.

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

У ході виконання дипломної роботи я переконалася в широких можливостях мови програмування Delphi , підвищила рівень практичних навичок програмування в інтегрованому середовищі програмування Embarcadero Delphi XE5, отримала навички оформлення програмної документації.

Програма проста для розуміння і управління користувачем з мінімальним рівнем підготовки , займає мало місця на жорсткому диску , може працювати на комп'ютері з мінімальними вимогами. Зручний і зрозумілий інтерфейс дозволяє користуватися програмою будь-якій людині , хоча б віддалено знайомому з комп'ютером. Робота з програмою не вимагає спеціальних знань у галузі.

Створено інсталяцію, оптимізовану для розповсюдження на дисках та інших носіях. Під час написання також були вивчені теоретичні основи програмування , правила написання та оформлення програм. Підсумувавши все вищесказане можна сказати , що всі необхідні умови були виконані , програмний продукт готовий до використання і хоча даний додаток містить не так багато функцій , варто відзначити , що воно служить своєрідним каркасом для розробки і створення інших більш складних додатків.

Список використаної літератури

  1. М. Фленов «Библия Delphi», С-Петербург, - «БХВ-Петербург», 2004.

  2. Попов В.Б. «Паскаль и Дельфи. Самоучитель», - СПб.: Питер, 2004.

  3. Шпак Ю. А. «Delphi 7 на примерах», - «Юниор», 2003.

  4. http://delphiexpert.ru/book.php

  5. http://programmersclub.ru

  6. http://docwiki.embarcadero.com/RADStudio/XE6/en/Delphi_Reference

  7. http://www.delphi.int.ru/

  8. http://habrahabr.ru/

9. Денисенко А.Ф. Основы охраны труда: Конспект лекций в 2-х ч.

10. Лапин В.М. Безпека життєдіяльності людини. -К.: 1999.

11. Сайт: http://cityref.ru

12. Осипов Д.Л. Delphi. Программирование для Windows, OS X, iOS и Android СПб.: БХВ-Петербург, 2014. - 464 с.

13. Фаронов В.В. Delphi. Программирование на языке высокого уровня Питер, 2003 г. - 640 стр. ISBN 5-8046-0008-7.

Додатки

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

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ButtonGroup, Vcl.StdCtrls,

Vcl.ExtCtrls, Vcl.FileCtrl, Vcl.ComCtrls, Vcl.ToolWin, Vcl.ExtDlgs,

Vcl.ImgList, Vcl.Imaging.GIFImg, ClipBrd, Vcl.Buttons, Vcl.Imaging.pngimage,

Vcl.Grids, Vcl.Samples.Calendar, Vcl.AppEvnts, Vcl.Menus, Vcl.Samples.Spin, ShellApi,

Vcl.Imaging.jpeg, ShlObj, ActiveX, ComObj, Registry;

type

TForm1 = class(TForm)

TextEditorPanel: TPanel;

ToolBar1: TToolBar;

NewBtn: TToolButton;

OpenBtn: TToolButton;

SaveBtn: TToolButton;

SaveAsBtn: TToolButton;

ToolButton5: TToolButton;

ClearBtn: TToolButton;

FLB: TFileListBox;

Memo1: TMemo;

OTFD: TOpenTextFileDialog;

TBIL: TImageList;

ToolButton1: TToolButton;

ClpBrdCopy: TToolButton;

ClpBrdPaste: TToolButton;

ClpBrdCut: TToolButton;

SaveTD: TSaveTextFileDialog;

Add: TBitBtn;

Del: TBitBtn;

Refresh: TBitBtn;

Rename: TBitBtn;

CalcPanel: TPanel;

one: TSpeedButton;

two: TSpeedButton;

three: TSpeedButton;

seven: TSpeedButton;

six: TSpeedButton;

five: TSpeedButton;

four: TSpeedButton;

minus: TSpeedButton;

nine: TSpeedButton;

multiply: TSpeedButton;

plus: TSpeedButton;

decimal: TSpeedButton;

result: TSpeedButton;

divide: TSpeedButton;

percent: TSpeedButton;

Zero: TSpeedButton;

back: TSpeedButton;

radical: TSpeedButton;

plusminus: TSpeedButton;

C: TSpeedButton;

CE: TSpeedButton;

CalcEdit: TEdit;

wtf: TSpeedButton;

CalcHistory: TMemo;

Image1: TImage;

Image2: TImage;

DateTimePicker1: TDateTimePicker;

MainMenu1: TMainMenu;

N11: TMenuItem;

Timer1: TTimer;

ToolButton2: TToolButton;

Himage1: TImage;

Himage2: TImage;

Mimage1: TImage;

Mimage2: TImage;

eight: TSpeedButton;

PassGenPanel: TPanel;

PassGenSymbolPanel: TGroupBox;

PassGenLat: TCheckBox;

PassGenNumbers: TCheckBox;

PassGenSpecSymbols: TCheckBox;

PassGenRegPanel: TGroupBox;

UpReg: TRadioButton;

DownReg: TRadioButton;

UpDownReg: TRadioButton;

SpinEdit1: TSpinEdit;

StaticText1: TStaticText;

Button1: TButton;

PassGenSymbols: TLabeledEdit;

ImgToASCII: TSpeedButton;

Tetris: TSpeedButton;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

SlideImages: TImage;

Images: TImageList;

ExtraFunctions: TPanel;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

SITimer: TTimer;

TurnOff: TSpeedButton;

Reboot: TSpeedButton;

Hyber: TSpeedButton;

Say: TSpeedButton;

SPE: TSpinEdit;

StaticText2: TStaticText;

StaticText3: TStaticText;

TimerPanel: TPanel;

TimerImages: TImageList;

Timer: TTimer;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

NotifPanel: TPanel;

BitBtn1: TBitBtn;

Timer2: TTimer;

procedure FLBClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure ClearBtnClick(Sender: TObject);

procedure NewBtnClick(Sender: TObject);

procedure SaveBtnClick(Sender: TObject);

procedure OpenBtnClick(Sender: TObject);

procedure SaveAsBtnClick(Sender: TObject);

procedure ClpBrdCopyClick(Sender: TObject);

procedure ClpBrdPasteClick(Sender: TObject);

procedure ClpBrdCutClick(Sender: TObject);

procedure FLBDblClick(Sender: TObject);

procedure RefreshClick(Sender: TObject);

procedure RenameClick(Sender: TObject);

procedure oneClick(Sender: TObject);

procedure twoClick(Sender: TObject);

procedure threeClick(Sender: TObject);

procedure fourClick(Sender: TObject);

procedure fiveClick(Sender: TObject);

procedure sixClick(Sender: TObject);

procedure sevenClick(Sender: TObject);

procedure eightClick(Sender: TObject);

procedure nineClick(Sender: TObject);

procedure ZeroClick(Sender: TObject);

procedure decimalClick(Sender: TObject);

procedure CEClick(Sender: TObject);

procedure CalcEditChange(Sender: TObject);

procedure ToolButton2Click(Sender: TObject);

procedure minusClick(Sender: TObject);

procedure CClick(Sender: TObject);

procedure resultClick(Sender: TObject);

procedure wtfClick(Sender: TObject);

procedure backClick(Sender: TObject);

procedure percentClick(Sender: TObject);

procedure plusClick(Sender: TObject);

procedure plusminusClick(Sender: TObject);

procedure radicalClick(Sender: TObject);

procedure divideClick(Sender: TObject);

procedure multiplyClick(Sender: TObject);

procedure UpDownRegClick(Sender: TObject);

procedure DownRegClick(Sender: TObject);

procedure UpRegClick(Sender: TObject);

procedure PassGenLatClick(Sender: TObject);

procedure PassGenNumbersClick(Sender: TObject);

procedure PassGenSpecSymbolsClick(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure ImgToASCIIClick(Sender: TObject);

procedure TetrisClick(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure SlideImagesClick(Sender: TObject);

procedure SITimerTimer(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure TurnOffClick(Sender: TObject);

procedure RebootClick(Sender: TObject);

procedure HyberClick(Sender: TObject);

procedure SayClick(Sender: TObject);

procedure TimerTimer(Sender: TObject);

procedure SPEChange(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure Timer2Timer(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure CreateShotCut(SourceFile, ShortCutName, SourceParams: String);

public

{ Public declarations }

end;

var

Form1: TForm1;

way:string;

//калькулятор

Calculator: TForm1;

x,rrly,y,otv,mem:real;ard,ard2,bf:real;

//генератор паролей

lat,biglat,cif,symb:string;

//текст для заметки

notif:string;

implementation

{$R *.dfm}

//Подключение других форм

Uses Unit2, Unit3, Unit4, MainFormUnit, Tetris, Unit5, ABOUT;

procedure TForm1.backClick(Sender: TObject);

var ds:string;

begin

if (bf=0) then begin

ds:=calcedit.text;

if length(calcedit.text)=1 then

calcedit.text:='0' else begin

delete(ds,length(calcedit.text),1);

calcedit.text:=ds;end;end;

end;

procedure TForm1.CalcEditChange(Sender: TObject);

begin

if calcedit.Text='' then calcedit.Text:='0';

end;

procedure TForm1.CClick(Sender: TObject);

var abcd:integer;

begin

x:=0;y:=0;ard:=0;ard2:=0;bf:=0;calcedit.text:='0';

abcd:=1;

for abcd := 0 to 10 do

CalcHistory.clear;

end;

procedure TForm1.CEClick(Sender: TObject);

begin

calcedit.Text:='0';

end;

procedure TForm1.ClearBtnClick(Sender: TObject);

begin

memo1.Clear;

end;

procedure TForm1.ClpBrdCopyClick(Sender: TObject);

begin

Clipboard.AsText:=Memo1.SelText;

end;

procedure TForm1.ClpBrdCutClick(Sender: TObject);

begin

Clipboard.AsText:=Memo1.SelText;

Memo1.SelText:='';

end;

procedure TForm1.ClpBrdPasteClick(Sender: TObject);

begin

Memo1.SelText:=Clipboard.AsText;

end;

procedure TForm1.decimalClick(Sender: TObject);

var i,zi:integer;

begin

if bf=1 then

calcedit.text:=('0,') else begin

for i:=1 to length(calcedit.text) do

if calcedit.text[i]=(',') then zi:=1;

if zi<>1 then

calcedit.text:=calcedit.text+(',');end;bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+','

end;

procedure TForm1.divideClick(Sender: TObject);

begin

if ard>0 then begin

x:=StrToFloat(calcedit.text);

if ard=1 then

otv:=y+x;

if ard=2 then

otv:=y-x;

if ard=3 then

otv:=y*x;

if ard=4 then

otv:=y/x;

if ard=5 then

otv:=y/100*x;

ard:=3;y:=otv;calcedit.text:=FloatToStr(otv);bf:=1;end else

y:=StrToFloat(calcedit.text);

ard:=4;bf:=1;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'/'

end;

procedure TForm1.eightClick(Sender: TObject);

begin

if bf=1 then

calcedit.Text:=IntToStr(8) else

if calcedit.Text=IntToStr(0) then calcedit.Text:=IntToStr(8) else

calcedit.Text:=calcedit.Text+IntToStr(8);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'8';

end;

procedure TForm1.fiveClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(5) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(9) else

calcedit.text:=calcedit.text+IntToStr(5);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'5';

end;

procedure TForm1.FLBClick(Sender: TObject);

begin

if FileExists(FLB.FileName) then begin

memo1.Lines.LoadFromFile(FLB.FileName);

way:=Flb.FileName;

end;

end;

procedure TForm1.FLBDblClick(Sender: TObject);

begin

DeleteFile(FLB.FileName);

FLB.Update;

end;

procedure TForm1.FormCreate(Sender: TObject);

var myHour, myMin, mySec, myMilli : Word;

begin

DateTimePicker1.DateTime:=strtodate(FormatDateTime('dd.mm.yyyy',Now));

Form1.Width:=645;

//вставка картинки в правый нижний угол

CreateDir(getcurrentdir+'\Docs');

CreateDir(getcurrentdir+'\Docs\Notifications\');

FLB.Directory:=getcurrentdir+('\'+'Docs');

//предзагрузка часов

DecodeTime(Time, myHour, myMin, mySec, myMilli);

Himage1.Picture.LoadFromFile(getcurrentdir+'\Images\Clock\clock_'+inttostr(myHour div 10)+'.png');

Himage2.Picture.LoadFromFile(getcurrentdir+'\Images\Clock\clock_'+inttostr(myHour mod 10)+'.png');

Mimage1.Picture.LoadFromFile(getcurrentdir+'\Images\Clock\clock_'+inttostr(myMin div 10)+'.png');

Mimage2.Picture.LoadFromFile(getcurrentdir+'\Images\Clock\clock_'+inttostr(myMin mod 10)+'.png');

//заполнение картинками кнопок таймера

TimerImages.GetBitmap(0, TurnOff.Glyph);

TimerImages.GetBitmap(1, Reboot.Glyph);

TimerImages.GetBitmap(2, Hyber.Glyph);

TimerImages.GetBitmap(3, Say.Glyph);

//Напоминание

//проверка на наличие файла

if FileExists(FLB.Directory+'\Notifications\'+FormatDateTime('dd.mm.yyyy',Now)+'.rtf') then Timer2.Enabled:=True;

end;

procedure TForm1.fourClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(4) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(4) else

calcedit.text:=calcedit.text+IntToStr(4);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'4';

end;

procedure TForm1.HyberClick(Sender: TObject);

begin

Timer.Enabled:=True;

end;

procedure TForm1.ImgToASCIIClick(Sender: TObject);

begin

alphablendvalue:=0;

MainForm.Show;

end;

procedure TForm1.minusClick(Sender: TObject);

begin

if ard>0 then begin

x:=StrToFloat(calcedit.text);

if ard=1 then

otv:=y+x;

if ard=2 then

otv:=y-x;

if ard=3 then

otv:=y*x;

if ard=4 then

otv:=y/x;

if ard=5 then

otv:=y/100*x;

ard:=2;y:=otv;calcedit.text:=FloatToStr(otv);bf:=1;end else

y:=StrToFloat(calcedit.text);

ard:=2;bf:=1;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'-'

end;

procedure TForm1.multiplyClick(Sender: TObject);

begin

if ard>0 then begin

x:=StrToFloat(calcedit.text);

if ard=1 then

otv:=y+x;

if ard=2 then

otv:=y-x;

if ard=3 then

otv:=y*x;

if ard=4 then

otv:=y/x;

if ard=5 then

otv:=y/100*x;

ard:=3;y:=otv;calcedit.text:=FloatToStr(otv);bf:=1;end else

y:=StrToFloat(calcedit.text);

ard:=3;bf:=1;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'*'

end;

//активация доп. функций

procedure TForm1.N2Click(Sender: TObject);

begin

AboutBox.Show;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.N5Click(Sender: TObject);

Var k:integer;

begin

ExtraFunctions.Visible:=True;

SItimer.Enabled:=True;

Form1.Width:=812; //увеличение размеров главного окна

//заполнение переменных для генератора паролей

biglat:='ABCDEFGHIJKLMNOPQRSTUVWXYZ';

lat:='abcdefghijklmnopqrstuvwxyz';

cif:='1234567890';

symb:='!@#$%^&*()"''\\/|~`?<>,.;:[]';

k:=random(166);

Images.GetBitmap(k, SlideImages.Picture.Bitmap);

end;

procedure TForm1.N6Click(Sender: TObject);

begin

SITimer.Enabled:=False;

ExtraFunctions.Visible:=False;

Form1.Width:=645; //увеличение размеров главного окна

end;

procedure TForm1.NewBtnClick(Sender: TObject);

var number:integer; a:textfile;

begin

randomize;

number:=random(65535);

AssignFile(a, FLB.Directory+'\'+'NewFile'+inttostr(number)+'.txt');

Rewrite(a);

CloseFile(a);

FLB.Update;

end;

procedure TForm1.OpenBtnClick(Sender: TObject);

begin

if OTFD.execute then begin

memo1.Lines.LoadFromFile(OTFD.FileName);

way:=OTFD.FileName;

end;

end;

procedure TForm1.percentClick(Sender: TObject);

begin

if ard>0 then begin

x:=StrToFloat(calcedit.text);

if ard=1 then

otv:=y+x;

if ard=2 then

otv:=y-x;

if ard=3 then

otv:=y*x;

if ard=4 then

otv:=y/x;

if ard=5 then

otv:=y/100*x;

ard:=4;y:=otv;calcedit.text:=FloatToStr(otv);bf:=1;end else

y:=StrToFloat(calcedit.text);

ard:=4;bf:=1;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'%='+calcedit.text+'; ';

end;

procedure TForm1.plusClick(Sender: TObject);

begin

if ard>0 then begin

x:=StrToFloat(calcedit.text);

if ard=1 then

otv:=y+x;

if ard=2 then

otv:=y-x;

if ard=3 then

otv:=y*x;

if ard=4 then

otv:=y/x;

if ard=5 then

otv:=y/100*x;

ard:=1;y:=otv;calcedit.text:=FloatToStr(otv);bf:=1;end else

y:=StrToFloat(calcedit.text);

ard:=1;bf:=1;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'+'

end;

procedure TForm1.plusminusClick(Sender: TObject);

var ds:string;

begin

ds:=calcedit.text;

if ds<>'0' then begin

if calcedit.text[1]='-' then begin

delete(ds,1,1);calcedit.text:=ds;end else begin

calcedit.text:='-'+ds;bf:=1;end;

end;

end;

procedure TForm1.radicalClick(Sender: TObject);

begin

if StrToFloat(calcedit.text)<0 then

calcedit.text:='Недопустимый ввод' else

calcedit.text:=FloatToStr(sqrt(StrToFloat(calcedit.text)));bf:=1;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'√'

end;

procedure TForm1.RebootClick(Sender: TObject);

begin

Timer.Enabled:=True;

end;

procedure TForm1.RefreshClick(Sender: TObject);

begin

FLB.Update;

end;

procedure TForm1.RenameClick(Sender: TObject);

var nn:string;

begin

if flb.FileName <>'' then

begin

nn:=InputBox('Переименование','Введите новое имя файла','');

if nn<>'' then RenameFile(FLB.FileName,nn+'.txt');

flb.Update

end

else showmessage ('Не выбран файл для переименования');

end;

procedure TForm1.resultClick(Sender: TObject);

begin

otv:=StrToFloat(calcedit.text);

if ard=0 then begin

y:=StrToFloat(calcedit.text);

if ard2=1 then

otv:=y+x;

if ard2=2 then

otv:=y-x;

if ard2=3 then

otv:=y*x;

if ard2=4 then

otv:=y/x;

if ard=5 then

otv:=y/100*x;

end

else begin

x:=StrToFloat(calcedit.text);

if ard=1 then

otv:=y+x;

if ard=2 then

otv:=y-x;

if ard=3 then

otv:=y*x;

if ard=4 then

otv:=y/x;

if ard=5 then

otv:=y/100*x;

ard2:=ard;ard:=0;end;

calcedit.text:=FloatToStr(otv);bf:=1;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'='+FloatToStr(otv)+'; ';

end;

procedure TForm1.SaveAsBtnClick(Sender: TObject);

begin

if SaveTd.Execute then memo1.Lines.SaveToFile(SaveTD.FileName);

end;

//ЧАСЫ!!!

procedure TForm1.Timer1Timer(Sender: TObject);

var

myHour, myMin, mySec, myMilli : Word;

Begin

DecodeTime(Time, myHour, myMin, mySec, myMilli);

Himage1.Picture.LoadFromFile(FLB.Directory+'\Images\Clock\clock_'+inttostr(myHour div 10)+'.png');

Himage2.Picture.LoadFromFile(FLB.Directory+'\Images\Clock\clock_'+inttostr(myHour mod 10)+'.png');

Mimage1.Picture.LoadFromFile(FLB.Directory+'\Images\Clock\clock_'+inttostr(myMin div 10)+'.png');

Mimage2.Picture.LoadFromFile(FLB.Directory+'\Images\Clock\clock_'+inttostr(myMin mod 10)+'.png');

end;

procedure TForm1.Timer2Timer(Sender: TObject);

begin

Timer2.Enabled:=False;

Form5.Panel1.Visible:=False;

Form5.ShowModal;

Form5.Editor.Lines.LoadFromFile(FLB.Directory+'\Notifications\'+datetostr(DateTimePicker1.DateTime)+'.rtf');

end;

procedure TForm1.TimerTimer(Sender: TObject);

begin

StaticText2.Caption:='Осталось ';

Timer.Interval:=60000;

TurnOff.Enabled:=False;

Reboot.Enabled:=False;

Hyber.Enabled:=False;

Say.Enabled:=False;

SPE.Enabled:=False;

if SPE.Value = 0 then

begin

if TurnOff.Down=True then ShellExecute(handle, nil,'shutdown',' /s /f /t 00','', SW_SHOWNORMAL);

if Reboot.Down=True then ShellExecute(handle, nil,'shutdown',' /r /f /t 00','', SW_SHOWNORMAL);

if Hyber.Down=True then ShellExecute(handle, nil,'shutdown',' /s /hybrid /f /t 00','', SW_SHOWNORMAL);

if Say.Down=True then

begin

ShowMessage(notif);

Timer.Enabled:=False;

Say.Down:=False;

TurnOff.Enabled:=True;

Reboot.Enabled:=True;

Hyber.Enabled:=True;

Say.Enabled:=True;

SPE.Enabled:=True;

Timer.Interval:=10;

StaticText2.Caption:='Таймер на';

end;

end

else SPE.Value:=SPE.Value-1;

end;

procedure TForm1.ToolButton2Click(Sender: TObject);

Var pass: string;

begin

{pass:=InputBox('Шифрование','Введите пароль.'+#13'Можно использовать любые символы!','');

if pass <> '' then Memo1.Text:= Crypt (Memo1.Text, pass, false); }

Form2.ShowModal;

end;

procedure TForm1.TurnOffClick(Sender: TObject);

begin

Timer.Enabled:=True;

end;

procedure TForm1.SaveBtnClick(Sender: TObject);

begin

memo1.Lines.SaveToFile(way);

end;

procedure TForm1.SayClick(Sender: TObject);

begin

notif:= InputBox('Напоминание','Введите текст напоминания','');

Timer.Enabled:=True;

end;

procedure TForm1.sevenClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(7) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(9) else

calcedit.text:=calcedit.text+IntToStr(7);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'7';

end;

procedure TForm1.SITimerTimer(Sender: TObject);

Var k:byte;

begin

randomize ();

k:=random(166);

Images.GetBitmap(k, SlideImages.Picture.Bitmap);

SlideImages.Refresh;

end;

procedure TForm1.sixClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(6) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(9) else

calcedit.text:=calcedit.text+IntToStr(6);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'6';

end;

procedure TForm1.SlideImagesClick(Sender: TObject);

Var i:byte;

begin

i:=random (166);

Images.GetBitmap(i, SlideImages.Picture.Bitmap);

SlideImages.Refresh;

end;

procedure TForm1.SPEChange(Sender: TObject);

begin

if SPE.Value < 0 then begin

SPE.Value:=0;

ShowMessage('Недопустимое значение, нельзя выставить значение меньшее чем ноль');

end;

end;

procedure TForm1.TetrisClick(Sender: TObject);

begin

alphablendvalue:=0;

BlockForm.Show;

end;

procedure TForm1.threeClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(3) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(3) else

calcedit.text:=calcedit.text+IntToStr(3);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'3';

end;

procedure TForm1.twoClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(2) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(2) else

calcedit.text:=calcedit.text+IntToStr(2);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'2';

end;

procedure TForm1.wtfClick(Sender: TObject);

begin

if StrToFloat(calcedit.text)=0 then

calcedit.text:='Деление на ноль невозможно' else

calcedit.text:=FloatToStr(1/StrToFloat(calcedit.text));bf:=1;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'1/'+floattostr(1/StrToFloat(calcedit.text))+

'='+calcedit.text+'; ';

end;

procedure TForm1.ZeroClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(0) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(0) else

calcedit.text:=calcedit.text+IntToStr(0);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'0'

end;

procedure TForm1.nineClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(9) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(9) else

calcedit.text:=calcedit.text+IntToStr(9);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'9';

end;

procedure TForm1.oneClick(Sender: TObject);

begin

if bf=1 then

calcedit.text:=IntToStr(1) else

if calcedit.text=IntToStr(0) then calcedit.text:=IntToStr(1) else

calcedit.text:=calcedit.text+IntToStr(1);bf:=0;

CalcHistory.Lines[0]:=CalcHistory.Lines[0]+'1';

end;

//запуск генератора

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

Form5.Panel1.Visible:=True;

Form5.ShowModal;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

i,k:integer;

pass,resx:string;

len:integer;

begin

pass:='';

randomize;

resx:=PassGenSymbols.Text;

len:=SpinEdit1.Value;

if resx <> '' then

begin

for i:=1 to len do

pass:=pass+resx[random(length(resx)+1)+1];

if InputQuery('Успех!!!','Ваш пароль:', pass)

then begin

Clipboard.AsText:=pass;

showmessage('Пароль скопирован в буфер обмена!'+#13+'Прощайте!');

close; end;

end

else

MessageDlg('Вы не выбрали состав пароля',mtWarning, [mbOK], 0);

end;

//управление регистрами

procedure TForm1.UpDownRegClick(Sender: TObject);

begin

if updownreg.Checked=true then

begin

upreg.Checked:=false;

downreg.Checked:=false;

passgenlat.checked:=false;

passgenlat.checked:=true;

end;

end;

procedure TForm1.UpRegClick(Sender: TObject);

begin

if upreg.Checked=true then

begin

updownreg.Checked:=false;

downreg.Checked:=false;

passgenlat.checked:=false;

passgenlat.checked:=true;

end;

end;

procedure TForm1.DownRegClick(Sender: TObject);

begin

if downreg.Checked=true then

begin

upreg.Checked:=false;

updownreg.Checked:=false;

passgenlat.checked:=false;

passgenlat.checked:=true;

end;

end;

//управление символами

//латиница

procedure TForm1.PassGenLatClick(Sender: TObject);

begin

if passgenlat.Checked=true then

begin

passgenregpanel.Enabled:=true;

if upreg.Checked=true then

passgensymbols.Text:=passgensymbols.Text+biglat

else if downreg.Checked=true then

passgensymbols.Text:=passgensymbols.Text+lat

else passgensymbols.Text:=passgensymbols.Text+lat+biglat

end

else begin

passgensymbols.Text:='';

if PassGenNumbers.checked=true then passgensymbols.Text:=passgensymbols.Text+cif;

if PassGenSpecSymbols.checked=true then passgensymbols.Text:=passgensymbols.Text+symb;

end;

end;

//цифры

procedure TForm1.PassGenNumbersClick(Sender: TObject);

begin

if PassGenNumbers.checked=true then passgensymbols.Text:=passgensymbols.Text+cif

else

begin

passgensymbols.Text:='';

if PassGenLat.checked=true then

begin

PassGenLat.checked:=false; PassGenLat.checked:=true;

end;

if PassGenSpecSymbols.checked=true then passgensymbols.Text:=passgensymbols.Text+symb;

end;

end;

//специальные символы

procedure TForm1.PassGenSpecSymbolsClick(Sender: TObject);

begin

if PassGenSpecSymbols.checked=true then passgensymbols.Text:=passgensymbols.Text+symb

else begin

passgensymbols.Text:='';

if PassGenLat.checked=true then

begin

PassGenLat.checked:=false; PassGenLat.checked:=true;

end;

if PassGenNumbers.checked=true then passgensymbols.Text:=passgensymbols.Text+cif;

end;

end;

//Автозагрузка

procedure TForm1.CreateShotCut(SourceFile, ShortCutName,

SourceParams: String);

var

IUnk: IUnknown;

ShellLink: IShellLink;

ShellFile: IPersistFile;

tmpShortCutName: string;

WideStr: WideString;

i: Integer;

begin

IUnk := CreateComObject(CLSID_ShellLink);

ShellLink := IUnk as IShellLink;

ShellFile := IUnk as IPersistFile;

ShellLink.SetPath(PChar(SourceFile));

ShellLink.SetArguments(PChar(SourceParams));

ShellLink.SetWorkingDirectory(PChar(ExtractFilePath(SourceFile)));

ShortCutName := ChangeFileExt(ShortCutName,'.lnk');

if fileexists(ShortCutName) then

begin

ShortCutName := copy(ShortCutName,1,length(ShortCutName)-4);

i := 1;

repeat

tmpShortCutName := ShortCutName +'(' + inttostr(i)+ ').lnk';

inc(i);

until not fileexists(tmpShortCutName);

WideStr := tmpShortCutName;

end

else

WideStr := ShortCutName;

ShellFile.Save(PWChar(WideStr),False);

end;

//Включение

procedure TForm1.N8Click(Sender: TObject);

var

reg: TRegistry;

begin

reg:= TRegistry.create;

reg.rootkey:=HKEY_CURRENT_USER;

reg.lazywrite:= false;

reg.openkey('software\microsoft\windows\currentversion\run', false);

reg.writestring('GOrganizer', application.exename); //записываем в автозапуск

reg.Free;

end;

//Выключение

procedure TForm1.N9Click(Sender: TObject);

var

reg: TRegistry;

begin

reg:= TRegistry.create;

reg.rootkey:=HKEY_CURRENT_USER;

reg.lazywrite:= false;

reg.openkey('software\microsoft\windows\currentversion\run', false);

reg.DeleteValue('GOrganizer'); //удаляем ключ реестра

reg.Free;

end;

end.

unit Unit2;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, unit1, Vcl.StdCtrls, Vcl.ExtCtrls,

Vcl.Buttons, Vcl.Imaging.pngimage;

type

TForm2 = class(TForm)

RB1: TRadioButton;

RB2: TRadioButton;

GroupBox1: TGroupBox;

Pass: TLabeledEdit;

Button1: TButton;

Image1: TImage;

procedure Button1Click(Sender: TObject);

procedure Image1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

//Функция выполнения криптографии

Function Crypt (Text, Key: String; Encode: Boolean): String;

Var

I, KeyLength: integer;

Sign: ShortInt;

Begin

KeyLength:=Length (Key);

If Encode then Sign:=-1 else Sign:=1; //шифровать или расшифровывать?

For I:=1 to Length (Text) do

//код символа исходного текста складывается с кодом символа ключа

//пароль при этом умножается

Text[I]:=Chr (ord (Text[I]) +Sign*ord (Key[I mod KeyLength+1]));

//результат

Result:=Text;

End;

//*******************************

procedure TForm2.Button1Click(Sender: TObject);

begin

if pass.Text <> '' then

begin

if rb1.Checked=true then

form1.Memo1.Text:= Crypt (form1.Memo1.Text, Pass.Text, true)

else form1.Memo1.Text:= Crypt (form1.Memo1.Text, Pass.Text, false)

end

else messagedlg('Необходимо ввести проль',mtwarning,[mbOk],0)

end;

procedure TForm2.Image1Click(Sender: TObject);

begin

close;

end;

end.

unit Unit5;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.ExtCtrls,

Vcl.ComCtrls, System.Actions, Unit1;

type

TForm5 = class(TForm)

Panel1: TPanel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Editor: TRichEdit;

OpenDialog: TOpenDialog;

FontDialog: TFontDialog;

procedure SpeedButton1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

private

{ Private declarations }

function CurrText: TTextAttributes;

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.BitBtn1Click(Sender: TObject);

begin

if opendialog.Execute then Editor.Lines.LoadFromFile(OpenDialog.FileName);

end;

procedure TForm5.BitBtn2Click(Sender: TObject);

begin

FontDialog.Font.Assign(Editor.SelAttributes);

if FontDialog.Execute then

CurrText.Assign(FontDialog.Font);

Editor.SetFocus;

end;

procedure TForm5.BitBtn3Click(Sender: TObject);

begin

Editor.Lines.SaveToFile(Form1.FLB.Directory+'\Notifications\'+datetostr(Form1.DateTimePicker1.DateTime)+'.rtf');

ShowMessage('Напоминание успешно создано');

close;

end;

procedure TForm5.SpeedButton1Click(Sender: TObject);

begin

close;

end;

function TForm5.CurrText: TTextAttributes;

begin

if Editor.SelLength > 0 then Result := Editor.SelAttributes

else Result := Editor.DefAttributes;

end;

procedure TForm5.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

Panel1.Visible:=True;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]