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

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

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

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

Ответ
 
Опции темы
Старый 18.11.2007, 21:52   #1
@lexxx
AnyKey`щик
 
Регистрация: 18.11.2007
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
проблемка с MIDletом

Граждане, помогите с програмкой.
program rulon;
var dsID,hsID,d1sID,stringID,lsID,stringID1:integer;
        s,dl,d1l,hl:string;
        ds,hs,d1s,ls:string;
        i,n,di,hi,d1i:integer;
         d,d1,l,h,r:real;
        cmdQuit,cmdNext,cmdRun: command; 
begin
    ShowForm;
    dsID:=FormAddTextField('Введите диаметр рулона в мм', '', 4, TF_NUMERIC); 
  AddCommand(cmdNext);
  hsID:=FormAddTextField('Введите толщину материала в мкм', '', 4, TF_NUMERIC); 
  AddCommand(cmdNext);
  d1sID:=FormAddTextField('Введите диаметр держателя в мм', '', 10, TF_NUMERIC);
  AddCommand(cmdNext);
  cmdNext := CreateCommand('Считать', CM_OK, 1); 
  AddCommand(cmdNext);
    repeat until GetClickedCommand = cmdNext;
    ShowCanvas;
    di:=StringToInteger(FormGetText(dsID));
    d:=di/1000;
    hi:=StringToInteger(FormGetText(hsID));
    h:=hi/1000000;
    d1i:=StringToInteger(FormGetText(d1sID));
    d1:=d1i/1000;
    n:=trunc((d-d1)/(2*h));
    r:=d1+h;
    for i:=1 to n do
    begin
        l:=l+3.14*r;
        r:=r+h;
    end;
    drawText(''+l,0,0);
    repaint;
    cmdQuit := CreateCommand('Выход', CM_EXIT, 1);
    AddCommand(cmdQuit); 
    repeat until GetClickedCommand = cmdQuit;
end.
Запускается нормально. Вводятся данные в формы, адальше - облом. Появляется белый экран и прога зависает. Подскажите пожалуйста, что нужно исправить.
(Offline)
 
Ответить с цитированием
Старый 18.11.2007, 22:54   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: проблемка с MIDletом

Нужно на вкладке "Properties" поставить
MIDP Version:MIDP 2.0
Real Numbers:Floating-Point.
(Тогда приложение будет работать только на мобилах с MIDP 2.0)
(Offline)
 
Ответить с цитированием
Старый 18.11.2007, 23:44   #3
@lexxx
AnyKey`щик
 
Регистрация: 18.11.2007
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Re: проблемка с MIDletом

Все поменял, но почему-то выводит только 0.
P.S. Что сделать, чтобы он работал с MIDP 1.0 ?
(Offline)
 
Ответить с цитированием
Старый 19.11.2007, 00:42   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: проблемка с MIDletом

Я немного ошибся, можно оставить
MIDP Version:MiDP 1.0 тогда будет работать и с MIDP 1.0.
А вот почему выходит 0 - непонятно.
(Offline)
 
Ответить с цитированием
Старый 19.11.2007, 08:44   #5
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Re: проблемка с MIDletом

Просто наредкость неряшливая программа, но что-то там считает.
Тут скорее формула косячит, но об этом пусть уже думает автор.
Версия MIDP1.0, плавающая точка стоит в положении Плавающая (Floating-point в английской версии MP)
Для примера 8000, 2000, 2000 результат: 7069.71

program rulon;
var dsID,hsID,d1sID: integer;
i, n: integer;
hi,di,d,d1,l,h,r,d1i:real;
cmdNext: command;
begin
ShowForm; cmdNext := CreateCommand('Считать', CM_OK, 1); AddCommand(cmdNext);
dsID:=FormAddTextField('Введите диаметр рулона в мм', '', 4, TF_NUMERIC);
hsID:=FormAddTextField('Введите толщину материала в мкм', '', 4, TF_NUMERIC);
d1sID:=FormAddTextField('Введите диаметр держателя в мм', '', 10, TF_NUMERIC);
repeat until GetClickedCommand = cmdNext;
di:=StringToInteger(FormGetText(dsID));
d:=di/1000;
hi:=StringToInteger(FormGetText(hsID));
h:=hi/1000000;
d1i:=StringToInteger(FormGetText(d1sID));
d1:=d1i/1000;
ShowCanvas;
n:=trunc((d-d1)/(2*h)); l:=0;
for i:=0 to n do
begin
l:=l+3.14*r;
r:=r+h;
end;
drawText(''+l,5,5);
repaint; Delay(10000);
end.
(Offline)
 
Ответить с цитированием
Старый 19.11.2007, 17:50   #6
@lexxx
AnyKey`щик
 
Регистрация: 18.11.2007
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Счастье Re: проблемка с MIDletом

Всем большое спасибо.
(Offline)
 
Ответить с цитированием
Старый 03.03.2008, 14:28   #7
bubon
AnyKey`щик
 
Регистрация: 25.11.2007
Сообщений: 12
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: проблемка с MIDletом

сделал мидлет. работает на всех телефонах стабильно. на смартах при запуске нескольких разных приложений одновременно с моим мидлетом при переходе на мой мидлет происходит зависание всего смарта. что может быть? и как избавиться от этого?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемка Pro_100_Den C++ 3 08.12.2009 22:28
Проблемка AndruXa Blitz3D 8 08.12.2007 15:54
Проблемка... Антихрист 3D-программирование 22 04.11.2007 22:07
Проблемка с showTextBox Kurdt Основной форум 7 09.10.2007 16:42
Проблемка impersonalis Болтовня 11 14.01.2006 22:23


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


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