Форум » [x]Harbour » Волшебные числа и операции » Ответить

Волшебные числа и операции

AndreyZh: Доброе утро! Вот наткнулся на очередную ошибку xHarbour и Clipper. Думал, что глюк ОС или ПК, но нет. Пример ошибки - оператор "остаток от деления": 8.8 * 3 = 26.4 или 3.3 * 3 = 9.9, но операции (%) дают 26.4%8.8 = 8.8 или (НО правильно) 9.9%3.3 = 0 Вопрос - как Вы обходите данные глюки? Или где в "арифметике" ожидать очередных "засад"? До кучи напомню об ошибочной работе функции Int в Clipper (в xHarbour кажется работает правильно)

Ответов - 150, стр: 1 2 3 4 5 6 7 8 All

AndreyZh: Уважаемый Pasha! Я не прошу Вас решить мою проблему, тем более, что её через опу сам порешал. Просто предположил, что нахождение источника её возникновения в интересах сообщества. Вся она досконально описана на 2, 3 страницы с описанием структуры вызовов и приведением связанных выжимок из исходного кода. Самодостаточный пример не придумал, а упрощенный вариант алгоритма давал "правильные" и ожидаемые результаты. Почему предложил использовать для выяснения проблемы дистрибутив? Там бы Вы смогли бы наглядно увидеть глюк программы на xHarbour и четко его отследить по прилагаемым исходникам. Данная проблема возникала во всех отчетах, где в качестве последнего значения вводится единственный символ и он точка или запятая.

Andrey: AndreyZh пишет: Что касается "глобальной" переделки под графический интерфейс и с нормальной СУБД, то внимательно присмотрюсь к творчеству Филатова (miniGui) и Кресина (LetoDB) и очень надеюсь, что к тому моменту появится нечто стабильное и хоть как-то документированное ... и конечно Harbour. Я уже с нового года ковыряю МиниГуи... Успехи так себе, застрял на главном меню программы - стартере для терминалки.... Скин 1 http://shot.qip.ru/003YZC-12Q3rKUxL/ Скин 2 http://shot.qip.ru/003YZC-32Q3rKUxM/ Скин 3 http://shot.qip.ru/003YZC-22Q3rKUxN/ Думаю потом все таки нужно переходить на Harbour + Qt Посмотрел на исходники БАРС-Бюджет http://www.bars-open.ru/ (сборка для 3-х платформ: Linux;Mac OS;MS Windows) Много чего интересного в нем.

Dima: Andrey пишет: Я уже с нового года ковыряю МиниГуи Учел для разных разрешений экрана ? ;) И потом к чему твое сообщение тут ?


Andrey: Dima пишет: Учел для разных разрешений экрана ? ;) Да нет. Пока только 800*600..... Dima пишет: И потом к чему твое сообщение тут ? Из-за этого: Что касается "глобальной" переделки под графический интерфейс и с нормальной СУБД, то внимательно присмотрюсь к творчеству Филатова (miniGui) Работает МиниГуи, и под Ubuntu 11.10, Wine 1.36. Нечего присматриваться, работать надо...

AndreyZh: Andrey пишет: Посмотрел на исходники БАРС-Бюджет http://www.bars-open.ru/ (сборка для 3-х платформ: Linux;Mac OS;MS Windows) Много чего интересного в нем. Извините, если что! Но Вы в курсе, что в "Барсе" непонятно что реализовано на Харбор... по крайней мере весь интерфейс, по их утверждению сделан на C++ & QT

Pasha: Сделал для примера маленький класс Money, в котором исключены ошибки округления при операциях с плавающей точкой, поскольку значения в обьекте класса хранятся в целом формате. К значению переменной класса надо обращаться через метод value: oMoney:value Для создания переменной надо вызвать метод new: local m1 := Money():new( 12.2 ) Переменные класса Money поддерживают арифметические операции, операции сравнения и операцию присваивания. Думаю, этот класс можно будет выложить в harbour\tests Ссылка: http://zalil.ru/33476877

