Показать сообщение отдельно
Старый 10.09.2008, 11:15   #5
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Работа нескольких программ в одной

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;
     menu : integer;
     {Доработка всех переменных в будуещем используемых в решении}
begin
  okCommand := createCommand('OK', CM_OK, 1);    
	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;
	menu := menugetselectedindex;
	debug('m='+menu);
// Начало программы решения квадратного уравнения 
	if menu = 2 then Begin
		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 menu = 3 then begin
	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.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
anton_obuhov (10.09.2008)