На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование под PalmOS"
Правила раздела просты:
1. Будьте вежливыми.
2. Задавате вопросы только по теме. Пользовательские вопросы (у меня не работает пальм) являются оффтопиком. Пользуйтесь конференциями palmz.in, hpc.ru, ihand.ru .
3. Поиск вареза запрещен.
4. Пользуйтесь поиском. Не надейтесь, что кому-то доставляет удовольствие отвечать в сотый раз на один и тот же вопрос.


Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Программинг
    Господа, как сделать нетормозящий цикл? Например, для часов и т.п.
      например for (;;) {....}

      Я вот тут активизировал свои телепатические способности и увидел, что ты хочешь что-б обработчик пререваний не останавливался в ожидании события. Если так, то смотри в сторону EvtGetEvent(&e,0) и обработки nilEvent
      Сообщение отредактировано: Strijar -
        В чем заключается "нетормознутость"  цикла for (;;) ?
        А насчет nilEvent спасибо, это тоже было мне нужно, хотя я и не это имел ввиду.
        Я хотел сделать именно цикл, чтобы он выполнялся на протяжении
        работы всей программы, и чтобы он не подвешивал всю систему. Знаю что это можно как-то сделать на Си для компа, может быть, так же можно сделать на CodeWarrior?
          Хм.. что-ье телепатические способности подводят! ;)) Ты напиши что ты хочешь точно! - часы? Так имено через nilEvent - я так написал себе таймер на 1-8 счетчиков с точностью 0.1 сек. Еще можно дергать функцию по таймеру каждые N секунд (будет вызываться даже если ты в другой проге) - у меня так Crony написан
            Nascoliko ia provilino poneal - neobhodimo napisati process cotorii ne zaderjivaet i ne blokiruiet vsiu systemu. To esti nezavisimii process.
            Ne imeiu opita programirovania dlea Palm. No dlea drugih OS (Win32, Unix) v takih sluceiah ispolizuetsea tehnologia Thread, to esti potoki. Dumaiu cto i dlea Palm doljno cto-to biti podobnoe.
            Nado toliko poiscati v doc-ah po etomu terminu - ''Thread''.
              Дело пахнет многозадачностью! ;) Вообще-то _считается_ что PalmOS однозадачная система. На самом деле SDK для написания многозадачных программ есть - но он за деньги, так что лучше считай что PalmOS однозадачная и пытайся выкручиваться именно исходя из этого :)
                Всем спасибо, буду думать.

                Тогда другой вопрос: Чтобы вывести на экран число, я преобразую его с помощью StrIToA и все отлично. А вот если число дробное, то нужно использовать FlpFToA. А этой функции хочется значение типа FloatType. Был бы очень благодарен, если бы мне разъяснили как работать с FloatType, FlpCompFloat и т.д.
                  Работа с числами в плавающей запятой описана в документации (на сайте есть). Другой вопрос - а надо ли тебе _плавающую_ запятую? Нельзя ли обойтись фиксированной? ;)) Я когда делал секундомер с точностью 0.1сек очень даже хорошо обошелся
                    Вполне вероятно, что можно обойтись. Только что-то я не врубаюсь как. Просвети, пожалуйста.
                      Опять же не понятно чего ты хочешь! ;) Например - надо тебе оперировать числами до 2 знака. Умножаешь все на 100 - а потов при выводе результата делишь на 100 - это целая часть, остаток от деления это дробная часть (хотя получится целое от 0 до 99 ;) Не понятно?

                      int a = 12*100+34 /*  12,34 */
                      int b = 56*100+78 /* 56,78 */
                      int c;

                      c = a+b;
                      printf("a+b= \%i.\%i",c / 100,c \% 100);
                        имхо, так еще геморойнее, хотя приведенный тобой пример работает как и хотелость. блин, для чего тогда нужен такой тип данных, как float? Я хочу спокойно заносить в переменные такого типа введенные значения, оперировать с ними и выводить полученные значения на экран. И хочу это сделать именно используя float или FlpFloat. Теперь достаточно понятно? :)
                          Понимаешь какое дело, иногда хочется что-бы софт работал быстро ;) Для примера возьми AstroInfo (есть на сайте) и посмотри на скорость - это не сложение и вычитание, это сферическая тригонометрия - и все это считается с фиксированной точкой. СтОит иногда погемороиться один раз (это называется оптимизация ;) ), что-б потом было приятно пользоваться софтом. И если тебе все таки хочется работать с float - почитай же наконец "PalmOS SDK Documentation" - ты будешь удивлен, но там про это есть ;)
                            С дробями я разобрался - хотя и извращенным способом.
                            Теперь возник еще вопрос: как сделать форму со скролбаром, чтобы прокручивалась имеено форма со всеми ее кнопками, картинками и т.д.?
                              О! вопрос достойный ФАКа! ;)) я такое делал уже (просто ради интереса ;)) Я просто в лоб делал CtlHideControl, потом менял bounds и CtlShowControl у всех элементов формы
                                Ясно. Ну и как оно выглядит? Нормально?

                                Next question :)
                                Допустим, я хочу написать текстовый редактор. А редактор без возможности сохрания нафиг никому не нужен. Я очень хотел бы узнать как это делается.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:




                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0780 ]   [ 16 queries used ]   [ Generated: 25.04.24, 12:42 GMT ]