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

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

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

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 20.10.2009, 01:02   #1
Zipper
AnyKey`щик
 
Регистрация: 20.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Смущение Помощь новичку

Здраствуйте. Я только сел за мидлет паскаль. Подскажите пожалуйста как в переменную записать число вводимое с клавишь?
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 01:45   #2
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Ответ: Помощь новичку

В хэлпе всё расписано с примерами. Пример оттуда:
Либо через текстбокс:
var cont : command; 
      quote : string; 
begin  
    showTextBox('Enter message, '', 200, TF_ANY);  
    cont := createCommand('Send', CM_SCREEN, 1); 
    addCommand(cont);  

    repeat 
      delay(100);  
    until getClickedCommand <> emptyCommand;  

    quote := getTextBoxString; 

    ...      
end.
Либо через текстовое поле:
var gauge_id, value: integer; 
begin 
   text_id :=FormAddTextField('Enter your name', 'Mr.Smith', 20, TF_ANY); 

    ShowForm; 
    value := FormGetValue(text_id); 
    Delay(2000); 
end.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Zipper (20.10.2009)
Старый 20.10.2009, 10:20   #3
Zipper
AnyKey`щик
 
Регистрация: 20.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помощь новичку

блин...мало что понятно =(
может кто поможет написать прогу?
она должна вычислять число по формуле, данные должны вводиться с клавиатуры

вот формула: X:=a1*b2*c3+a2*b3*c1+a3*b1*c2-a3*b1*c3-a1*b3*c2
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 12:49   #4
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Ответ: Помощь новичку

Создавай столько текстбоксов, сколько у тебя переменных, не считая x. Добавляй на форму, потом считывай и считай x.
Если что-то конкретное не получается - можно спросить, так и разберёшься)
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 17:42   #5
Zipper
AnyKey`щик
 
Регистрация: 20.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помощь новичку

var cont command
      
quote string
begin  
    showTextBox
('Enter message, '', 200, TF_ANY);  
    cont := createCommand('
Send', CM_SCREEN, 1); 
    addCommand(cont);  

    repeat 
      delay(100);  
    until getClickedCommand <> emptyCommand;  

    quote := getTextBoxString; 

    ...      
end. 
вот не понимаю куда здесь будет записываться числа?
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 17:53   #6
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Ответ: Помощь новичку

Строка будет писаться в переменную quote. Если подразумевается ввод только целых чисел, то TF_ANY можно заменить на более подходящий вариант, не забыв и про типы переменных.
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 19:18   #7
Zipper
AnyKey`щик
 
Регистрация: 20.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помощь новичку

program Raschet;
var 
 
a1a2a3b1b2b3c1c2c3Integer
 
Result string;
 
cmdNextcmdexit command;
 
begin 
 showForm
;//показываем форму //создаём элементы управления
 
a1 := FormAddTextField('a1='''20TF_NUMERIC);
 
a2 := FormAddTextField('a2='''20TF_NUMERIC);
 
a3 := FormAddTextField('a3='''20TF_NUMERIC);
 
b1 := FormAddTextField('b1='''20TF_NUMERIC);
 
b2 := FormAddTextField('b2='''20TF_NUMERIC);
 
b3 := FormAddTextField('b3='''20TF_NUMERIC);
 
c1 := FormAddTextField('c1='''20TF_NUMERIC);
 
c2 := FormAddTextField('c2='''20TF_NUMERIC);
 
c3 := FormAddTextField('c3='''20TF_NUMERIC); //создаём команду(кнопку)
 
cmdNext := createCommand('Next'CM_OK1); AddCommand(cmdNext);
 
repeat until GetClickedCommand cmdNext//берём текст, введёный пользователем
  
X:=a1*b2*c3+a2*b3*c1+a3*b1*c2-a3*b1*c3-a1*b3*c2;
 
Result := FormGetText(X); //выводим информацию на дисплей 
 
ShowTextBox('Ответ:',Result 200TF_NUMERIC);
 
cmdExit := CreateCommand('Exit'CM_EXIT1);
 
AddCommand(cmdExit);
 
repeat delay(100);
 
until GetClickedCommand cmdExit;
 
end
вот что я написал, но оно ничего не выводит...в чем проблема?
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 19:26   #8
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Ответ: Помощь новичку