AndreyZh: Спасибо Pasha за пример создания собственного класса Очень интересно для освоения работы с классами, хотя и здесь глобальная "беда" проектов, связанных с Harbour - полное отсутствие документации и документирования, но я разобрался Увы... пока "для меня" это решение пока не подходит - использую единный код для программы на Clipper 5.01 + CT II (там еще нет механизмов создания своих классов) и xHarbour. Для себя определил следующий механизм: #define _ZRND(x) => Round(x,9) ..... После операции/чтения Get записать/переопределить nVal := _ZDND(nVal) что в общем тоже приводит к корректным результатам... P.S. А по нелюбви к точке и запятой идей не появилось?

AndreyZh: ... в догонку ... по теме документирования... Вроде бы всем пользователям в реале объясняю новые вещи в своей системе, отвечаю на "мыло" и звонки, но ВСЕ требуют какую нибудь бумажку для самостоятельного чтения и без неё ну ни как!... пример ежемесячной писульки список модификаций программы При взаимодействии с другими разработчиками по связанным проектам те так же требуют (и дают) четкую и однозначную "ксиву" - если интересно покажу "регламент от программистов Лукойл".

gustow: Про "список модификаций" - у нас это рутина: не наобъясняешься же 200-300 больничкам, что там изменилось. Т.ч. кроме краткого описания (см., например, тут), есть еще отдельным DOC-файликом (чтобы можно было "распечатать и в папочку подшить" - ибо бюрократия вещь хорошая и бессмертна :) ) (например, вот такой стандартный текстик). Снимает 90% "дурацких" вопросов - хотя оставшиеся 10% тоже хорошо взрывают мозг разработчика :). Извиняюсь за оффтоп в ветке, AndreyZh - но сам нарвался :)

AndreyZh: gustow пишет: Про "список модификаций" - у нас это рутина: не наобъясняешься же 200-300 больничкам, что там изменилось По то же и толкую... Что бы сложным продуктом пользовались нужна доходчивая инструкция, понятные статьи и желательно коллективный разум на форуме. gustow пишет: Т.ч. кроме краткого описания (см., например, тут), есть еще отдельным DOC-файликом Да это ссылка для "читателей" сайтов, а так конечно (и это можно увидеть по страничке), что сделана она из word документа. Кроме таких описаловов имеются детальные статейки по реализации и нюансам сложным бизнес технологий и etc... Ну всё это просто на тему - нужны хоть какие-то описания!

gustow: Честно говоря, не совсем понял (жара, туп с утра :) ). AndreyZh пишет: нужны хоть какие-то описания! - это про "описания работы с Harbour/MiniGUI" (поскольку упоминается "коллективный разум на форуме") или про более детальное описание (для разработчиков/юзеров некоего "практического ПО", разрабатываемого более чем одним человеком) апдейтов этого "бизнес-ПО" (того же "Реестра-Стационара")? Если про Harbour (и сопутствующее ему) - какое-то время назад начал склонять желающих пописАть описание Харбора в формате Викиучебника (в этой темке форума), да что-то "что они не делают - не идут дела..." :) ("заготовку" первоначальную сделал - а дальше надо со структурой [содержание] публикации определяться и кропать кто может и хочет "по 3 копейки" кусочками). Если про это разговор - м.б. лучше продолжить в указанной темке?

