Anonymous | Login | Signup for a new account | 22-11-24 03:58 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0001745 | SAS.Планета | [All Projects] Хотелка | public | 27-12-2012 09:02 | 03-01-2013 05:47 | ||||
Reporter | TokarevVV | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 110418 | ||||||||
Target Version | 131111 | Fixed in Version | 131111 | ||||||
Summary | 0001745: Добавить новые функции в PascalScript zmp | ||||||||
Description | Не плохо бы в Паскаль-скрипт добавить функции: function Ceil(X :Extended) :Longint; function Floor(X :Extended) :Longint; function Log2(X :Extended) :Extended; function Max(A, B :Integer) :Integer; overload; function Max(A, B :Extended) :Extended; overload; function Min(A, B :Integer) :Integer; overload; function Min(A, B :Extended) :Extended; overload; Это дало бы возможность улучшить и сократить скрипты считывания карт. Пример 1: Процедура, применённая в zoomify.zmp: procedure GetMaxZoom(); var k, i :Longint; begin k := m_nWidth; if m_nHeight > m_nWidth then k := m_nHeight; i := 0; while k > 256 do begin k := Trunc(k / 2); Inc(i); end; nMaxZoom := i; end; сократилась бы до: procedure GetMaxZoom(); begin nMaxZoom := Ceil(Log2(Max(m_nWidth, m_nHeight)) - 8; end; Пример 2: В zoomify.zmp: Выражение Trunc(Ceil(X)) можно сократить до Ceil(X). | ||||||||
Tags | PascalScript, zmp, паскальскрипт | ||||||||
Attached Files | |||||||||
Notes | |
(0010232) TokarevVV (reporter) 27-12-2012 09:30 |
В примере 1 досадная ошибка. Надо: procedure GetMaxZoom(); begin nMaxZoom := Ceil(Log2(Max(m_nWidth, m_nHeight)) - 8; if nMaxZoom < 0 then nMaxZoom := 0; end; |
(0010308) zed (manager) 02-01-2013 18:44 |
К сожалению, перегруженных функций сделать не получится, поэтому пришлось слегка поменять имена. Теперь должны быть доступны функции: function Ceil(const X: Extended): Integer; function Floor(const X: Extended): Integer; function Log2(const X: Extended): Extended; function Max(const A, B: Integer): Integer; function MaxExt(const A, B: Extended): Extended; // <-- (!) function Min(const A, B: Integer): Integer; function MinExt(const A, B: Extended): Extended; // <-- (!) Проверяйте в завтрашней ночнушке. |
Users who viewed this issue | |
User List | Anonymous (2546x), k-dmitriy (1x), 0724 (1x) |
Total Views | 2548 |
Last View | 22-11-2024 03:58 |
Issue History | |||
Date Modified | Username | Field | Change |
27-12-2012 09:02 | TokarevVV | New Issue | |
27-12-2012 09:30 | TokarevVV | Note Added: 0010232 | |
27-12-2012 19:18 | vdemidov | Status | new => confirmed |
27-12-2012 19:18 | vdemidov | Product Version | => 110418 |
27-12-2012 19:18 | vdemidov | Target Version | => 24xxxx |
27-12-2012 19:19 | vdemidov | Summary | Новые функции Паскаль-скрипта => Добавить новые функции в PascalScript zmp |
27-12-2012 19:19 | vdemidov | Tag Attached: паскальскрипт | |
27-12-2012 19:19 | vdemidov | Tag Attached: PascalScript | |
27-12-2012 19:19 | vdemidov | Tag Attached: zmp | |
02-01-2013 18:44 | zed | Note Added: 0010308 | |
03-01-2013 05:47 | vdemidov | Status | confirmed => resolved |
03-01-2013 05:47 | vdemidov | Fixed in Version | => 131111 |
03-01-2013 05:47 | vdemidov | Resolution | open => fixed |
03-01-2013 05:47 | vdemidov | Assigned To | => vdemidov |
03-01-2013 05:47 | vdemidov | Assigned To | vdemidov => zed |
03-01-2013 05:47 | vdemidov | Target Version | 24xxxx => 131111 |
03-01-2013 09:52 | zed | Relationship added | related to 0001740 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |