Обсуждение Глагола

фев | Dec | апр
| 8 |
2011 | 1999 | 2013

1 captures 8 мар 12 - 8 мар 12 |

Close Help

# Обсуждение Глагола

← предыдущая следующая →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Сый 14.10.08 18:16 550 | Она и под WinXP не запускается. Найти ошибку, к сожалению, пока не было времени.
Издатель 14.10.08 20:15 551 | Оболочка не работала из-за того, что была рассчитана на большой экран (17"). Сейчас в отделе "\Приложения\Оболочка\Оболочка.отд" размер шрифта уменьшен с 20 до 16 (строка 406), а постоянная "Строк" уменьшена с 40 до 30 (строка 40). Вы можете изменять эти значения по своему усмотрению.

Д
16.10.08 03:23

552

> Пожалуйста, опишите трудности с Глаголом под Win2000.
Некоторые программы из сборника - шашки, секундомер - не запускаются. Программа сначала открывается, а через секунду, примерно, появляется сообщение "Программа вызвала ошибку...", и она закрывается.
До изменения по 551 оболочка не запускалась.
После - запускается, правда знаки отображаются очень плохо. В переходном к графике выпуске (31 августа) оболочка запускается, и знаки отображаются правильно.

Д 16.10.08 03:34 553 | По-моему, вывод вещественных чисел работает не совсем правильно. Если указать точность, большую чем вмещает в себя вид выводимого числа, то в конце будут не нули, а произвольные числа. Если выводить число в научном виде (%e), это не очень важно, так заранее известно, что для ВЕЩ точность должна быть не больше 7, а для ШИРВЕЩ - не больше 15. Но при выводе с неподвижной запятой (%f) последняя сохранённая в памяти цифра может двигатся, в зависимости от самого числа. Пример - в следующем сообщении.

Д
16.10.08 03:39

554

    ОТДЕЛ пример+;

    ИСПОЛЬЗУЕТ Вывод ИЗ "...ОтделыОбмен";

    ПЕР
      вещ_0:ВЕЩ;
      ширвещ_0:ШИРВЕЩ;

    УКАЗ
      вещ_0:=1.1;
      ширвещ_0:=1.1;
      (**)
      Вывод.Цепь("правильное отображение");
      Вывод.Цепь("^^^");
      Вывод.ЧВещ("ВЕЩ:    %8.7f^        %.7e^^ШИРВЕЩ: %16.15f^        %.15e",
        вещ_0,вещ_0,ширвещ_0,ширвещ_0);
      Вывод.Цепь("^^^^^");
      (**)
      Вывод.Цепь("неправильное отображение");
      Вывод.Цепь("^^^");
      Вывод.ЧВещ("ВЕЩ:    %10.9f^        %.9e^^ШИРВЕЩ: %18.17f^        %.17e",
        вещ_0,вещ_0,ширвещ_0,ширвещ_0);
      Вывод.Цепь("^^^^^");

    КОН пример.

Д 16.10.08 03:42 555 | > расширения, которые сам программист может изменить под свои нужды в любой момент Точно также он сможет под свои нужды изменить и оболочку.

Издатель
16.10.08 08:38

556

552. Действительно, под Win2000 Шашки и Секундомер не работали. В ПГ от 14.10.08 эта ошибка исправлена.
Оболочка выглядит лучше с моноширинным шрифтом Lucida Console. По умолчанию используется пропорциональный шрифт Lucida Sans Unicode (как более полный).
553. Вопрос о вещественных числах будет рассмотрен позже.

Д 16.10.08 19:44 557 | Понял, спасибо.
Д 16.10.08 20:00 558 | А есть ли в отделе ОС или ещё где-то способ (задача, или переменная) узнать текущее положение указки?
Издатель 16.10.08 23:17 559 | Указка показывает место ввода текста. Это место задаёт и отслеживает само приложение, а не ОС. В познавательных целях можете отметить "-" переменную "ГОС.указка" и считывать её значение. 553. Ошибка при десятичном выводе вещественных чисел проявляется из-за внутреннего (двоичного) представления этих чисел. Похожим образом ведут себя и приложения, написанные на других языках, например, Borland C++. Такую высокую точность представления вещественных чисел используют редко, и усложнять ради этого библиотеки Глагола пока, наверное, не стоит.

← предыдущая следующая →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Сделано в России