program Geodezia;
var Prgeod,Obrgeod,KBYravnenie,Uclon:integer; //Название Геодезических задач
Oshcibki:integer;
textField_id:integer; //Едит для ввода информации во всех задачах
L1,L23,B2pr:integer; //Переменные для решения задачи
show,okcommand,clicked:command; //Здесь будут все команды для приложения
Perema,Peremb,Peremc,Discrim,x1,x2:integer; //Для кв.Уравнения
Ha,Hb,Dab,I,hab:integer;//Решение задачи для рассчета уклона в процентах
Ha1,Hb1,Dab1,I1,hab1:real;
Formirovanie_otveta:string; //Обработка ответов
Perema1,Peremb1,Peremc1,Discrim1:real;
{Доработка всех переменных в будуещем используемых в решении}
begin
ShowMenu('Выберите задачу',CH_Implicit);
Prgeod := menuAppendString('Прямая геодезическая');
Obrgeod := menuAppendString('Обратная геодезическая');
KBYravnenie := menuAppendString('Квадратное уравнение');
Uclon := menuAppendString('Рассчет уклона');
Oshcibki := menuAppendString('Теория ошибок');
{Доработка меню}
// Начало Создания функций выбора в программе по геодезии
show:=createCommand('Выбрать',CM_SCREEN,1);
addcommand(show);
repeat
delay(100);
Clicked:=getclickedcommand;
until clicked=show;
// Начало программы решения квадратного уравнения
if menugetselectedindex = KBYravnenie then
Begin
ShowForm;
while true do //запускаем бесконечный цикл
begin
okCommand := createCommand('OK', CM_OK, 1);
showForm;
addCommand(okCommand);
Perema:=formaddtextfield('Введите a','',20,TF_Numeric);
Peremb:=formaddtextField('Введите b','',20,TF_Numeric);
Peremc:=formaddtextField('Введите c','',20,TF_Numeric);
//Ожидание нажатия ок
While(getclickedCommand<>okcommand) do
delay (100);
//Создаем дополнительные переменные для результата REAL
Perema1:=StringtoReal(formgettext(Perema),10);
Peremb1:=StringToReal(formgettext(Peremb),10);
Peremc1:=StringToReal(formgettext(Peremc),10);
Discrim1:=Stringtoreal(formgettext(Discrim),10);
//Само решение квадатного уравнения,используя переменные типа REAL
Discrim1:=(Peremb1*Peremb1)-(4*Perema1*Peremc1);
Formirovanie_otveta := 'D ='+Peremb1+'*'+peremb1+'(4 *'+Perema1+' *'+Peremc1+')';
Formirovanie_otveta := 'ответ'+Discrim1+'';
showCanvas;
drawtext(Formirovanie_otveta, 0,0);
repaint;
delay(20000);
if Discrim1 <0 then
Drawtext('Корней в уравнении НЕМА',0,0);
repaint;
delay(20000);
{Тут будет завершено создание квадратного уравнения}
{Тело программы}
end;
if menugetselectedindex = Uclon then
begin
ShowForm;
while true do //запускаем бесконечный цикл
begin
okCommand := createCommand('OK', CM_OK, 1);
showForm;
addCommand(okCommand);
Ha:=formaddtextField('Введите HA','',20,TF_Numeric);
Hb:=formaddtextField('Введите HB','',20,TF_Numeric);
Dab:=formaddtextField('Введите Dab','',10,TF_Numeric);
While(getclickedCommand<>okcommand) do
delay (100);
Ha1:=StringToREal(formgettext(Ha),10);
Hb1:=StringToReal(formgettext(Hb),10);
Dab1:=StringToReal(formgettext(Dab),10);
I1:=StringTOReal(formgettext(I),10);
hab1:=StringToReal(formgettext(hab),10);
hab1:=Hb-Ha;
I1:=(hab1/Dab1)*100;
end;
end;
end;
end.