Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Охрана труда и техники безопасностиСодержание книги
Поиск на нашем сайте
Главная цель улучшения условий труда - достижение социального эффекта, т.е. обеспечение безопасности труда, сохранение здоровья и высокой работоспособности человека, создание всех условий для обогащения содержания труда и развития его творческого начала. Вместе с тем снижение уровня заболеваемости и числа несчастных случаев имеют и экономические результаты, выражающиеся в увеличении периода профессиональной активности трудящихся; росте производительности труда; сокращении затрат, связанных с компенсацией за работу с вредными и тяжелыми условиями труда; уменьшении потерь, связанных с травматизмом, профессиональной и профессионально-обусловленной заболеваемостью; уменьшении текучести кадров и рядом других положительных факторов производственной деятельности предприятия, связанных с улучшением условий и охраны труда. ЭВМ устанавливается и размещается в соответствии с требованиями технических условий заводов-изготовителей. Минимальная ширина проходов между компьютерами должна быть не менее одного метра. Рабочее место с дисплеями должно располагаться на расстоянии не менее 1,5 метра. Площадь помещения для работающего на персональном компьютере из расчета на одного человека - не менее 6 квадратных метров, кубатура - 19,5 кубических метров, с учетом максимального числа одновременно работающих. На постоянном рабочем месте работника должны быть обеспечены микроклиматические параметры, уровни освещенности, шума и состояния воздушной среды, определенные действующими санитарными правилами и нормами. Конструкция рабочей мебели (столы, кресла, стулья) должны обеспечивать возможность индивидуальной регулировки соответственно росту работающего и создавать удобную позу. Часто используемые предметы труда (документы, клавиатура, дисплей, принтер) должны находиться в оптимальной рабочей зоне. Рабочее место для выполнения работ в положении сидя должно соответствовать требованиям ГОСТ и технической эстетики. В конструкции его элементов необходимо учитывать характер работы, психологические особенности и антропометрические данные человека. Рабочий стол должен регулироваться по высоте в пределах 680-760 мм, при отсутствии такой возможности 720 мм, оптимальные размеры рабочей поверхности столешницы 1600´900 мм. Под столешницей рабочего стола должно быть свободное пространство для ног с размерами по высоте не менее 600 мм, по ширине - 500 мм, по глубине - 650 мм. Рабочий стул (кресло) должен быть снабжен подъемно-поворотным устройством, обеспечивающим регуляцию высоты сидения и спинки, его конструкции должна предусматривать также изменение угла наклона спинки. Рабочее кресло должно иметь подлокотники. Регулировка каждого параметра должна легко осуществляться, быть независимой и иметь надежную фиксацию. Высота поверхности сидения должна регулироваться в пределах 400-500 мм. Ширина сидения должна составлять не менее 400 мм, глубина - не менее 380 мм. Высота опорной поверхности спинки должна быть не менее 300 мм. Ширина не менее 380 мм, радиус ее кривизны в горизонтальной плоскости 400 мм. Угол наклона спинки должен изменяться в пределах 90-110 % к плоскости сидения. Материал покрытия рабочего стула должен обеспечивать возможность легкой очистки от загрязнения. Поверхность сидения и спинки должна быть полумягкой, с нескользящим, не электризующимся и воздухопроницаемым покрытием. На рабочем месте необходимо предусматривать подставку для ног. Ее длина должна составлять 400 мм, ширина 350 мм, регулировка высоты 0-150 мм, угла наклона 0-120°. В целях профилактики переутомления и перенапряжения при работе на ЭВМ необходимо выполнять комплексы упражнений. С целью снижения или устранения нервно - психического, зрительного и мышечного напряжения необходимо проводить сеансы психофизиологической разгрузки и снятия усталости во время регламентированных перерывов, и после окончания рабочего дня. Снижение или устранение нервно-психического, зрительного и мышечного напряжения, предупреждение переутомления и снятие усталости во время регламентированных перерывов и после окончания рабочего дня проводится в специально оборудованном помещении - комнате психологической разгрузки. Эту комнату следует располагать на расстоянии не белее 75 м от рабочих мест. Требования к оборудованию комнаты психологической разгрузки изложены в "Межотраслевых методических рекомендациях по предупреждению переутомления работников физического и умственного труда". При обычной работе с компьютером необходимо делать 15-минутные перерывы через каждые два часа, а при интенсивной работе - через каждый час. Основным перерывом является перерыв на обед. Не следует превышать темп работы порядка 10 тысяч нажатий клавиш в час (примерно 1500 слов). При вводе данных с клавиатуры рекомендуется не зажимать телефонную трубку между плечом и ухом, а также бросить курить (что вредно как для пользователя, так и для компьютера). В ночные часы не должны выполняться работы или задания, требующие сложных решений или ответственных действий. Помещение обязательно должно удовлетворять требованиям “Пожарная безопасность зданий и сооружений”. Это в свою очередь предполагает, что здание, в котором находится помещение, отвечает стандартам безопасности. Для того чтобы исключить возможность воспламенения электрической проводки помещения от короткого замыкания, электропитание должно осуществляться через специальный электрощит, включающий в себя автомат, автоматически, прерывающий, подачу, напряжения, в, случае, перегрузки, в, электросети, которая возникает при коротком замыкании. Стены и пол помещения должны быть выполнены из негорючих материалов или отделаны (покрыты) этими материалами, во избежание распространения огня в случае возгорания оборудования. Также в помещении должно находиться не менее одного исправного порошкового огнетушителя (применение в случае возгорания оборудования водяного или пенного огнетушителей может повлечь короткое замыкание и подвергнуть опасности здоровье и жизнь пользующегося огнетушителем). Заключение
В курсовом проекте были рассмотрены следующие вопросы: · Разработан алгоритм метода решения поставленной задачи; · Написанная программа, пригодная для использования Задачей данного курсового проекта являлось разработать программный продукт «Решение транспортной задачи методом минимальной стоимости» с использованием таблиц в Delphi. Для достижения данной цели в первом разделе курсового проекта была дана теория решения данной задачи, которой подчиняется данный курсовой проект. Во второй части курсового проекта изложено описание программной реализации данной задачи, функциональные возможностей программы, требования к работе с программным продуктом и руководство к загрузке и эксплуатации Как известно, по степени развития утомления работа на ЭВМ стоит на втором месте после работы водителей автобусов. Поэтому для обеспечения безопасности работы с видеотерминалами необходимо проследить соответствие условий работы нормам безопасности. Критерии данного исследования изложены в третьем разделе пояснительной записки, касающемся вопросов охраны труда. Список используемой литературы.
Приложение А
Рисунок 1 – Вход в программу
Рисунок 2 – Рабочее окно
Рисунок 3 – Заполнение случайными числами
Рисунок 4 – Заполнение вручную
Рисунок 5 – Принятие данных
Рисунок 6 – Обработка открытой формы условий транспортной задачи
Рисунок 7 – Результат
Приложение В
unit Unit1_1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls, Buttons, Menus; type TForm1 = class(TForm) StringGrid1: TStringGrid; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Button1: TButton; Button2: TButton; StringGrid2: TStringGrid; Edit3: TEdit; Label3: TLabel; GroupBox1: TGroupBox; Button4: TButton; CheckBox1: TCheckBox; Button5: TButton; BitBtn1: TBitBtn; BitBtn2: TBitBtn; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N4: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; PopupMenu1: TPopupMenu; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; N14: TMenuItem; N15: TMenuItem; N16: TMenuItem; N17: TMenuItem; N18: TMenuItem; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Button4Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure Edit2Change(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private declarations } public n,m,s1,s2:integer; ishod:array [1..100,1..100] of integer; zap,potr:array [1..100] of integer; s,o,q:string; activ:integer; VHODIM:boolean; { Public declarations } end; var Form1: TForm1; ac1,ac2:boolean; implementation uses Unit2, Unit5, Unit4; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var s1,s2,i,j,a,b:integer; s:string; begin Edit1.Enabled:=false; Edit2.Enabled:=false; Label1.Enabled:=false; Label2.Enabled:=false; Label3.Enabled:=true; Edit3.Enabled:=true; BitBtn1.Enabled:=true;N8.Enabled:=true;N13.Enabled:=true; CheckBox1.Enabled:=false; N5.Enabled:=false; n:=strtoint(Edit1.Text); m:=strtoint(Edit2.Text); StringGrid1.ColCount:=m+2; StringGrid1.RowCount:=n+2; StringGrid1.FixedCols:=1; StringGrid1.FixedRows:=1; StringGrid1.FixedColor:=clmenu; StringGrid2.ColCount:=m+1; StringGrid2.RowCount:=n+1; StringGrid2.FixedCols:=1; StringGrid2.FixedRows:=1; StringGrid2.FixedColor:=clmenu; for i:=1 to n do for j:=1 to m do ishod[i,j]:=random(50); while s<>'2' do begin for i:=1 to n do begin a:= random(300); s1:=s1+a; zap[i]:=a; StringGrid1.Cells[m+1,i]:=inttostr(zap[i]); end; for j:=1 to m do begin b:= random(300); s2:=s2+b; potr[j]:=b; StringGrid1.Cells[j,n+1]:=inttostr(potr[j]); end; if s1=s2 then s:='2' else s1:=0; s2:=0; end; for i:=1 to m do begin s:=inttostr(i); StringGrid1.Cells[i,0]:='Пункт назначения'+s; end; for j:=1 to n do begin s:=inttostr(j); StringGrid1.Cells[0,j]:='Пункт отправления'+s; end; StringGrid1.Cells[m+1,0]:='Запасы'; StringGrid1.Cells[0,n+1]:='Потребности'; for i:=1 to n do for j:=1 to m do StringGrid1.Cells[j,i]:=inttostr(ishod[i,j]); end; procedure TForm1.Button2Click(Sender: TObject); begin Form1.Close; form2.close; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin case Key of '0'..'9',#8:; // цифры и <Backspase> #13: Edit2.SetFocus; // клавиша <Enter> else Key:= Chr(0); end; end; procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin case Key of '0'..'9',#8:; // цифры и <Backspase> #13: Edit2.SetFocus; // клавиша <Enter> else Key:= Chr(0); end; end; procedure TForm1.Button4Click(Sender: TObject); var i,j:integer; begin CheckBox1.Enabled:=false; Button1.Enabled:=false; N11.Enabled:=false; Button5.Enabled:=true;N7.Enabled:=true;N18.Enabled:=true; N6.Enabled:=false; n:=strtoint(Edit1.Text); m:=strtoint(Edit2.Text); StringGrid1.ColCount:=m+2; StringGrid1.RowCount:=n+2; StringGrid1.FixedCols:=1; StringGrid1.FixedRows:=1; StringGrid1.FixedColor:=clmenu; StringGrid2.ColCount:=m+1; StringGrid2.RowCount:=n+1; StringGrid2.FixedCols:=1; StringGrid2.FixedRows:=1; StringGrid2.FixedColor:=clmenu; for i:=1 to m do begin s:=inttostr(i); StringGrid1.Cells[i,0]:='Пункт назначения'+s; end; for j:=1 to n do begin s:=inttostr(j); StringGrid1.Cells[0,j]:='Пункт отправления'+s; end; StringGrid1.Cells[m+1,0]:='Запасы'; StringGrid1.Cells[0,n+1]:='Потребности'; end; procedure TForm1.FormCreate(Sender: TObject); begin Button1.Enabled:= false;N11.Enabled:=false; Button4.Enabled:= false;N17.Enabled:=false; Button5.Enabled:= false;N7.Enabled:=false;N18.Enabled:=false; BitBtn1.Enabled:= false;N8.Enabled:=false; N13.Enabled:=false; CheckBox1.Enabled:= false; Edit3.Enabled:= false; Label3.Enabled:= false; StringGrid1.Enabled:= false; StringGrid2.Enabled:= false; end; procedure TForm1.Edit1Change(Sender: TObject); begin if (length(Edit1.Text)<>0) and (length(edit2.Text)<>0) then begin ac1:=true;Button1.Enabled:= true;CheckBox1.Enabled:= true; StringGrid1.Enabled:=true;StringGrid2.Enabled:=true; N5.Enabled:=true;N4.Enabled:=true; N11.Enabled:=true; end else begin ac1:=false;Button1.Enabled:= false;CheckBox1.Enabled:= false; StringGrid1.Enabled:=false;StringGrid2.Enabled:=false; N5.Enabled:=false;N4.Enabled:=false; N11.Enabled:=false; end; end; procedure TForm1.Edit2Change(Sender: TObject); begin if (length(Edit1.Text)<>0) and (length(edit2.Text)<>0) then begin ac1:=true;Button1.Enabled:= true;CheckBox1.Enabled:= true; StringGrid1.Enabled:=true;StringGrid2.Enabled:=true; N5.Enabled:=true;N4.Enabled:=true;N11.Enabled:=true;end else begin ac1:=false;Button1.Enabled:= false;CheckBox1.Enabled:= false; StringGrid1.Enabled:=false;StringGrid2.Enabled:=false; N5.Enabled:=false;N4.Enabled:=false; N11.Enabled:=false; end; end; procedure TForm1.CheckBox1Click(Sender: TObject); begin StringGrid1.Options:=[goEditing]; activ:=activ+1; Edit1.Enabled:=false; Edit2.Enabled:=false; Label1.Enabled:=false; Label2.Enabled:=false; N6.Enabled:=true; if CheckBox1.Checked=true then begin if ac1=true then begin Button4.Enabled:=true;N6.Enabled:=true;N17.Enabled:=true; Button1.Enabled:=false;N4.Enabled:=false;N11.Enabled:=false; end; end else begin Button4.Enabled:=false;N6.Enabled:=false;N17.Enabled:=false; Button1.Enabled:=true;N4.Enabled:=true;N11.Enabled:=true; end; end; procedure TForm1.Button5Click(Sender: TObject); var i,j,Jenya:integer; begin Jenya:=0; for i:=1 to n+1 do for j:=1 to m+1 do if StringGrid1.Cells[j,i]<>'' then Jenya:=Jenya+1; if Jenya=(((n+1)*(m+1))-1) then begin BitBtn1.Enabled:=true; N8.Enabled:=true; N13.Enabled:=true; Label3.Enabled:=true; Edit3.Enabled:=true; Button4.Enabled:=false; N8.Enabled:=true;N17.Enabled:=false; N6.Enabled:=false; N5.Enabled:=false; n:=strtoint(Edit1.Text); m:=strtoint(Edit2.Text); s1:=0;s2:=0; for i:=1 to n do begin s1:=s1+strtoint(StringGrid1.Cells[m+1,i]); end; for j:=1 to m do begin s2:=s2+strtoint(StringGrid1.Cells[j,n+1]); end; if s1<>s2 then begin {showmessage('Для решения данной задачи необходимо, чтобы суммы запасов и потребностей совпадали'); exit;}form5.Show; end else begin for i:=1 to n do for j:=1 to m do ishod[i,j]:=strtoint(StringGrid1.Cells[j,i]); for j:=1 to m do begin potr[j]:=strtoint(StringGrid1.Cells[j,n+1]); end; for i:=1 to n do begin zap[i]:=strtoint(StringGrid1.Cells[m+1,i]); end; Button5.Enabled:=false;N7.Enabled:=false;N18.Enabled:=false; showmessage('Все введенные Вами данные приняты программой'); exit; end; end else begin ShowMessage('Введите записи во все поля таблицы!!!'); exit; end; end; procedure TForm1.BitBtn1Click(Sender: TObject); var spez:array[1..100,1..100]of integer; i,j,dx,min,max,sh,str,stl,k,l,i1,stoim,dlas1:integer; vyh:boolean; mar:string; begin StringGrid2.Cells[0,0]:='Еденица продукции'; for i:=1 to n do for j:=1 to m do StringGrid2.Cells[j,i]:=inttostr(0); for i:=1 to n do for j:=1 to m do spez[i,j]:=ishod[i,j]; vyh:=false; while vyh<>true do begin dx:=0; sh:=0;max:=0; min:=0; for i:=1 to n do for j:=1 to m do if spez[i,j]=(-1) then dx:=dx+1; if dx=m*n then vyh:=true; if dx<(m*n) then begin for i:=1 to n do for j:=1 to m do if spez[i,j]<>(-1) then min:=spez[i,j]; for i:=1 to n do for j:=1 to m do if (spez[i,j]<>(-1))and(spez[i,j]<min) then min:=spez[i,j]; for i:=1 to n do for j:=1 to m do if spez[i,j]=min then sh:=sh+1; if sh=1 then begin for i:=1 to n do for j:=1 to m do if spez[i,j]=min then begin str:=i; stl:=j; end; end; if sh>1 then begin for i:=1 to n do for j:=1 to m do if spez[i,j]=min then begin for k:=1 to n do if (k<>i)and(spez[k,j]>max) then begin max:=spez[k,j]; str:=i; stl:=j; end;
for l:=1 to m do if (l<>j)and(spez[i,l]>max) then begin max:=spez[i,l]; str:=i; stl:=j; end; end; end; if zap[str]<potr[stl] then begin StringGrid2.Cells[stl,str]:=inttostr(zap[str]); potr[stl]:=potr[stl]-zap[str]; zap[str]:=0; for i1:=1 to m do spez[str,i1]:=-1; end; if potr[stl]<zap[str] then begin StringGrid2.Cells[stl,str]:=inttostr(potr[stl]); zap[str]:=zap[str]-potr[stl]; potr[stl]:=0; for i1:=1 to n do spez[i1,stl]:=-1; end; if zap[str]=potr[stl] then begin StringGrid2.Cells[stl,str]:=inttostr(zap[str]); potr[stl]:=0; zap[str]:=0; for i1:=1 to n do spez[i1,stl]:=-1; for i1:=1 to m do spez[str,i1]:=-1; end; end; end; stoim:=0; for i:=1 to n do for j:=1 to m do begin stoim:=stoim+(strtoint(StringGrid2.Cells[j,i])*ishod[i,j]); end; inttostr(stoim); Edit3.Text:=inttostr(stoim); Button1.Enabled:=false;N4.Enabled:=false; N11.Enabled:=false; BitBtn1.Enabled:=false;N8.Enabled:=false; N13.Enabled:=false; BitBtn2.Enabled:=true;N9.Enabled:=true; N14.Enabled:=true; end; procedure TForm1.BitBtn2Click(Sender: TObject); var i,j:integer; begin CheckBox1.Checked:=false; BitBtn2.Enabled:=false;N9.Enabled:=false;N14.Enabled:=false; for i:=1 to n do for j:=1 to m do Stringgrid2.Cells[j,i]:=''; for i:=1 to n+1 do for j:=1 to m+1 do Stringgrid1.Cells[j,i]:=''; Label1.Enabled:=true; Label2.Enabled:=true; Edit1.Enabled:=true; Edit2.Enabled:=true; Edit1.Text:=''; Edit2.Text:=''; m:=0; n:=0; activ:=0; StringGrid1.ColCount:=1; StringGrid1.RowCount:=1; StringGrid2.ColCount:=1; StringGrid2.RowCount:=1; StringGrid2.Cells[0,0]:=''; Label3.Enabled:=false; Edit3.Text:=''; Edit3.Enabled:=false; end; end.
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Mask,Registry, ExtCtrls; type TForm2 = class(TForm) MaskEdit1: TMaskEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; StaticText1: TStaticText; Bevel1: TBevel; procedure BitBtn3Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private declarations } public pass,newpass:STRING; VHODIM:boolean; { Public declarations } end; var Form2: TForm2; implementation uses Unit3, Unit1_1, Unit4; {$R *.dfm} procedure TForm2.BitBtn3Click(Sender: TObject); begin Form2.Enabled:=False; form3.Show; end; procedure TForm2.FormActivate(Sender: TObject); begin MaskEdit1.Text:= ''; MaskEdit1.SetFocus; with TRegistry.Create do begin RootKey:= HKEY_LOCAL_MACHINE; OpenKey('Software', True); if not KeyExists('MyProject') then CreateKey('MyProject'); OpenKey('MyProject', True); if not ValueExists('Password') then begin newpass:= ''; WriteString('Password', newpass); end else pass:= ReadString('Password'); end; end; procedure TForm2.BitBtn1Click(Sender: TObject); begin if MaskEdit1.Text = pass then begin {-???????????????????,?????????????????,????????????????????????? -} Form4.Show; Form2.Hide; VHODIM:=true; end else MaskEdit1.SetFocus; end; procedure TForm2.BitBtn2Click(Sender: TObject); begin Close; end; end.
unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask,Registry, ExtCtrls; type TForm3 = class(TForm) MaskEdit1: TMaskEdit; MaskEdit2: TMaskEdit; MaskEdit3: TMaskEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Bevel1: TBevel; procedure FormActivate(Sender: TObject); procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char); procedure MaskEdit2KeyPress(Sender: TObject; var Key: Char); procedure MaskEdit3KeyPress(Sender: TObject; var Key: Char); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); private { Private declarations } public { Public declarations } end; var Form3: TForm3; v:boolean; implementation uses Unit2; {$R *.dfm} procedure TForm3.FormActivate(Sender: TObject); begin v:=False; MaskEdit1.Text:= ''; MaskEdit2.Text:= ''; MaskEdit3.Text:= ''; MaskEdit1.Enabled:= true; MaskEdit1.SetFocus; MaskEdit2.Enabled:= false; MaskEdit3.Enabled:= false end; procedure TForm3.MaskEdit1KeyPress(Sender: TObject; var Key: Char); begin if (key = #13) and (MaskEdit1.Text = Form2.pass) then begin MaskEdit2.Enabled:= true; MaskEdit1.Enabled:= false; MaskEdit2.SetFocus; end; end; procedure TForm3.MaskEdit2KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then begin MaskEdit3.Enabled:= true; MaskEdit3.SetFocus; MaskEdit2.Enabled:= false; end; end; procedure TForm3.MaskEdit3KeyPress(Sender: TObject; var Key: Char); begin if (key = #13) and (MaskEdit2.Text = MaskEdit3.Text) then begin with TRegistry.Create do begin RootKey:= HKEY_LOCAL_MACHINE; OpenKey('Software', True); if not KeyExists('MyProject') then CreateKey('MyProject'); OpenKey('MyProject', True); WriteString('Password', MaskEdit3.Text); end; v:=True; Form3.Hide; Form2.Enabled:=True; end; end; procedure TForm3.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin Canclose:=v; end; end.
unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm4 = class(TForm) Image1: TImage; Label1: TLabel; Label2: TLabel; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure Button1Click(Sender: TObject); private { Private declarations } public sss:Boolean; { Public declarations } end; var Form4: TForm4; implementation uses Unit1_1, Unit2; {$R *.dfm} var Back, Picture: TBitMap; // фон и картинка BackRct: TRect; // положение и размер области фона, // которая должна быть восстановлена
x,y:integer; // текущее положение картинки W,H: integer; // размеры картинки procedure TForm4.FormCreate(Sender: TObject); begin { Свойству AutoSize обязательно надо присвоить значение False. Это можно сделать во время создания формы. } sss:=False; Image1.AutoSize:= False; // создать два объекта - битовых образа Back:= TBitmap.Create; // фон Picture:= TBitmap.Create; // картинка
// загрузить и вывести фон Back.LoadFromFile('11.bmp'); Image1.Width:= Back.Width; Image1.Height:= Back.Height; Image1.Canvas.Draw(0,0,Back); // загрузить картинку, которая будет двигаться Picture.LoadFromFile('22.bmp'); W:= Picture.Width; H:= Picture.Height; // определим "прозрачный" цвет Picture.Transparent:= True; // прозрачный цвет картинки определяет // левый верхний пиксел картинки Picture.TransParentColor:= Picture.Canvas.Pixels[1,1]; // начальное положение картинки x:= -W; y:= 320; // определим сохраняемую область фона BackRct:=Bounds(x,y,W,H); end; procedure TForm4.Timer1Timer(Sender: TObject); begin if Form2.VHODIM=true then begin // восстановлением фона удалим рисунок Image1.Canvas.CopyRect(BackRct,Back.Canvas,BackRct); x:=x+100; if (x > Image1.Width)and(Form2.VHODIM=true)and (sss=false) then begin Form1.Show;Form4.Hide;sss:=true; end; if x > Image1.Width then x:=-W; // определим сохраняемую область фона BackRct:=Bounds(x,y,W,H); // выведем рисунок Image1.Canvas.Draw(x,y,Picture); end; end; procedure TForm4.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin // освободим память, выделенную // для хранения битовых образов Back.Free; Picture.Free; end; procedure TForm4.Button1Click(Sender: TObject); begin Form1.Show; form4.Hide; end; end.
unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm5 = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; Label1: TLabel; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private declarations } public sogl:boolean; { Public declarations } end; var Form5: TForm5; implementation uses Unit1_1; {$R *.dfm} procedure TForm5.BitBtn1Click(Sender: TObject); var i,j:integer; begin sogl:=true; Form1.Button5.Enabled:=False; Form1.N7.Enabled:=False; Form1.N18.Enabled:=False; if Form1.s1<Form1.s2 then begin Form1.n:=Form1.n+1; Form1.StringGrid1.ColCount:=Form1.m+2; Form1.StringGrid1.RowCount:=Form1.n+2; Form1.StringGrid1.FixedCols:=1; Form1.StringGrid1.FixedRows:=1; Form1.StringGrid1.FixedColor:=clmenu; Form1.StringGrid2.ColCount:=Form1.m+1; Form1.StringGrid2.RowCount:=Form1.n+1; Form1.StringGrid2.FixedCols:=1; Form1.StringGrid2.FixedRows:=1; Form1.StringGrid2.FixedColor:=clmenu; for i:=1 to Form1.m do begin Form1.s:=inttostr(i); Form1.StringGrid1.Cells[i,0]:='Пункт назначения'+Form1.s; end; for j:=1 to Form1.n do begin Form1.s:=inttostr(j); Form1.StringGrid1.Cells[0,j]:='Пункт отправления'+Form1.s; end; Form1.StringGrid1.Cells[Form1.m+1,0]:='Запасы'; Form1.StringGrid1.Cells[0,Form1.n+1]:='Потребности'; for j:=1 to Form1.m do begin Form1.StringGrid1.Cells[j,Form1.n+1]:=Form1.StringGrid1.Cells[j,Form1.n]; Form1.StringGrid1.Cells[j,Form1.n]:='0'; end; Form1.StringGrid1.Cells[Form1.m+1,Form1.n]:=inttostr(Form1.s2-Form1.s1); Form5.Close; end; if Form1.s1>Form1.s2 then begin Form1.m:=Form1.m+1; Form1.StringGrid1.ColCount:=Form1.m+2; Form1.StringGrid1.RowCount:=Form1.n+2; Form1.StringGrid1.FixedCols:=1; Form1.StringGrid1.FixedRows:=1; Form1.StringGrid1.FixedColor:=clmenu; Form1.StringGrid2.ColCount:=Form1.m+1; Form1.StringGrid2.RowCount:=Form1.n+1; Form1.StringGrid2.FixedCols:=1; Form1.StringGrid2.FixedRows:=1; Form1.StringGrid2.FixedColor:=clmenu; for i:=1 to Form1.m do begin Form1.s:=inttostr(i); Form1.StringGrid1.Cells[i,0]:='Пункт назначения'+Form1.s; end; for j:=1 to Form1.n do begin Form1.s:=inttostr(j); Form1.StringGrid1.Cells[0,j]:='Пункт отправления'+Form1.s; end; Form1.StringGrid1.Cells[Form1.m+1,0]:='Запасы'; Form1.StringGrid1.Cells[0,Form1.n+1]:='Потребности'; for j:=1 to Form1.n do begin Form1.StringGrid1.Cells[Form1.m+1,j]:=Form1.StringGrid1.Cells[Form1.m,j]; Form1.StringGrid1.Cells[Form1.m,j]:='0'; end; Form1.StringGrid1.Cells[Form1.m,Form1.n+1]:=inttostr(Form1.s1-Form1.s2); Form5.Close; end; for i:=1 to Form1.n do for j:=1 to Form1.m do Form1.ishod[i,j]:=strtoint(Form1.StringGrid1.Cells[j,i]); for j:=1 to Form1.m do begin Form1.potr[j]:=strtoint(Form1.StringGrid1.Cells[j,Form1.n+1]); end; for i:=1 to Form1.n do begin Form1.zap[i]:=strtoint(Form1.StringGrid1.Cells[Form1.m+1,i]); end; end; procedure TForm5.BitBtn2Click(Sender: TObject); begin close; end; end.
|
||
|
Последнее изменение этой страницы: 2016-12-27; просмотров: 198; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.009 с.) |