AndreyZh: Добрый день! Не "соскучились"? А теперь "Memoedit": Логично, да и в Clipper... при перемешении по линии влево и достижении первой колонки курсор должен оставаться на первой колонке при последующих нажатиях стрелки влево, но "фигфам" в xHarbour он улетает в "бесконечность" вправо за территорию текста, т.е. курсор перемещается не по фактически редактируемой строке, а по некой виртуальной буферной строке (шириной 231 знак). Но пользователи этой "задумки" не понимают и ругаются. "Решено" добавлением в функцию пользователя memoedit строчек: FUNC FMEdit(nMode,nRow,nCol) LOCA nKeys:=LastKey() LOCA nRet:=ME_DEFAULT .... DO CASE .... CASE nKeys == K_LEFT .AND. nCol >= 230 CLEAR TYPEAHEAD KEYB Chr(K_HOME) ENDC RETU nRet

AndreyZh: gustow пишет: Если про Harbour (и сопутствующее ему) - какое-то время назад начал склонять желающих пописАть описание Харбора в формате Викиучебника (в этой темке форума), да что-то "что они не делают - не идут дела..." :) ("заготовку" первоначальную сделал - а дальше надо со структурой [содержание] публикации определяться и кропать кто может и хочет "по 3 копейки" кусочками). Если про это разговор - м.б. лучше продолжить в указанной темке? Прочитал это раннее, но и тогда и сейчас сказать по сути нечего... Понятной и вменяемой документации, как ни по Харбор, так ни по обсуждаемых здесь всеьма интересным системам типа LetoDB, miniGUI НЕТ, но кто-то должен её написать. Можно было потребовать её от "коллективного разума", но он это только "щупает" не понимая технологий данных библиотек... а даже краткий список функций с параметрами разработчики не сильно стремяться предоставить... понимаю им интереснее творить. При таком подходе "боюсь", что системы Харбоур остануться уделом, как отметили на другом форуме "секты" выходцев из Clipper

gfilatov2002: AndreyZh пишет: краткий список функций с параметрами Уже есть! См. здесь

Dima: AndreyZh пишет: miniGUI НЕТ В теме есть сайтик где лежит дока.

AndreyZh: gfilatov2002 и уважаемый Dima - пятница вечер и уже сложно, понятно и однозначно выражать свою мысль, но всё же отделив "мух от котлет": 1. xharbour - есть нормальная дока от 2007 года 2. harbour 3.0 - наконец то появился, надеюсь правильный и полный список функций... хотя материалов для "быстрого старта" окромя описалова Кресина от 2002 года (устарело однако) НЕТ 3. по miniGUI какие-то доки появились "на днях"... что же может быть и стоит уже "поиграться" 4. LetoDB в readme есть упоминания о каких-то функциях.... Обалденно богатая и полезная библиотека? Но спасибо и на этом... опираясь на базовые знания клиппера хоть что-то можно понять. P.S. http://www.whosaway.com/ у меня IE пишет о проблемах подключения... и раньше не хотел его открывать

Dima: AndreyZh пишет: http://www.whosaway.com/ Андрей сайт спокойно открывается в Мозилла и в Opera. Если надо я могу перелить доку на files.mail.ru , мне не сложно. PS IE8 спокойно открыл сайт

AlexMyr: AndreyZh Есть и другой вариант - взять платный продукт для разработки и балдеть от того что там все есть, включая саппорт AndreyZh пишет: 2. harbour 3.0 - наконец то появился, надеюсь правильный и полный список функций... хотя материалов для "быстрого старта" окромя описалова Кресина от 2002 года (устарело однако) НЕТ а что конкретно интересует по старту?

AndreyZh: Dima пишет: Андрей сайт спокойно открывается в Мозилла и в Opera. Если надо я могу перелить доку на files.mail.ru , мне не сложно Буду благодарен... и не обращайте внимание на уставшего и недовольного сегодняшним днём человека

AndreyZh: AlexMyr пишет: Есть и другой вариант - взять платный продукт для разработки и балдеть от того что там все есть, включая саппорт А Вы уважаемый! - не передёргивайте... Например Lazarus, впрочем и другие популярные системы разработок (PHP, C++, ...) имеет большой набор литературы, да если поискать на сайтах разработчиков библиотек Harbour то же многое можно накопать!



полная версия страницы