Создание обучающей системы автоматизированного проектирования маломощных электромеханических следящих систем, страница 64

  // Показать скрыть график третьего звена

KULax.Series[2].Active := not KULax.Series[2].Active;

end;

procedure TForm1.cbZ4Click(Sender: TObject);

begin

  // Показать скрыть график четвёртого звена

KULax.Series[3].Active := not KULax.Series[2].Active;

end;

procedure TForm1.cbLKUClick(Sender: TObject);

begin

  // Показать скрыть график КУ

  KULax.Series[10].Active := not KULax.Series[10].Active;

end;

// Проверка ЧЭ

procedure TForm1.bbTestChClick(Sender: TObject);

begin

  edHalfSE.Text := FloatToStr(vars[6]/2.0); // Половина статической ошибки ситемы

  edKp.Text := FloatToStr(StrToFloat(SensorGrid.Cells[3,selected_ch])*sqr(StrToFloat(SensorGrid.Cells[1,selected_ch])));

  if StrToFloat(SensorGrid.Cells[4,selected_ch])>vars[6]/2.0 then

  begin

    mmChEl.Lines.Add('Чувствительный элемент не подходит по точности. Выберите другой ЧЭ.');

    Button8.Enabled:=false;

    bbTestCh.Enabled := False;

    lbTestch.Caption := 'Чувствительный элемент не подходит по точности!';

    lbTestch.Show;

  end

  else

  begin

    mmChEl.Lines.Add('Чувствительный элемент подходит по точности.');

    lbTestch.Caption := 'Чувствительный элемент подходит по точности!';

    mmChEl.Lines.Add('Для построения логарифмических характеристик системы нажмите кнопку "Дальше>>".');

bbTestCh.Enabled := False;

    lbTestch.Show;

    Button8.Enabled:=true;

    // Выключаем временно кнопки

    Button1.Enabled := False;  // выключение кнопку начать расчёт

    Button5.Enabled := False; // выключение кнопки редуктора

Button7.Enabled := False; // выключение кнопки БД

  end;

end;

// Кнопка - курс лекций

procedure TForm1.btLecturesClick(Sender: TObject);

const  fn='./help/index.html';

begin

  if FileExists(fn) then

  ShellExecute(Handle,'open',fn,NIL,NIL,SW_RESTORE)

  else MessageBox(Handle,'Файл курса лекций не найден!','Курс лекций',MB_OK or MB_ICONWARNING);

end;

// Отключение тестов

procedure TForm1.passwordDblClick(Sender: TObject);

var i : Integer;

begin

  if Password.Text = 'Тест' then

  begin

    MessageBox(Handle,'Тесты отключены, включен тестовый режим!','Тестовый режим!!!',MB_OK or MB_ICONWARNING);

    // ЧИТ НА ОТКЛЮЧЕНИЕ ТЕСТОВ

    for i := 1 to 5 do

test_res[i].right:=5;

    Form1.BaseSheet.Enabled:=true;

    Form1.RedSheet.Enabled:=true;

    Form1.SensorSheet.Enabled:=true;

    Form1.LahSheet.Enabled:=true;

    Form1.ShemeSheet.Enabled:=true;

  end;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

  Button1.SetFocus;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

  Label70.Show;

end;

// Просмотр схемы в Windows

procedure TForm1.btViewClick(Sender: TObject);

const  fn='./СС.jpg';

begin

  if FileExists(fn) then

  ShellExecute(Handle,'open',fn,NIL,NIL,SW_RESTORE)

  else MessageBox(Handle,'Файл схемы не найден!','Ошибка',MB_OK or MB_ICONWARNING);

end;

{// Обработка сообщения WM_SIZE;

procedure TForm1.WMSize(var Msg: TWMSize);

begin

  if (Msg.SizeType = SIZE_MAXIMIZED) then

  begin

   // SendMessage(Handle,SIZE_RESTORED,939,669);

    ChangeScale(135,100);

 //   Position := PoDesktopCenter;

  end

end;}

procedure TForm1.bbVarClick(Sender: TObject);

var

  Path : String;

  i : Byte;

begin

//Подключаем таблицу

 try

  // Получам путь к базе данных

  Path:=Application.ExeName; // полный путь и название запущенной программы

  Path:=ExtractFileDir(Path); // отбрасываем название программы. Остается путь.

  if Path[Length(Path)]<>'\' then Path:=Path+'\'; // если последний символ не \ то добавить его

  {Последняя строка нужна для присвоения последнего символа '\',

  потому что при обрезке файла 'C:\PROG.EXE' получим 'C:\',

  а при обрезке 'C:\WINDOWS\PROG.EXE' получим 'C:\WINDOWS' }

fmVar.Table1.DataBaseName := Path; // Путь к БД

  fmVar.Table1.Active:=true;

 except

  begin

  {Если нельзя открыть таблицу - закрываем программу}