Примеры простейших программ
Приветствую всех участников этого форума !!!
Сюда занесли поисковики при попытке наити описание работы с программой Midlet Pascal 2.02 . Русская справка очень скудна а примеры что я встречал либо очень сложны либо направлены на помощь по созданию игр где не стоит задача ввода \ вывода данных. Цель которой я задался ,а именно попробовать написать нормальный калькулятор для своего допотопного sie MC60 как раз при первой же пробе уткнулась в проблему вывода цифровой информации. Перечитывая этот форум наткнулся на похожую тему,однако мысль в ней не была закончена и я не смог всего усвоить.Поэтому прошу помощи в этой теме .К примеру как будет выглядеть простейшая программа извлечения квадратного корня из введенного числа ? Думаю исходник выложенный тут многое прояснит для начинающих и меня в том числе. Заранее благодарен !!! |
Re: Примеры простейших программ
вот так можно увидеть результат извлечения корня из 2:
Код:
begin Не понимаю, в чем проблема при выводе цифровой информации? |
Re: Примеры простейших программ
Вложений: 2
А вот для начинающих думаю будет удобно (и полезно) использовать мой модуль, который эмулирует некое подобие текстового дисплея на экране телефона. Мне этот модуль помогает исследовать всякие алгоритмы... Комментарии в модуле описывают все его функции.
Основной плюс: весь вывод идет как в старом добром паскале - через Write и Writeln, строки переносятся при достижении края экрана, никакого Repaint делать не надо. То есть просто пишем Код:
begin |
Re: Примеры простейших программ
Проблемы возникают при выводе переменных из форм :
program sqrt01; var okCommand:command; c:Integer; r:Integer; d:real; c1:string; begin okCommand := createCommand('OK', CM_OK, 1); showForm; addCommand(okCommand); c:= formAddTextField('подкоренное число', '', 10, TF_numeric); while (getClickedCommand <> okCommand) do delay(100); c1:= FormGetText(c); r:= StringToInteger(c1); showCanvas; DrawText(''+sqrt(r),10,30); repaint; delay(6000); end. Подобное не работает. Конечно вопрос чайнеческий но очень бы хотелось узнать почему ??? |
Re: Примеры простейших программ
а у меня твой код прекрасно работает... да и должен работать, судя по программе... в чем дело-то? что происходит в твоем случае?
|
Re: Примеры простейших программ
Код полностью рабочий...
|
У меня такая же проблема. При присвоении переменной значения из текстового поля оно всегда равно нулю
Нашел решение проблемы! Если все операции над переменными (а также присвоение им значений из текстового поля) производить после перехода в графический режим (ShowCanvas;), то все вычисления проходят на ура. |
Re: Примеры простейших программ
Благодарю за отклики !
В случае первого примера проблемы были с самим компилятором.Просто переписал текст заново и всё заработало... Работаем далее... Вследующем примере никак не могу добится очищения экрана 'canvas' Результаты расчета накладываются друг на друга.... :( program NewProject2; var ok,back,clicked:command; c:Integer; r:Integer; d:real; c1:string; begin playAlertSound; repeat showForm; ok := createCommand('Cчитать',CM_OK, 1); addCommand(ok); setColor(0, 0, 255); setTicker('Сделал я ....'); c:= formAddTextField('Лечимое число', '', 10, TF_numeric); repaint; while (getClickedcommand <> ok) do delay(100); removeCommand(back); removeCommand(ok); showCanvas; c1:= FormGetText(c); r:= StringToInteger(c1); ok := createCommand('Далее',CM_OK, 1); addCommand(ok); back:=createCommand('Выход', CM_Exit, 1); addCommand(back); drawtext(''+sqrt(r),10,30); repaint; repeat clicked := getClickedCommand; until clicked <> emptyCommand; removeCommand(back); removeCommand(ok); clearform; until clicked = back; playAlertSound; delay(100); end. И это еще не все . есть затруднение с использованием предупреждения showAlert . Как вывести простой текст в окне предупреждения ? Пример в русском хелпе почемуто не работает... |
Re: Примеры простейших программ
Попрбуй пример в родном хэлпе :D
|
Re: Примеры простейших программ
По поводу очитски экрана придумал, но это не то конечно
setColor(255, 255, 255); fillRect(0, 0, 101, 80); repaint; рисует на мнгновение белый прямоугольник на весь экран. А вот с предупреждением чегото не разбирусь.. |
Re: Примеры простейших программ
собственно это иесть наиболее употребимый способ..
|
Re: Примеры простейших программ
А что с предупреждением не так?
|
Re: Примеры простейших программ
C ним в принципе понятно.Просто мой мс60 его не переваривает.покажет и далее все: или зацикливается мидлет или выходит.НО вобщем то не особенно оно нужно .Абсолютно бесполезная вещь.Это я так для развития.
Вот связался я с этим калькулятором.Оказалось сложно сделать его удобным .Все упирается в поля для ввода с их ограничениями... а так же в нелюбовь телефона к реальным числам. Вопрос1: как правильно оформить функцию StringToReal ? var a:real; b:string; a:= StringToReal(b;5); Возникает error in parameter 1(со вторым параметром и без него.и что значит второй параметр? база для преобразования??) Вопрос2 из другой области:как все таки реализовать загрузку миди на мидп1 ? и что для этого нужно ? может кто сталкивался... |
Re: Примеры простейших программ
Можно так:
drawtext(' '+real,0,0); |
Re: Примеры простейших программ
Оказалось что с реальными числами у мр вообще не лады
корень из 121 почему то 10.9997 ? Вообще кто нибудь может пример привести работы сними.Думал я там почастям с ними работать с целой и дробной отдельно ,однако до этого не доходит или мидлет зависает или еще чего. Ну че там с музой на мидп1 ? Есть ли вообще библиотеки для мр на работу с файловой системой сименсов мидп 1 ?Если да то где можно достать и где ознакомится ? |
Часовой пояс GMT +4, время: 03:05. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot