Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Компонента RadioGroup
В меню Standard выберите пиктограмму , поместите ее в нужное место формы. На форме появится окаймленный линией чистый прямоугольник с заголовком RadioGroup 1. Замените заголовок (Caption) на «Выбор функции». В инспекторе объектов в свойстве Items вызовите строчный редактор списка заголовков кнопок и наберите три строки с именами выбираемых функций (cos (x), sin (x), tg (x)), нажмите ОК. После этого внутри компоненты появятся три кнопки-переключателя с введенными надписями. В тексте Unit 1. h появилась переменная RadioGroup 1 типа TRadioGroup. Теперь при нажатии одной из кнопок группы в переменной целого типа RadioGroup 1-> ItemIndex будет находиться номер выбранной строчки (отсчитывается от нуля). В функции FormCreate () желательно установить начальное значение этой переменной, например, RadioGroup 1-> ItemIndex = 0. Подготовив форму, создайте функции-обработчики событий FormСreate и Botton1Сlick аналогично первой работе. Текст функций приведен в примере. Запустите программу и убедитесь в том, что все ветви алгоритма выполняются правильно. Форма приведена на рис. 2.1. Рис. 2.1
Текст программы может быть следующим: //--------------------------------------------------------------------------- #include < vcl.h> #pragma hdrstop #include " Unit1.h" #include " math.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1:: FormCreate (TObject *Sender) { Edit1-> Text=" 0, 1"; Edit2-> Text=" 0, 356"; Edit3-> Text=" -3, 5"; Memo1-> Clear(); Memo1-> Lines-> Add(" Лабораторная работа 2"); RadioGroup1-> ItemIndex = 0; } //--------------------------------------------------------------------------- void __fastcall TForm1:: Button1Click (TObject *Sender) { double x, y, z, u, ma; x=StrToFloat(Edit1-> Text); y=StrToFloat(Edit2-> Text); z=StrToFloat(Edit3-> Text); // Проверка номера нажатой кнопки и выбор соответствующей функции switch(RadioGroup1-> ItemIndex){ case 0: u=cos(x); Memo1-> Lines-> Add(" Cos(x)= " +FloatToStrF(u, ffFixed, 8, 6)); break; case 1: u=sin(x); Memo1-> Lines-> Add(" Sin(x)= " +FloatToStrF(u, ffFixed, 8, 6)); break; case 2: u=tan(x); Memo1-> Lines-> Add(" Tg(x)= " +FloatToStrF(u, ffFixed, 8, 6)); break; } // Проверка состояния кнопки CheckBox1 if (CheckBox1-> Checked){ u = fabs(u); y = fabs(y); z = fabs(z); } // Нахождение максимального из трех чисел if (u> y) ma=u; else ma=y; if (z> ma) ma=z; if (CheckBox1-> Checked) Memo1-> Lines-> Add(" Max модулей= " +FloatToStrF(ma, ffFixed, 8, 6)); else Memo1-> Lines-> Add(" Max= " +FloatToStrF(ma, ffFixed, 8, 6)); }
|