Форум » [x]Harbour » Предложение... и ламерские вопросы » Ответить

Предложение... и ламерские вопросы

AndreyZh: Добрый день уважаемые специалисты! Попробовал перевести часть большого проекта на Clipper 5.01R+CTII под xHarbour в плане проверки "быстродействия" и поверхностного анализа проблем совместимости. СПАСИБО Верченко Андрею за его инструкцию!!! Некоторый предварительные (для меня) результаты: 1. Оконная система CT поддерживается в xHarbour; 2. Быстродействие xHarbour в математике в 8 раз быстрее (наверное использование RAM), а на базах примерно на 30% быстрее, что очень заманчиво. Т.е. есть резон пытаться перевести часть "некритичных" приложений на [x]Harbour. НО!!! Натолкнулся на ряд технических и организационных проблем... Главная из которых отсутствие в "удобном" доступе документации и весьма полезных инструкций/программ (на русском языке), хотя они имеются в наличии, как правило авторы размещают их в хранилищах с ограниченным сроком хранения и мои попытки скачать их натыкаются на сообщение "файл удалён из хранилища". ПРЕДЛОЖЕНИЕ: На своём сайте могу сделать страницу со ссылками на полезные программы и документацию, а так же разместить на сайте архивы данной (весьма полезной информации), выделив под это до 100mb (хостинг халявный и ограниченный по размеру). Для этого пришлите мне пожалуйста на почту zhsoft///@///mail.ru копии архивов документации с кратким оглавление и авторством. В частности руссификацию xMate, инструкцию по переводу приложений, какую нибудь документацию по языку и RDD и т.д. ВОПРОСЫ 1. Правильно ли понял, что заброшены многие полезные проекты под Harbour типа miniGui, xMate, hwGui и что это "нормальная практика" развития проекта Harbour? 2. Пожалуйста предложите "свободную" связку для создания графических приложений одновременно под Win32/64/Linux типа FrameWork+Gui+[x]Harbour+ReportSystem+RddSQL(free), но которая развивается по настоящее время и существует хотя бы 3 года, например, как понял возможен вариант xMate + hwGui + xHarbour, но всё кроме Harb брошено в 1996 году, т.е. неперспективно. 3. Натолкнулся на ряд несовместимостей (в препроцессоре, использовании "внешних" функций на C)! Если не сложно - приведите другие примеры несовместимости и глюков [x]Harbour, которые необходимо "особо" обходить! Важная мелочь? Что проблема работы с 866 кодировкой в Upper/Lower не решена? Это критично, т.к. используется в индексах, да и предполагаю продолжать развитие Clipper проекта, постепенно убирая несовместимости с Harbour пока на 100% не буду уверен в "безглючности" Harbour. Что нет функции TempFile() из CT в xHarbour? Заранее спасибо за ответы!!!

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

AndreyZh: Pasha - спасибо! У меня наверное глюки - был на их сайте, но не нашёл страницы скачки, а только платные проекты Так работает xHarbour, в Harbour все OK В Harbour не знаю, но вспомнил, что на каком-то Clipper 5.2? была аналогичная "обработка ситуации".

TimTim: У меня есть еще 6604 и на нем действительно не работает [pre2]Test := 'Вася' ? Upper( 'Вася' ) // выдает Вася ? Upper( Test ) // выдает ВАСЯ [/pre2] А вот на 6658, который на free.xHarbour.com, все ОК [pre2]Test := 'Вася' ? Upper( 'Вася' ) // выдает ВАСЯ ? Upper( Test ) // выдает ВАСЯ [/pre2]

AndreyZh: Ага, здесь есть сборка, качайте: СПАСИБО!!! Супер - работает.... Буду дальше "ломать зубы" об xHarbour/


AndreyZh: Напрасно радовался... Более сложная функция не работает (на Clipper - ok): Индекс по базе Upper(name); Поиск точно соблюдая шрифр - работает!! Может индекс xHarbour-ом перестроить, но тогда получу несовместимость индексов [pre2]* Производит поиск по ключевому полю отлавливая нажатия клавиш. PROC pSeekIndex( nKeys ) LOCA cSeek:=Upper(Chr(nKeys)), cOldCol:=SetColor() fSwopen(0,0,0,79,cMainc,11) @ 0,2 SAY "Пожалуйста вводите буквы(знаки) для поиска " + cSeek DO WHIL Inkey(0) <> 1000 IF !(C_LASTKEY $ SIM_DIG) EXIT ENDI @ Row(),Col() SAY Upper(C_LASTKEY) cSeek = cSeek + Upper(C_LASTKEY) IF !DbSeek( cSeek ) DbSeek( Left(cSeek,Len(cSeek)-1) ) EXIT ENDI ENDD fDeact(cOldCol) RETU[/pre2]

AndreyZh: Добрый день. Может быть кому-то интересно (т.к. здесь раннее активно обсуждалось)!!! Данная функция работает после переиндексации средствами xHarbour; затем проверил dos командой fc ntx_harb ntx_clip /b - файлы различаются. Следовательно (поправьте, если не так): Индексные файлы xHarbour и Clipper несовместимы и ЗАПРЕЩЕНО их одновременное использование.

