|
Прочие вопросы Вопросы не касающиеся программирования (установка, настройка...) |
27.03.2012, 18:39
|
#1
|
Нуждающийся
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений (для 0 пользователей)
|
Да что я не так делаю?
program Calk;
var ch1,ch2,ress,ch11,ch22,res:integer;
// ch11,ch22,res:real;
cmdr:command;
chislo1,chislo2:string;
begin
ShowForm;
ch1:=FormAddTextField('Первое число','1.0',50,TF_NUMERIC);
ch2:=FormAddTextField('Второе число','2.0',50,TF_NUMERIC);
cmdr:=createCommand('Решить',CM_SCREEN,1);
addCommand(cmdr);
repeat
until GetClickedCommand = cmdr;
chislo1:=formGetText(ch1);
chislo2:=formGetText(ch2);
ch11:=StringToInteger(chislo1);
ch22:=StringToInteger(chislo2);
res:=ch11+ch22;
ress:=FormAddTextField('Результат:',IntegerToString(ress),50,TF_NUMERIC);
delay(5000);
end.
В пример складываю 10+2
Результатом является 0
почему неработает команда
|
(Offline)
|
|
27.03.2012, 18:56
|
#2
|
Нуждающийся
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Да что я не так делаю?
Хоть кто нить, скопируйте код и проверьте, может он у вас работает? Может с моим компом что не так?
|
(Offline)
|
|
27.03.2012, 18:58
|
#3
|
Разработчик
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений (для 182 пользователей)
|
Ответ: Да что я не так делаю?
ch1:=FormAddTextField('Первое число','1.0',50,TF_NUMERIC);
ch2:=FormAddTextField('Второе число','2.0',50,TF_NUMERIC);
1.0, 2.0 - испрользуется тип integer, а тут дроби, они в integer не переведутся
res:=ch11+ch22;
ress:=FormAddTextField('Результат:',IntegerToString(ress),50,TF_NUMERIC);
IntegerToString(ress) ??? результат ведь в переменной res.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.03.2012, 19:11
|
#4
|
Нуждающийся
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Да что я не так делаю?
А как осуществить тип real? Например вводят 12.23 и 23.12 нужно чтоб сложились
program Calk;
var ch1,ch2,ress:integer;{ch11,ch22,}
ch11,ch22,res:real;
cmdr:command;
chislo1,chislo2:string;
begin
ShowForm;
ch1:=FormAddTextField('Первое число','1',50,TF_NUMERIC);
ch2:=FormAddTextField('Второе число','2',50,TF_NUMERIC);
cmdr:=createCommand('Решить',CM_SCREEN,1);
addCommand(cmdr);
repeat
until GetClickedCommand = cmdr;
chislo1:=formGetText(ch1);
chislo2:=formGetText(ch2);
ch11:=StringToReal(chislo1);
ch22:=StringToReal(chislo2);
res:=ch11+ch22;
ress:=FormAddTextField('Результат:',RealToString(res),50,TF_NUMERIC);
delay(5000);
end.
На выделенные строки паскаль ругается
|
(Offline)
|
|
27.03.2012, 20:55
|
#5
|
Разработчик
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений (для 182 пользователей)
|
Ответ: Да что я не так делаю?
С английским совсем туго?
[Pascal Error] test_project.mpsrc(18): E421 parameter list is too short
Мало параметров. Открываем мануал и видим:
StringToReal
Извлекает вещественное число из строки текста s. Параметр base указывает на разрядность полученного числа (10 для десятичных чисел).
function StringToReal(str:string; base:integer):real;
|
Функции RealToString в мп нету (наверное...), но можно вместо
RealToString(res)
использовать
''+res
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.03.2012, 16:21
|
#6
|
Нуждающийся
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Да что я не так делаю?
Сообщение от AVL
С английским совсем туго?
|
Англ перевожу сократом.
Сообщение от AVL
Извлекает вещественное число из строки текста s.
|
Так почему же ругается?
|
(Offline)
|
|
28.03.2012, 16:30
|
#7
|
Нуждающийся
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Да что я не так делаю?
вот что получилось
otvet:=FormAddString(res1 + '' + oper + 'j' + res2);
[Pascal Error] complex.mpsrc(56): E417 operand is wrong type
res1 и res2 - real
|
(Offline)
|
|
28.03.2012, 18:32
|
#8
|
Нуждающийся
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Да что я не так делаю?
perd1:=StringToReal(FormGetText(textfieldn1,10));
выдаёт
[Pascal Error] complex.mpsrc(26): E422 error on parameter 2
|
(Offline)
|
|
28.03.2012, 18:47
|
#9
|
Нуждающийся
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Да что я не так делаю?
исправил. я извиняюсь что такие глупые ошибки.
|
(Offline)
|
|
29.03.2012, 21:14
|
#10
|
ПроЭктировщик
Регистрация: 30.06.2009
Адрес: Челябинская обл.
Сообщений: 111
Написано 32 полезных сообщений (для 99 пользователей)
|
Ответ: Да что я не так делаю?
Если надо вводить в форму дробные числа, то вот
http://forum.boolean.name/showthread.php?t=15018
__________________
Аинéжарбази овокáсьф имятнэ́меле как, имякщтóт и имяини́ль оклёт ими́ньдо сяюзлёп, ильсы́м эынэвьтспóс ышáн мóнян тягалзи, эы́жущт тят-ищт сант-ищтý анакаккáт; áкызэй овóваримь авотэ́ як итя́ммарг тыжýлс аирьтэмяег аянлетя́трэщтанот, мадóраи мынавóзарбо мэ́сьф мынтáняп авокáныдя, икиньхэ́ть мóкызэй астэя́львэй шóтрэщт ильсэ́й.
Щамóпф раткáдэрь оидюá!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:38.
|