|
Основной форум Сюда все проблемы связанные с программированием. |
09.09.2008, 18:09
|
#1
|
Оператор ЭВМ
Регистрация: 25.10.2007
Сообщений: 30
Написано одно полезное сообщение (для 2 участников)
|
Работа нескольких программ в одной
Суть проблемы такова
есть меню в меню 5 задач при входе в задачу создаются textField-ы соответствующие ну там вводиш и нажимаеш это понятно. Проблема вот в чем я написал решение квадратного уравнения которое включается при выборе пункта и при выборе второго пункта сделал решение другой задачи, квадратное запускается а вторая не хочет просто выходит из приложения, ошибок нет, все одинаково
|
(Offline)
|
|
09.09.2008, 19:20
|
#2
|
Разработчик
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений (для 638 пользователей)
|
Ответ: Работа нескольких программ в одной
Ты бы лучше исходник показал, а то так как ты сформулировал, трудно понять, что ты хочешь.
|
(Offline)
|
|
10.09.2008, 04:32
|
#3
|
Оператор ЭВМ
Регистрация: 25.10.2007
Сообщений: 30
Написано одно полезное сообщение (для 2 участников)
|
Re: Работа нескольких программ в одной
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.
То что выделено красным даже не появляется помогите
|
(Offline)
|
|
10.09.2008, 04:33
|
#4
|
Оператор ЭВМ
Регистрация: 25.10.2007
Сообщений: 30
Написано одно полезное сообщение (для 2 участников)
|
Re: Работа нескольких программ в одной
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;
А вот это не пояавляется даже (вопрос почему)
|
(Offline)
|
|
10.09.2008, 11:15
|
#5
|
Оптимист
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:19.
|