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

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

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

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

Ответ
 
Опции темы
Старый 08.03.2009, 20:00   #1
Doctor Drive
Нуждающийся
 
Аватар для Doctor Drive
 
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение
(для 2 участников)
Криво щитает о_О

var gtcok, exit, backcommand;
m1m2m3c1c2c3cfcgsiimwimhnwnhinteger;
coefwcoefhreal;
nsstring;


begin
imw 
:= 240;
imh := 320;
coefw := imw/imh;
coefh := imh/imw;
ok := createcommand('Ok',CM_OK,1);
showform;
m1 := formaddchoice('Relation'CH_EXCLUSIVE);

c1 := choiceappendstring(m1'Relate to width'); 
c2 := choiceappendstring(m1'Relate to height'); 
m2 := formaddtextfield('width'integertostring(imw), 4TF_NUMERIC);
m3 := formaddtextfield('height'integertostring(imh), 4TF_NUMERIC);

addcommand(ok);
repeat
cgsi 
:= choicegetselectedindex(m1);
if 
cgsi c1 then begin
    nw 
:= stringtointeger(formgettext(m2));
    
nh := trunc(stringtointeger(formgettext(m2))/coefw);
    
ns := integertostring(nw)+'x'+integertostring(nh);
end;

if 
cgsi c2 then begin
    nh 
:= stringtointeger(formgettext(m3));
    
nw := trunc(stringtointeger(formgettext(m3))/coefh);
    
ns := integertostring(nw)+'x'+integertostring(nh);
end;

cf := formaddstring(ns);
delay(2000);
formremove(cf);
until getclickedcommand ok;
removecommand(ok);

end
карочи посмотрите как оно щитает с floating point и как с fixed point, и посмотрите что обычный калькулятор кажет. С floating point ваще бред, и fixed point нифига не показывает. а если imw и imh одинаковые (например 40 и 40) то щитает с floating и fixed point правильно....
(Offline)
 
Ответить с цитированием
Старый 10.03.2009, 02:14   #2
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Криво щитает о_О

Сделай imw и imh типа real. А то он их сначала считает как целые, а потом целый результат вычислений переводит в вещественный формат. Естественно, точность уже была потеряна ещё на этапе деления двух целых чисел. Это не глюк и не баг. Так и должно быть, просто нужно знать как работает приведение типов.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Doctor Drive (10.03.2009)
Старый 10.03.2009, 15:58   #3
Doctor Drive
Нуждающийся
 
Аватар для Doctor Drive
 
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение
(для 2 участников)
Ответ: Криво щитает о_О

все заработало! СПС, odd!
(Offline)
 
Ответить с цитированием
Старый 14.03.2009, 01:01   #4
Doctor Drive
Нуждающийся
 
Аватар для Doctor Drive
 
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение
(для 2 участников)
Ответ: Криво щитает о_О

Снова трабл, не хотел создавать другую тему, вот и напишу тут...

Кароче в строке 55 пишет error, unexpected token '('


unit Anim;

interface
procedure new;

implementation

uses FileSystem
gifparsejsr75iimloadjsr75;