Строку с formgettext убрать. Не ясно вообще зачем она здесь.
А showtextbox вызывать так:
ShowTextBox('Ответ:',''+X , 200, TF_NUMERIC);
Но кроме всего этого в формуле x надо использовать не ссылки на поля ввода(a1,a2 и т.д.), а данные из этих полей, которые можно получить функцией FormGetText
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
NitE (20.10.2009)
Старый 20.10.2009, 20:20   #9
Zipper
AnyKey`щик
 
Регистрация: 20.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помощь новичку

program Raschet;
var 
 
a1a2a3b1b2b3c1c2c3Xa1ia2ia3ib1ib2ib3ic1ic2ic3i real
  
cmdNextcmdexit command;
 
begin 
 showForm
;//показываем форму //создаём элементы управления
 
a1 := FormAddTextField('a1='''20TF_NUMERIC);
 
a2 := FormAddTextField('a2='''20TF_NUMERIC);
 
a3 := FormAddTextField('a3='''20TF_NUMERIC);
 
b1 := FormAddTextField('b1='''20TF_NUMERIC);
 
b2 := FormAddTextField('b2='''20TF_NUMERIC);
 
b3 := FormAddTextField('b3='''20TF_NUMERIC);
 
c1 := FormAddTextField('c1='''20TF_NUMERIC);
 
c2 := FormAddTextField('c2='''20TF_NUMERIC);
 
c3 := FormAddTextField('c3='''20TF_NUMERIC); //создаём команду(кнопку)
 
cmdNext := createCommand('Next'CM_OK1); AddCommand(cmdNext);
 
repeat until GetClickedCommand cmdNext//берём текст, введёный пользователем

 
a1i:=FormGetText(a1);
 
a2i:=FormGetText(a2);
 
a3i:=FormGetText(a3);
 
b1i:=FormGetText(b1);
 
b2i:=FormGetText(b2);
 
b3i:=FormGetText(b3);
 
c1i:=FormGetText(c1);
 
c2i:=FormGetText(c2);
 
c3i:=FormGetText(c3);

 
X:=a1i*b2i*c3i+a2i*b3i*c1i+a3i*b1i*c2i-a3i*b1i*c3i-a1i*b3i*c2i;
  
 
ShowTextBox('Ответ:',''+200TF_NUMERIC);
 
cmdExit := CreateCommand('Exit'CM_EXIT1);
 
AddCommand(cmdExit);
 
repeat delay(100);
 
until GetClickedCommand cmdExit;
 
end
добавил FormGetTextы, но при компиляции пишет "ошибка в параметре 1" в строках с FormGetTextами
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 20:23   #10
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Ответ: Помощь новичку

Внимательнее читай документацию. Идентификаторы на текстовые поля должны быть целыми, а не типа real.
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 20:23   #11
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Помощь новичку

Идентификаторы a1, a2 и т.д. должны быть типа integer. Дальше по идентификатору нужно получить строку с помощью FormGetText, а потом уже преобразовать ее в действительное число с помощью StringToReal.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Zipper (20.10.2009)
Старый 20.10.2009, 20:52   #12
Zipper
AnyKey`щик
 
Регистрация: 20.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помощь новичку

program Raschet;
var 
 
a1a2a3b1b2b3c1c2c3:integer;
 
a1ia2ia3ib1ib2ib3ic1ic2ic3i string;
 
a1oa2oa3ob1ob2ob3oc1oc2oc3oX:real;
  
cmdNextcmdexit command;
 
begin 
 showForm
;
 
a1 := FormAddTextField('a1='''20TF_NUMERIC);
 
a2 := FormAddTextField('a2='''20TF_NUMERIC);
 
a3 := FormAddTextField('a3='''20TF_NUMERIC);
 
b1 := FormAddTextField('b1='''20TF_NUMERIC);
 
b2 := FormAddTextField('b2='''20TF_NUMERIC);
 
b3 := FormAddTextField('b3='''20TF_NUMERIC);
 
c1 := FormAddTextField('c1='''20TF_NUMERIC);
 
c2 := FormAddTextField('c2='''20TF_NUMERIC);
 
c3 := FormAddTextField('c3='''20TF_NUMERIC); 
 
cmdNext := createCommand('Next'CM_OK1); AddCommand(cmdNext);
 
repeat until GetClickedCommand cmdNext

 
a1i:=FormGetText(a1);
 
a2i:=FormGetText(a2);
 
a3i:=FormGetText(a3);
 
b1i:=FormGetText(b1);
 
b2i:=FormGetText(b2);
 
b3i:=FormGetText(b3);
 
c1i:=FormGetText(c1);
 
c2i:=FormGetText(c2);
 
c3i:=FormGetText(c3);
 
 
a1o:=StringToReal(a1i);
 
a2o:=StringToReal(a2i);
 
a3o:=StringToReal(a3i);
 
b1o:=StringToReal(b1i);
 
b2o:=StringToReal(b2i);
 
b3o:=StringToReal(b3i);
 
c1o:=StringToReal(c1i);
 
c2o:=StringToReal(c2i);
 
c3o:=StringToReal(c3i);

 
X:=a1o*b2o*c3o+a2o*b3o*c1o+a3o*b1o*c2o-a3o*b1o*c3o-a1o*b3o*c2o;
  
 
ShowTextBox('Ответ:',''+200TF_NUMERIC);
 
cmdExit := CreateCommand('Exit'CM_EXIT1);
 
AddCommand(cmdExit);
 
repeat delay(100);
 
until GetClickedCommand cmdExit;
 
end
добавил StringToReal стало писать 'параметров слишком мало', что это значит??
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 21:08   #13
Zipper
AnyKey`щик
 
Регистрация: 20.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помощь новичку

решил ту проблему: вместо StringToReal, писал StringToInteger

теперь новая проблема, перестала работать кнопка Next...до этого работала нормально, ничего не менял, а теперь хз что случилось...
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 21:21   #14
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Ответ: Помощь новичку

После repeat первого вставляй задержку. delay(100); , например. Чтобы не перегружать процессор бесконечным циклом без пауз.
(Offline)
 
Ответить с цитированием
Старый 20.10.2009, 21:36   #15
Zipper
AnyKey`щик
 
Регистрация: 20.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помощь новичку

ага, помогло, но только для эмулятора, на мобиле все равно не работает...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Я новичок! alcosholik Blitz3D 123 02.08.2014 22:55
Помогите новичку срен27 JAVA Micro Edition 7 18.11.2013 19:49
Помогите новичку! Cuatro FAQ 1 07.05.2009 03:02
Re: Я новичок! evel Болтовня 60 30.09.2007 11:23
Newton + Blitz3D, Нужна помощь новичку в ньютоне!!! GomZik 3D-программирование 9 19.09.2007 18:55


Часовой пояс GMT +4, время: 02:53.


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