gfilatov2002: AndreyZh пишет: Индексные файлы xHarbour и Clipper несовместимы и ЗАПРЕЩЕНО их одновременное использование. Это так, но возможно совместное использование баз данных (см. описание ниже) * $COMMANDNAME$ * SET DBFLOCKSCHEME * $CATEGORY$ * Command * $ONELINER$ * Toggles the lock scheme * $SYNTAX$ * SET DBFLOCKSCHEME 0 | 1 | 2 | 3 | 4 | 5 * $ARGUMENTS$ * The type of locking scheme to use. * #define DBFLOCK_DEFAULT 0 * #define DBFLOCK_CLIP 1 * #define DBFLOCK_CL53 2 * #define DBFLOCK_VFP 3 * #define DBFLOCK_CL53EXT 4 * #define DBFLOCK_XHB64 5 * $DESCRIPTION$ * This command affects how a database file will be locked. * * The default locking scheme is 0. The used locking scheme * used as the default depends on the RDD you use in your * application and operating system your application is * build for. When DBFCDX RDD is used, the default locking * scheme is DBFLOCK_VFP. For DBF, DBFFPT, DBFDBT and DBFNTX * the DBFLOCK_CLIP locking scheme is used as the default. * * Note: In the NTX header file, there is a flag which * informs that DBFLOCK_CL53 should be used. * * The DBFLOCKSCHEME command needs to be set before opening a * database file. Different locking schemes can be set for each * work area, but remember that one file should never be accessed * with different locks at the same time. Always use UNLOCK to * release all locks before changing the locking scheme for a * database file. * * Setting the locking scheme to 1 will lock the database files * like CA-Clipper 5.2 does. If you want to use CA-Clipper 5.3's * locking scheme, set DBFLOCKSCHEME to 2. This will emulate shared * locks using exclusive locks. Visual FoxPro's locking scheme can be * set with DBFLOCKSCHEME TO 3. * * When using locking scheme 4, a shared locking will be emulated. This * scheme is very useful with systems that do not have this. Although there * are no problems with xHarbour, be cautious when using this scheme * with a Clipper application in a network environment. Note that the * file size is up to 4GB which makes this locking scheme the finest for * use with a FAT32 file system. It can also be used for DBFNTX and * DBFCDX. * * When using long files (bigger than 4GB), use scheme 5. This locking * scheme does need long file support in OS. Note that it does not * reduce the size of the file. This scheme was tested successfully on a * Linux system. * * Note: The DBFLOCK_CL53 locking scheme uses the same locking scheme * as the locking scheme that COMMIX for CA-Clipper uses. * * On POSIX (Linux and other *nixes) platforms SHARED locks are * used when possible in all locking schemes. So it's not necessary * to set DBFLOCK_CL53 which cannot work when 32bit file IO is used * (maximum lock offset has 31bit). * * In DOS/Windows the DBFLOCK_CL53 will be probably the most efficient * for multi-user applications. * * Locking schemes for a open database file can be checked with * dbinfo(DBI_LOCKSCHEME). * $EXAMPLES$ * #define DBFLOCK_CL53 2 * REQUEST DBFCDX * * Function Main() * Local aStruct := { { "FIELD1", "C", 30, 0 }, ; * { "FIELD2", "N", 10, 2 }} * RddSetDefault("DBFCDX") * SET DBFLOCKSCHEME TO DBFLOCK_CL53 * DbCreate( "test", aStruct, "DBFCDX") * USE Test SHARED * APPEND BLANK * IF !NETERR() * FIELD1->"This is a test" * FIELD2->100 * "Append operation completed" * COMMIT * ELSE * ? "Append operation failed" * ENDIF * RETU NIL * $STATUS$ * R * $COMPLIANCE$ * This command is a xHarbour extension.

Pasha: Петр пишет: Pasha пишет: цитата: Понятно. Харбор так и работает aa := 'Hello' ? aa // результат - Hello Private aa ? aa // результат - nil То есть, если создаваемая private - переменная уже существует, то харбор очищает ее значение. Так работает xHarbour, в Harbour все OK Да, вот это изменение в Harbour: 2009-03-05 12:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/memvars.c ! added protection against pushing new private variable on HVM stack if such private variable is already created by the same function. Clipper also has such protection. This code illustrates it: proc main() memvar var1, var2, var3 private var1 := "a", var2 := "b", var3 := "c" ? var1, var2, var3 private var1 := "A", var2, var3 := "C" ? var1, var2, var3 private var1 := NIL, var2, var3 ? var1, var2, var3 return compare Clipper and current Harbour results with old Harbour ones or with xHarbour results.

