 |
| Основной форум Сюда все проблемы связанные с программированием. |
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,743
Написано 5,461 полезных сообщений (для 15,676 пользователей)
|
Ответ: Криво щитает о_О
|
Кароче в строке 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, время: 18:21.
|