procedure new;
var 
ssavestring;
addaddnextformfinishini2integer;
okcommand;
frame: array[1..50of image;
delay: array[1..50of integer;

begin
ok 
:= createcommand('Ok'CM_OK1);
repeat
:= FileSystem.foldselect;
showform;
:= 1;

    
frame[i] := imloadjsr75.loadimage(s);
    
form := formaddtextfield('Pause','100'5,TF_NUMERIC);
    
addcommand(ok);
    
repeat until getclickedcommand ok;
    
removecommand(ok);
    
delay[i] := stringtointeger(formgettext(form));
    
clearform;

    
showmenu('Add Next?',CH_IMPLICIT);
    
addnext := menuappendstring('Add Next image');
    
finish := menuappendstring('Finish animation');
    
addcommand(ok);
    
repeat until getclickedcommand ok;
    
removecommand(ok);
until menugetselectedindex finish;

parse.line(s'/');
for 
i2 := 0 to parse.len-do begin
    save 
:= save '/' parse.get(i2);
    
end;
    
showform;
    
gif.init(50);
    
for 
:= 1 to i do begin
    add 
:= gif.add_frame(frame[n]);
    
gif.set_delay(delay[n]);
end;

    
finish := gif.close(save+'/anim.gif');
    if 
finish 1 then showAlert('Done!''Animation created!'loadimage('/sav.png'), ALERT_INFO);
    else 
showAlert('Error!''An error has occured!'loadimage('/err.png'), ALERT_ERROR);
    
delay(3000); //!!! ВОТ СТРОКА 55 !!!
end;

initialization
end

(Offline)
 
Ответить с цитированием
Старый 14.03.2009, 01:26   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Криво щитает о_О

endif?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 14.03.2009, 01:43   #6
Doctor Drive
Нуждающийся
 
Аватар для Doctor Drive
 
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение
(для 2 участников)
Ответ: Криво щитает о_О

impersonalis, не понимаю...
--------------------------------
мне ктото поможет?!

Последний раз редактировалось Doctor Drive, 14.03.2009 в 17:45.
(Offline)
 
Ответить с цитированием
Старый 15.03.2009, 02:42   #7
Doctor Drive
Нуждающийся
 
Аватар для Doctor Drive
 
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение
(для 2 участников)
Ответ: Криво щитает о_О

карочи... уже не надо. я по-другому сделал
(Offline)
 
Ответить с цитированием
Старый 15.03.2009, 03:10   #8
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Криво щитает о_О

Кароче в строке 55 пишет error, unexpected token '('
Может, ему не нравится что аргумент функции-void пиется в скобках?
Просто например в QBasic если для Sub'а напишешь в скобках то будет на них ругаться и если напишешь для Function'а то будет ругаться на их отсутствие. Возможно, здесь природа ошибки та же?
Хотя не берусь говорить точно ввиду не пользования мною Мидлет Паскаля
карочи... уже не надо. я по-другому сделал
Всегда иди до конца Рано или поздно пробелы в знаниях всплывут
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Phantom (15.03.2009)
Старый 28.03.2009, 23:24   #9
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
работая с с числами real с floating point, озадачился траблой неправильного счета на телефоне Нокия 6630. на Sj boy считает верно. даж такие операции как деление и умножение корявит.
Fixed point и на эмуле криво.

методом тыка обнаружил что при
a:=b[1];
присваивание происходит верно, но когда
a:=(b[1]);
результат получается совсем другой. и это на аппарате.
на эмуле без разницы.
может кто пояснить?

Последний раз редактировалось Magus, 29.03.2009 в 21:37.
(Offline)
 
Ответить с цитированием
Старый 28.03.2009, 23:55   #10
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Криво щитает о_О

Сообщение от Dj_Alex Посмотреть сообщение
методом тыка обнаружил что при
a:=b[1];
присваивание происходит верно, но когда
a:=(b[1]);
результат получается совсем другой. и это на аппарате.
на эмуле без разницы.
может кто пояснить?
Очень странно, код в обоих случаях генерируется одинаковый, поэтому разницы быть не должно.
(Offline)
 
Ответить с цитированием
Старый 28.03.2009, 23:59   #11
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Криво щитает о_О

разница есть и при том непонятная. число получается больше.
тогда вопрос: что значит второй параметр функции stringtoreal? т.к. числа берутся из файла, мб ето влияет. прямой вывод дает правильное значение, но результаты операций с ними - неправильный
(Offline)
 
Ответить с цитированием
Старый 29.03.2009, 11:37   #12
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Криво щитает о_О

мда sin оказывается больше 1. так вот телефон считает.
запуская несколько раз мидлет, выдавало разный результат. один раз даж правильный. не знаю в чем трабла

Последний раз редактировалось Dj_Alex, 29.03.2009 в 12:11.
(Offline)
 
Ответить с цитированием
Старый 29.03.2009, 18:33   #13
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Криво щитает о_О

блин че делать. прогу пишу для получения инфы по GPS трекам, а там точность вычислений хорошая нужна. на эмуле считает норм, а на теле каждый раз разное. пробовал либу с double, считает хорошо, но нет arcos, который оч. нужен. да и неудобно через индексы вычисления делать.
(Offline)
 
Ответить с цитированием
Старый 29.03.2009, 21:33   #14
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Криво щитает о_О

Я помнится на PHP какой-то скрипт написал, там какая-то незатейливая операция с числами была и тоже была ошибка непонятная. Каждый раз выдавало разное число О_о Исходников не осталось, но я это обсуждал параллельно в аське с чуваком. Логи где-то остались. Я так тогда и не понял, что за хрень =)
(Offline)
 
Ответить с цитированием
Старый 29.03.2009, 23:06   #15
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Криво щитает о_О

тестил такой код
program NewProject2121;
var a,b,c:real;
begin
a:=0.523;
b:=0.3214;
b:=a+b;
c:=acos(b);
drawText(''+c, 0, 0);
c:=acos(b);
drawText(''+c, 0, 20);
c:=acos(b);
drawText(''+c, 0, 40);
c:=acos(b);
drawText(''+c, 0, 60);
c:=acos(b);
drawText(''+c, 0, 80);
c:=acos(b);
drawText(''+c, 0, 100);
repaint;	
delay(200000);
end.
на эмуле


на теле







и как ето понимать?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
криво но правдиво jimon Работы 11 23.01.2008 15:59


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


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