Автор | Сообщение |
|
| |
Пост N: 9
Зарегистрирован: 12.11.06
|
|
Отправлено: 22.03.10 11:28. Заголовок: Предложение... и ламерские вопросы
Добрый день уважаемые специалисты! Попробовал перевести часть большого проекта на 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
[только новые]
|
|
|
| |
Пост N: 22
Зарегистрирован: 12.11.06
|
|
Отправлено: 22.03.10 20:57. Заголовок: Pasha - спасибо! У ..
Pasha - спасибо! У меня наверное глюки - был на их сайте, но не нашёл страницы скачки, а только платные проекты цитата: | Так работает xHarbour, в Harbour все OK |
| В Harbour не знаю, но вспомнил, что на каком-то Clipper 5.2? была аналогичная "обработка ситуации".
|
|
|
|
| |
Пост N: 75
Зарегистрирован: 10.07.07
|
|
Отправлено: 22.03.10 21:05. Заголовок: У меня есть еще 6604..
У меня есть еще 6604 и на нем действительно не работает Test := 'Вася' ? Upper( 'Вася' ) // выдает Вася ? Upper( Test ) // выдает ВАСЯ А вот на 6658, который на free.xHarbour.com, все ОК Test := 'Вася' ? Upper( 'Вася' ) // выдает ВАСЯ ? Upper( Test ) // выдает ВАСЯ
|
|
|
|
| |
Пост N: 23
Зарегистрирован: 12.11.06
|
|
Отправлено: 22.03.10 21:11. Заголовок: Ага, здесь есть сбор..
цитата: | Ага, здесь есть сборка, качайте: |
| СПАСИБО!!! Супер - работает.... Буду дальше "ломать зубы" об xHarbour/
|
|
|
|
| |
Пост N: 24
Зарегистрирован: 12.11.06
|
|
Отправлено: 22.03.10 21:33. Заголовок: Напрасно радовался....
Напрасно радовался... Более сложная функция не работает (на Clipper - ok): Индекс по базе Upper(name); Поиск точно соблюдая шрифр - работает!! Может индекс xHarbour-ом перестроить, но тогда получу несовместимость индексов * Производит поиск по ключевому полю отлавливая нажатия клавиш. 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
|
|
|
|
| |
Пост N: 25
Зарегистрирован: 12.11.06
|
|
Отправлено: 23.03.10 14:02. Заголовок: Добрый день. Может б..
Добрый день. Может быть кому-то интересно (т.к. здесь раннее активно обсуждалось)!!! Данная функция работает после переиндексации средствами xHarbour; затем проверил dos командой fc ntx_harb ntx_clip /b - файлы различаются. Следовательно (поправьте, если не так): Индексные файлы xHarbour и Clipper несовместимы и ЗАПРЕЩЕНО их одновременное использование.
|
|
|
|
| moderator
|
Пост N: 22
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.03.10 14:24. Заголовок: AndreyZh пишет: Инд..
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. |
|
|
|
|
|
| Администратор
|
Пост N: 1372
Зарегистрирован: 23.05.05
|
|
Отправлено: 23.03.10 14:26. Заголовок: Петр пишет: 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.
|
|
|
|
| |
Пост N: 26
Зарегистрирован: 12.11.06
|
|
Отправлено: 23.03.10 15:42. Заголовок: Это так, но возможно..
цитата: | Это так, но возможно совместное использование баз данных (см. описание ниже) |
| Нормальная таблица (dbf) наверняка имеет набор индексов, при добавлении/удалении записей или изменении индексных полей перестраивается индексный файл и каждая система перестраивает его по своему? Чтение - смысл если xHarbour программа не может "правильно" найти индексируемую информацию, использовать locate? Но это тормоз... По этому и сделал предположение о невозможности разделяемого совместного использовании таблиц... Это не "наезд" на xHarbour, а просто выявление ограничений использования. Просьба: Дайте пожалуйста ссылку на "красивое" бизнес приложение написанное на harbour с графическим интерфейсом (можно demo) - очень хочется посмотреть "конечный результат" у профессиональных разработчиков на harbour.
|
|
|
|
| |
Пост N: 79
Зарегистрирован: 10.07.07
|
|
Отправлено: 23.03.10 16:09. Заголовок: AndreyZh пишет: В ч..
AndreyZh пишет: цитата: | В частности руссификацию xMate, инструкцию по переводу приложений, какую нибудь документацию по языку и RDD и т.д. |
| Все что касается моих опусов, то ссылки на них есть "живые" и файлы не удалены. Внимательней читайте соответствующую ветку click here
|
|
|
|
| |
Пост N: 27
Зарегистрирован: 12.11.06
|
|
Отправлено: 23.03.10 16:38. Заголовок: Все что касается мои..
цитата: | Все что касается моих опусов, то ссылки на них есть "живые" и файлы не удалены. Внимательней читайте соответствующую ветку |
| Вас, то и имел "в виду" - сами посмотрите реальность ссылок, начиная с конца... И у меня они есть - хочу больше! Но благодарен за Вашу, весьма полезную работу.
|
|
|
|
| |
Пост N: 80
Зарегистрирован: 10.07.07
|
|
Отправлено: 23.03.10 17:22. Заголовок: Спасибо, на добром с..
Спасибо, на добром слове. Если вы уже скачали файлы, то я не против размещения их на вашем сайте. Ссылки можно опубликовать в той же ветке. Я же по-прежнему буду следить за файлами на narod.yandex.ru. Там все просто, приходит письмо на майл с уведомлением об истечении срока хранения файла и можно при необходимости продлить еще на 90 дней. Что я и делаю.
|
|
|
|
|
| |
Пост N: 28
Зарегистрирован: 12.11.06
|
|
Отправлено: 23.03.10 21:16. Заголовок: Я же по-прежнему буд..
*PRIVAT*
|
|
|
|
| |
Пост N: 1474
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.03.10 21:32. Заголовок: AndreyZh пишет: REQ..
AndreyZh пишет: Ты бы еще заюзал Procedure-> или что то вроде того ;) ЗЫ REQUEST оператор Объявляет список запрашиваемых для компоновки модулей Синтаксис REQUEST <idModule list>
|
|
|
|
| |
Пост N: 29
Зарегистрирован: 12.11.06
|
|
Отправлено: 23.03.10 21:39. Заголовок: Млин!!! Спасибо - у ..
Млин!!! Спасибо - у меня это имя таблицы, а в Clipper 5.01 команды request уще не было цитата: | sele REQUEST DbCloseArea() |
| А почему эту конструкцию корректно обрабатывает?
|
|
|
|
| |
Пост N: 30
Зарегистрирован: 12.11.06
|
|
Отправлено: 23.03.10 21:42. Заголовок: Добрый вечер! Коль с..
Добрый вечер! Коль скоро наглею - повторяю просьбу: Дайте пожалуйста ссылку на "красивое" бизнес приложение написанное на harbour с графическим интерфейсом (можно demo) - очень хочется посмотреть "конечный результат" у профессиональных разработчиков на harbour.
|
|
|
|
| |
Пост N: 1475
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.03.10 21:59. Заголовок: AndreyZh Могу ошиба..
AndreyZh Могу ошибаться но вроде Бэст написан на Harbour http://www.bestnet.ru/ AndreyZh пишет: что значит красивое ? Много иконок и всяких рюшечек ? ;) Не под всякой красивой оберткой лежит вкусная конфетка ;)
|
|
|
|
| |
Пост N: 31
Зарегистрирован: 12.11.06
|
|
Отправлено: 23.03.10 22:29. Заголовок: Могу ошибаться но вр..
цитата: | Могу ошибаться но вроде Бэст написан на Harbour |
| Не катит! Очень уважительно относясь к данной системе. У них шарахания и как следствие "у них много интерфейсов": 1. БЭСТ до версии 4. Clipper - интерфейс полностью совпадает с интерфейсом моей системы (в 1992 году даже в суд хотел подавать на них за плагиат - ШУТКА). 2. БЭСТ 4/4+. Harbour (терминальный режим) - кажется прекратили развитие. 3. БЭСТ 5. Не знаю на чём реализовали - народ утверждает, что FoxPro. цитата: | что значит красивое ? Много иконок и всяких рюшечек ? ;) |
| Гламурно, удобно и приятно использовать, например в таком стиле:
|
|
|
|
| |
Пост N: 1476
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.03.10 22:59. Заголовок: AndreyZh пишет: Гла..
AndreyZh пишет: цитата: | Гламурно, удобно и приятно использовать, например в таком стиле: |
| Лично мой выбор: удобно , не глючно , максимум функционала по требованию клиента а уже потом гламур. Впрочем максимум функционала я сразу стараюсь реализовывать , обычно у клиентов потом не возникает пожеланий в переделке , хотя бывают исключения , в этом случае я конечно иду на встречу клиенту. Гламур наверное следует наводить в самую последнюю очередь. Это просто мое мнение и оно может отличаться от Вашего. И по ходу. Представь себе (думаю видел наверное) большой магазин чем то торгующим , скажем колбасными изделиями. Пользователи - люди взятые с улицы в основном (условно) , многие из них мышь ранее в глаза не видели. Прога что у них установлена (моя) , въезжают они в нее скажем так за 30 минут , хотя есть и тугодумы. Мышкой елозить по ковру в проге (в таком магазине) это время терять и клиентов. Было вывалена куча бабла на разные версии 1С (и другие проги) в течении нескольких лет и ни одна версия не прижилась. Куча денег была потрачена на покеты и проги к ним (сегодня это все сохнет на складе) Так и сидят они на проге на Clipper + ADS (а куда ж без него) + ряд программ на Xharbour (Harbour) работающих с той же базой но имеющих другой функционал , типа отправки документов по инет , архивации базы + куча всего другого что не возможно сделать в Clipper. PS Пошел я бай наверное ;)
|
|
|
|
| moderator
|
Пост N: 23
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.03.10 23:09. Заголовок: AndreyZh пишет: Гла..
AndreyZh пишет: цитата: | Гламурно, удобно и приятно использовать |
| Так выглядит программа Modest, написанная с использованием библиотеки MiniGUI
|
|
|
|
| |
Пост N: 1477
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.03.10 23:11. Заголовок: Dima пишет: Так и с..
Dima пишет: цитата: | Так и сидят они на проге на Clipper + ADS |
| Кстати пора уже наверное все переводить на X(Harbour) , практика показала что он ведет себя стабильно (времени не хватает просто)
|
|
|
Ответов - 139
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|