AndreyZh: Это так, но возможно совместное использование баз данных (см. описание ниже) Нормальная таблица (dbf) наверняка имеет набор индексов, при добавлении/удалении записей или изменении индексных полей перестраивается индексный файл и каждая система перестраивает его по своему? Чтение - смысл если xHarbour программа не может "правильно" найти индексируемую информацию, использовать locate? Но это тормоз... По этому и сделал предположение о невозможности разделяемого совместного использовании таблиц... Это не "наезд" на xHarbour, а просто выявление ограничений использования. Просьба: Дайте пожалуйста ссылку на "красивое" бизнес приложение написанное на harbour с графическим интерфейсом (можно demo) - очень хочется посмотреть "конечный результат" у профессиональных разработчиков на harbour.

TimTim: AndreyZh пишет: В частности руссификацию xMate, инструкцию по переводу приложений, какую нибудь документацию по языку и RDD и т.д. Все что касается моих опусов, то ссылки на них есть "живые" и файлы не удалены. Внимательней читайте соответствующую ветку click here

AndreyZh: Все что касается моих опусов, то ссылки на них есть "живые" и файлы не удалены. Внимательней читайте соответствующую ветку Вас, то и имел "в виду" - сами посмотрите реальность ссылок, начиная с конца... И у меня они есть - хочу больше! Но благодарен за Вашу, весьма полезную работу.

TimTim: Спасибо, на добром слове. Если вы уже скачали файлы, то я не против размещения их на вашем сайте. Ссылки можно опубликовать в той же ветке. Я же по-прежнему буду следить за файлами на narod.yandex.ru. Там все просто, приходит письмо на майл с уведомлением об истечении срока хранения файла и можно при необходимости продлить еще на 90 дней. Что я и делаю.

AndreyZh: *PRIVAT*

Dima: AndreyZh пишет: REQUEST-> Ты бы еще заюзал Procedure-> или что то вроде того ;) ЗЫ [pre2] REQUEST оператор Объявляет список запрашиваемых для компоновки модулей Синтаксис REQUEST <idModule list> [/pre2]

AndreyZh: Млин!!! Спасибо - у меня это имя таблицы, а в Clipper 5.01 команды request уще не было sele REQUEST DbCloseArea() А почему эту конструкцию корректно обрабатывает?

AndreyZh: Добрый вечер! Коль скоро наглею - повторяю просьбу: Дайте пожалуйста ссылку на "красивое" бизнес приложение написанное на harbour с графическим интерфейсом (можно demo) - очень хочется посмотреть "конечный результат" у профессиональных разработчиков на harbour.

Dima: AndreyZh Могу ошибаться но вроде Бэст написан на Harbour http://www.bestnet.ru/ AndreyZh пишет: "красивое" что значит красивое ? Много иконок и всяких рюшечек ? ;) Не под всякой красивой оберткой лежит вкусная конфетка ;)

AndreyZh: Могу ошибаться но вроде Бэст написан на Harbour Не катит! Очень уважительно относясь к данной системе. У них шарахания и как следствие "у них много интерфейсов": 1. БЭСТ до версии 4. Clipper - интерфейс полностью совпадает с интерфейсом моей системы (в 1992 году даже в суд хотел подавать на них за плагиат - ШУТКА). 2. БЭСТ 4/4+. Harbour (терминальный режим) - кажется прекратили развитие. 3. БЭСТ 5. Не знаю на чём реализовали - народ утверждает, что FoxPro. что значит красивое ? Много иконок и всяких рюшечек ? ;) Гламурно, удобно и приятно использовать, например в таком стиле:

Dima: AndreyZh пишет: Гламурно, удобно и приятно использовать, например в таком стиле: Лично мой выбор: удобно , не глючно , максимум функционала по требованию клиента а уже потом гламур. Впрочем максимум функционала я сразу стараюсь реализовывать , обычно у клиентов потом не возникает пожеланий в переделке , хотя бывают исключения , в этом случае я конечно иду на встречу клиенту. Гламур наверное следует наводить в самую последнюю очередь. Это просто мое мнение и оно может отличаться от Вашего. И по ходу. Представь себе (думаю видел наверное) большой магазин чем то торгующим , скажем колбасными изделиями. Пользователи - люди взятые с улицы в основном (условно) , многие из них мышь ранее в глаза не видели. Прога что у них установлена (моя) , въезжают они в нее скажем так за 30 минут , хотя есть и тугодумы. Мышкой елозить по ковру в проге (в таком магазине) это время терять и клиентов. Было вывалена куча бабла на разные версии 1С (и другие проги) в течении нескольких лет и ни одна версия не прижилась. Куча денег была потрачена на покеты и проги к ним (сегодня это все сохнет на складе) Так и сидят они на проге на Clipper + ADS (а куда ж без него) + ряд программ на Xharbour (Harbour) работающих с той же базой но имеющих другой функционал , типа отправки документов по инет , архивации базы + куча всего другого что не возможно сделать в Clipper. PS Пошел я бай наверное ;)

gfilatov2002: AndreyZh пишет: Гламурно, удобно и приятно использовать Так выглядит программа Modest, написанная с использованием библиотеки MiniGUI

Dima: Dima пишет: Так и сидят они на проге на Clipper + ADS Кстати пора уже наверное все переводить на X(Harbour) , практика показала что он ведет себя стабильно (времени не хватает просто)



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