Exemplo n.º 1
0
        /// <summary>
        /// Кнопка "ОК
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOk_Click(object sender, EventArgs e)
        {
            string enteredPass = tbPass.Text.Trim();

            //проверка на пустой ввод
            if (enteredPass == "")
            {
                MessageBox.Show("Пароль не может быть пустым.");
                return;
            }
            //Проверка правильности пароля
            if (FormSettings.GetPassConfirmed(enteredPass))
            {
                PasswordConfirmed = true;
                Hide();
            }
            else
            {
                PasswordConfirmed = false;
                MessageBox.Show("Неправильный пароль.");
                tbPass.Clear();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Запуск формы настроек
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSettings_Click(object sender, EventArgs e)
        {
            FormSettings fs = new FormSettings();

            fs.ShowDialog();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Формирование отчета
        /// </summary>
        /// <param name="tp"></param>
        /// <returns></returns>
        private Bitmap DrawResult(TestParams tp)
        {
            Bitmap   bm = new Bitmap(840, 1188);
            Graphics gr = Graphics.FromImage(bm);
            //создание шрифтов
            Font       font      = new Font("Times New Roman", 14);
            Font       fontSmall = new Font("Times New Roman", 7);
            Font       fontBold  = new Font("Times New Roman", 14, FontStyle.Bold);
            SolidBrush brush     = new SolidBrush(Color.Black);

            //заливка фона белым цветом
            gr.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, 840, 1188));
            //Название учреждения
            gr.DrawString(FormSettings.GetInfo()[0], fontBold, brush, new PointF(150, 15));
            //Пациент
            gr.DrawString(String.Format("Пациент: " + tp.Patient.FIO), font, brush, new PointF(30, 50));
            gr.DrawString(String.Format("Пол: " + tp.Patient.Sex), font, brush, new PointF(30, 75));
            gr.DrawString(String.Format("Дата рождения: " + tp.Patient.DateOfBirth.ToShortDateString()), font, brush, new PointF(30, 100));
            //возраст
            int age = DateTime.Now.Subtract(tp.Patient.DateOfBirth).Days / 365;

            gr.DrawString(String.Format("Возраст: " + age), font, brush, new PointF(30, 125));
            //дата теста
            gr.DrawString(String.Format("Дата проведения теста: " + tp.DateOfTest.ToShortDateString()), font, brush, new PointF(30, 150));
            gr.DrawString(String.Format("Время проведения теста: " + tp.DateOfTest.ToShortTimeString()), font, brush, new PointF(30, 175));
            //глаз
            gr.DrawString(String.Format("Глаз: " + Eyes.GetString(tp.CurrentEye)), font, brush, new PointF(480, 50));
            //Время теста
            gr.DrawString(String.Format("Длительность теста: " + tp.Results.TestTime), font, brush, new PointF(480, 75));
            //импульсы
            gr.DrawString(String.Format("Длительность импульса: " + tp.Results.Duration + " мс"), font, brush, new PointF(480, 100));
            gr.DrawString(String.Format("Интервал импульса: " + tp.Results.Interval + " мс"), font, brush, new PointF(480, 125));
            //точки
            gr.DrawString(String.Format("Количество точек: " + tp.Results.IntensityResults.Length), font, brush, new PointF(480, 150));
            //стратегия
            gr.DrawString(String.Format("Стратегия: " + TestMethods.GetString(tp.TestMethod)), font, brush, new PointF(480, 175));
            //название теста
            gr.DrawString(String.Format("Тест: " + tp.TestName), fontBold, brush, new PointF(150, 210));
            #region График светочувствительности
            Pen   pen     = new Pen(Color.Black, 1);
            Point center  = new Point(420, 670);
            int   diametr = 800;

            //рисование осей
            gr.DrawLine(pen, center.X - diametr / 2, center.Y, center.X + diametr / 2, center.Y);
            gr.DrawLine(pen, center.X, center.Y - diametr / 2, center.X, center.Y + diametr / 2);
            //определение самой отдаленной точки от центра координат
            int MaxAngle = 0;
            for (int i = 0; i < tp.IndexesOfLights.Length; i++)
            {
                if (MaxAngle < LibraryOfLights.RadialLights[tp.IndexesOfLights[i]].Distance)
                {
                    MaxAngle = LibraryOfLights.RadialLights[tp.IndexesOfLights[i]].Distance;
                }
            }
            //определение максимального угла, написанного на осях
            int MaxAxisAngle = MaxAngle;
            if (MaxAngle % 10 != 0)
            {
                float val = MaxAngle / 10f + 1f;
                MaxAxisAngle = (int)val * 10;
            }
            if (MaxAxisAngle == 0)
            {
                MaxAxisAngle = 10;
            }
            int numberOfCircles = MaxAxisAngle / 10;
            //коэффициент растяжения точек
            float koef = (diametr / 2) / MaxAxisAngle;
            //рисование окружностей
            Pen pen2 = new Pen(new System.Drawing.Drawing2D.HatchBrush(System.Drawing.Drawing2D.HatchStyle.Percent90, Color.WhiteSmoke), 0.5f);
            for (int i = 1; i <= numberOfCircles; i++)
            {
                int rad = (int)(koef * 10f * i);
                gr.DrawEllipse(pen2, new Rectangle(center.X - rad, center.Y - rad, rad * 2, rad * 2));
                gr.DrawString((i * 10).ToString(), fontSmall,
                              new System.Drawing.Drawing2D.HatchBrush(System.Drawing.Drawing2D.HatchStyle.Percent20, Color.WhiteSmoke),
                              new PointF(center.X + koef * i * 10, center.Y));
            }
            //рисование интенсивностей
            for (int i = 0; i < tp.IndexesOfLights.Length; i++)
            {
                //определение положения
                Point loc = getLocationOfLabel(LibraryOfLights.RadialLights[tp.IndexesOfLights[i]], center, koef);
                //рисование
                gr.DrawString(tp.Results.IntensityResults[i].IntensityLevel.ToString(), fontSmall, brush, loc);
            }
            //график светочувствительности
            gr.DrawString("График светочувствительности, Дб", font, brush, new PointF(250, 1080));
            #endregion
            //врач
            gr.DrawString(String.Format("Врач: " + FormSettings.GetInfo()[1]), font, brush, new PointF(30, 1130));
            return(bm);
        }