|
Основной форум Сюда все проблемы связанные с программированием. |
08.03.2009, 20:00
|
#1
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Криво щитает о_О
var gtc, ok, exit, back: command; m1, m2, m3, c1, c2, c3, cf, cgsi, imw, imh, nw, nh: integer; coefw, coefh: real; ns: string; 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), 4, TF_NUMERIC); m3 := formaddtextfield('height', integertostring(imh), 4, TF_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
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Криво щитает о_О
Сделай imw и imh типа real. А то он их сначала считает как целые, а потом целый результат вычислений переводит в вещественный формат. Естественно, точность уже была потеряна ещё на этапе деления двух целых чисел. Это не глюк и не баг. Так и должно быть, просто нужно знать как работает приведение типов.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.03.2009, 15:58
|
#3
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Криво щитает о_О
все заработало! СПС, odd!
|
(Offline)
|
|
14.03.2009, 01:01
|
#4
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Криво щитает о_О
Снова трабл, не хотел создавать другую тему, вот и напишу тут...
Кароче в строке 55 пишет error, unexpected token '('
unit Anim; interface procedure new; implementation uses FileSystem, gif, parse, jsr75i, imloadjsr75; procedure new; var s, save: string; add, addnext, form, finish, i, n, i2: integer; ok: command; frame: array[1..50] of image; delay: array[1..50] of integer; begin ok := createcommand('Ok', CM_OK, 1); repeat s := FileSystem.foldselect; showform; i := i + 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-2 do begin save := save + '/' + parse.get(i2); end; showform; gif.init(50); for n := 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
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Криво щитает о_О
endif?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
14.03.2009, 01:43
|
#6
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Криво щитает о_О
impersonalis, не понимаю...
--------------------------------
мне ктото поможет?!
Последний раз редактировалось Doctor Drive, 14.03.2009 в 17:45.
|
(Offline)
|
|
15.03.2009, 02:42
|
#7
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Криво щитает о_О
карочи... уже не надо. я по-другому сделал
|
(Offline)
|
|
15.03.2009, 03:10
|
#8
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Криво щитает о_О
Кароче в строке 55 пишет error, unexpected token '('
|
Может, ему не нравится что аргумент функции-void пиется в скобках?
Просто например в QBasic если для Sub'а напишешь в скобках то будет на них ругаться и если напишешь для Function'а то будет ругаться на их отсутствие. Возможно, здесь природа ошибки та же?
Хотя не берусь говорить точно ввиду не пользования мною Мидлет Паскаля
карочи... уже не надо. я по-другому сделал
|
Всегда иди до конца Рано или поздно пробелы в знаниях всплывут
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.03.2009, 23:24
|
#9
|
ПроЭктировщик
Регистрация: 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
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Криво щитает о_О
Сообщение от Dj_Alex
методом тыка обнаружил что при
a:=b[1];
присваивание происходит верно, но когда
a:=(b[1]);
результат получается совсем другой. и это на аппарате.
на эмуле без разницы.
может кто пояснить?
|
Очень странно, код в обоих случаях генерируется одинаковый, поэтому разницы быть не должно.
|
(Offline)
|
|
28.03.2009, 23:59
|
#11
|
ПроЭктировщик
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений (для 45 пользователей)
|
Ответ: Криво щитает о_О
разница есть и при том непонятная. число получается больше.
тогда вопрос: что значит второй параметр функции stringtoreal? т.к. числа берутся из файла, мб ето влияет. прямой вывод дает правильное значение, но результаты операций с ними - неправильный
|
(Offline)
|
|
29.03.2009, 11:37
|
#12
|
ПроЭктировщик
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений (для 45 пользователей)
|
Ответ: Криво щитает о_О
мда sin оказывается больше 1. так вот телефон считает.
запуская несколько раз мидлет, выдавало разный результат. один раз даж правильный. не знаю в чем трабла
Последний раз редактировалось Dj_Alex, 29.03.2009 в 12:11.
|
(Offline)
|
|
29.03.2009, 18:33
|
#13
|
ПроЭктировщик
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений (для 45 пользователей)
|
Ответ: Криво щитает о_О
блин че делать. прогу пишу для получения инфы по GPS трекам, а там точность вычислений хорошая нужна. на эмуле считает норм, а на теле каждый раз разное. пробовал либу с double, считает хорошо, но нет arcos, который оч. нужен. да и неудобно через индексы вычисления делать.
|
(Offline)
|
|
29.03.2009, 21:33
|
#14
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Криво щитает о_О
Я помнится на PHP какой-то скрипт написал, там какая-то незатейливая операция с числами была и тоже была ошибка непонятная. Каждый раз выдавало разное число О_о Исходников не осталось, но я это обсуждал параллельно в аське с чуваком. Логи где-то остались. Я так тогда и не понял, что за хрень =)
|
(Offline)
|
|
29.03.2009, 23:06
|
#15
|
ПроЭктировщик
Регистрация: 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)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
криво но правдиво |
jimon |
Работы |
11 |
23.01.2008 15:59 |
Часовой пояс GMT +4, время: 15:24.
|