Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Прочие вопросы

Прочие вопросы Вопросы не касающиеся программирования (установка, настройка...)

Ответ
 
Опции темы
Старый 27.03.2012, 11:28   #1
reyn90
Нуждающийся
 
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений
(для 0 пользователей)
Неработает код

program complex;
var n11,n22,n1,n1j,n2,n2j,op,otvet:integer;
     d1,m1,d2,m2,res1,res2:integer;
     oper,itog1,itog2:string;
     cl,cm,resh:command;
begin
n11:=FormAddString('N1');
n1:=FormAddTextField('deystvit','0',50,TF_NUMERIC);
n1j:=FormAddTextField('+j','0',50,TF_NUMERIC);
n22:=FormAddString('N2');
n2:=FormAddTextField('deystvit','0',50,TF_NUMERIC);
n2j:=FormAddTextField('+j','0',50,TF_NUMERIC);
op:=FormAddTextField('operaciya','-',50,TF_ANY);

ShowForm;

d1:=FormGetValue(n1);
m1:=FormGetValue(n1j);
d2:=FormGetValue(n2);
m2:=FormGetValue(n2j);
oper:=FormGetText(op);

resh:=CreateCommand('reshit',CM_SCREEN,2);
AddCommand(resh);
repeat
cl:=GetClickedCommand;
until cl=resh;



if oper='+' then
begin
res1:= d1 + d2;
res2:= m1 + m2;
end;

if oper='-' then
begin
res1:=d1-d2;
res2:=m1-m2;
end;



itog1:= integerToString(res1) ;
itog2:= integerToString(res2) ;

otvet:=FormAddString(itog1+'+j'+itog2);
ShowForm;

 cm := createCommand('Exit', CM_OK, 1);
    addCommand(cm);
    repeat
      delay(100);
    until getClickedCommand = cm;

end.
Нерешает
if oper='+' then
begin
res1:= d1 + d2;
res2:= m1 + m2;
end;

if oper='-' then
begin
res1:=d1-d2;
res2:=m1-m2;
end;
или какая ни-ть другая часть кода. Может не вытаскивает значения из TextField
d1:=FormGetValue(n1);
m1:=FormGetValue(n1j);
d2:=FormGetValue(n2);
m2:=FormGetValue(n2j);
oper:=FormGetText(op);
Скрин на эмуляторе
Миниатюры
Нажмите на изображение для увеличения
Название: error.jpg
Просмотров: 236
Размер:	89.7 Кб
ID:	16509  
(Offline)
 
Ответить с цитированием
Старый 27.03.2012, 11:47   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Неработает код

Не знаю, как на счет вычислительного кода, но FormGetValue используется для получения позиции Gauge, он не предназначен для получения значений из TextField. Нужно использовать FormGetText.
(Offline)
 
Ответить с цитированием
Старый 27.03.2012, 11:57   #3
reyn90
Нуждающийся
 
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Неработает код

Сообщение от ViNT Посмотреть сообщение
Не знаю, как на счет вычислительного кода, но FormGetValue используется для получения позиции Gauge, он не предназначен для получения значений из TextField. Нужно использовать FormGetText.
Исправил на
program complex;
var n11,n22,n1,n1j,n2,n2j,op,otvet:integer;
     d1,m1,d2,m2,res1,res2:integer;
     oper,itog1,itog2,d11,m11,d22,m22:string;
     cl,cm,resh:command;
begin
n11:=FormAddString('N1');
n1:=FormAddTextField('deystvit','0',50,TF_NUMERIC);
n1j:=FormAddTextField('+j','0',50,TF_NUMERIC);
n22:=FormAddString('N2');
n2:=FormAddTextField('deystvit','0',50,TF_NUMERIC);
n2j:=FormAddTextField('+j','0',50,TF_NUMERIC);
op:=FormAddTextField('operaciya','-',50,TF_ANY);

ShowForm;

d11:=FormGetText(n1);
m11:=FormGetText(n1j);
d22:=FormGetText(n2);
m22:=FormGetText(n2j);
oper:=FormGetText(op);

d1:=StringToInteger(d11);
d2:=StringToInteger(d22);
m1:=StringToInteger(m11);
m2:=StringToInteger(m22);

resh:=CreateCommand('reshit',CM_SCREEN,2);
AddCommand(resh);
repeat
cl:=GetClickedCommand;
until cl=resh;



if oper='+' then
begin
res1:= d1 + d2;
res2:= m1 + m2;
end;

if oper='-' then
begin
res1:=d1-d2;
res2:=m1-m2;
end;



itog1:= integerToString(res1) ;
itog2:= integerToString(res2) ;

otvet:=FormAddString(itog1+'+j'+itog2);
ShowForm;

 cm := createCommand('Exit', CM_OK, 1);
    addCommand(cm);
    repeat
      delay(100);
    until getClickedCommand = cm;

end.
а ответ 0+j0
Может условие if неработает
Да нет. Убрал Условие if оставив лишь операции сложения а он всё равно мне нули показывает.

Последний раз редактировалось reyn90, 27.03.2012 в 12:20. Причина: Предположение
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 19:50.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com