Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Охрана труда и техники безопасности↑ ⇐ ПредыдущаяСтр 3 из 3 Содержание книги
Поиск на нашем сайте
Главная цель улучшения условий труда - достижение социального эффекта, т.е. обеспечение безопасности труда, сохранение здоровья и высокой работоспособности человека, создание всех условий для обогащения содержания труда и развития его творческого начала. Вместе с тем снижение уровня заболеваемости и числа несчастных случаев имеют и экономические результаты, выражающиеся в увеличении периода профессиональной активности трудящихся; росте производительности труда; сокращении затрат, связанных с компенсацией за работу с вредными и тяжелыми условиями труда; уменьшении потерь, связанных с травматизмом, профессиональной и профессионально-обусловленной заболеваемостью; уменьшении текучести кадров и рядом других положительных факторов производственной деятельности предприятия, связанных с улучшением условий и охраны труда. ЭВМ устанавливается и размещается в соответствии с требованиями технических условий заводов-изготовителей. Минимальная ширина проходов между компьютерами должна быть не менее одного метра. Рабочее место с дисплеями должно располагаться на расстоянии не менее 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; просмотров: 116; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.99.221 (0.009 с.) |