On-line: Andrey, MIKHAIL, tnsr2, гостей 1. Всего: 4 [подробнее..]
АвторСообщение





Пост 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?


Заранее спасибо за ответы!!!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 139 , стр: 1 2 3 4 5 6 7 All [только новые]


Администратор




Пост N: 1356
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:02. Заголовок: AndreyZh пишет: 1. ..


AndreyZh пишет:

 цитата:
1. Не увидев ответа сам поискал на буржуйских сайтах - проблема не решена (до 25.02.2010) и самое "лучшее" предложение заменить "приложенным" C модулем, соответствующий модуль xHarbour и пересобрать проект, т.е. компилятор превращать в самописку.
2. Свежее, чем у меня официальных сборок xHarbour - НЕТ. Использовать самосборки - как потом контролировать инструмент.
3. Уже пояснил, что не любитель "системного" программирования, да и времени на это не очень много....



Да это же не системное программирование, да и не программирование вообще. Это сборка. То есть настроил среду, запустил батник и получил готовый харбор.
Впрочем, как хотите, Ни заставлять, ни агитировать, ни уговаривать я не буду, мне то это зачем. Мое дело - обрисовать текущее состояние и помочь в решении проблем, если такие возникнут.
А баг с upper таки исправлен. Кто-нибудь, проверьте еще для ясности.
Кстати, я сам использую сборку харбора с этим багом, и знаю о нем. Просто у меня заведомо нет конструкций, где upper вызывается со строковой константой, а не с переменной или полем таблицы.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1454
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:02. Заголовок: Pasha пишет: Local ..


Pasha пишет:

 цитата:
Local cStr := 'Вася'

REQUEST HB_CODEPAGE_RU866

hb_SetCodepage( "RU866" )
? Upper('Вася')
? Upper(cStr)
wait



Проверил
? Upper('Вася') // не работает

Текст с такой
 
HB_FUNC( MAIN )
{
static const BYTE pcode[] =
{
/* 00000 */ HB_P_BASELINE, 3, 0, /* 3 */
HB_P_PUSHSYMNEAR, 2, /* HB_SETCODEPAGE */
HB_P_PUSHNIL,
HB_P_PUSHSTRSHORT, 6, /* 6 */
'R', 'U', '8', '6', '6', 0,
HB_P_DOSHORT, 1,
/* 00016 */ HB_P_LINEOFFSET, 3, /* 6 */
HB_P_PUSHSYMNEAR, 3, /* QOUT */
HB_P_PUSHNIL,
HB_P_PUSHSYMNEAR, 4, /* UPPER */
HB_P_PUSHNIL,
HB_P_PUSHSTRSHORT, 5, /* 5 */
162, 160, 225, 239, 0,
HB_P_FUNCTIONSHORT, 1,
HB_P_DOSHORT, 1,
/* 00035 */ HB_P_LINEOFFSET, 4, /* 7 */
HB_P_PUSHSYMNEAR, 3, /* QOUT */
HB_P_PUSHNIL,
HB_P_DOSHORT, 0,
/* 00042 */ HB_P_LINEOFFSET, 5, /* 8 */
HB_P_ENDPROC
/* 00045 */
};

hb_vmExecute( pcode, symbols );
}





Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1455
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:05. Заголовок: AndreyZh пишет: у м..


AndreyZh пишет:

 цитата:
у меня индексы Upper(name)


в индексах работает нормально.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1357
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:08. Заголовок: А такой тест: REQUE..


А такой тест:

REQUEST HB_CODEPAGE_RU866

hb_SetCodepage( "RU866" )
? Upper('Вася')
wait

какой будет код на C ?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 18
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 22.03.10 20:13. Заголовок: Господа, а можно мне..


Господа, а можно мне на почту zhsoft@mail.ru прислать необходимые файлы, что бы не связываться со "сборками", а то жалко бросать начатые эксперимент?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1456
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:15. Заголовок: Pasha пишет: какой ..


Pasha пишет:

 цитата:
какой будет код на C ?



 

HB_FUNC( MAIN )
{
static const BYTE pcode[] =
{
/* 00000 */ HB_P_BASELINE, 6, 0, /* 6 */
HB_P_PUSHSYMNEAR, 2, /* HB_SETCODEPAGE */
HB_P_PUSHNIL,
HB_P_PUSHSTRSHORT, 6, /* 6 */
'R', 'U', '8', '6', '6', 0,
HB_P_DOSHORT, 1,
/* 00016 */ HB_P_LINEOFFSET, 1, /* 7 */
HB_P_PUSHSYMNEAR, 3, /* QOUT */
HB_P_PUSHNIL,
HB_P_PUSHSYMNEAR, 4, /* UPPER */
HB_P_PUSHNIL,
HB_P_PUSHSTRSHORT, 5, /* 5 */
130, 160, 225, 239, 0,
HB_P_FUNCTIONSHORT, 1,
HB_P_DOSHORT, 1,
/* 00035 */ HB_P_LINEOFFSET, 2, /* 8 */
HB_P_PUSHSYMNEAR, 5, /* __WAIT */
HB_P_PUSHNIL,
HB_P_DOSHORT, 0,
/* 00042 */ HB_P_LINEOFFSET, 3, /* 9 */
HB_P_PUSHNIL,
HB_P_RETVALUE,
HB_P_ENDPROC
/* 00047 */
};

hb_vmExecute( pcode, symbols );
}





Pasha пишет:

 цитата:
REQUEST HB_CODEPAGE_RU866

hb_SetCodepage( "RU866" )
? Upper('Вася')
wait



? Upper('Вася') // не работает


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1358
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:17. Заголовок: AndreyZh пишет: Опя..


AndreyZh пишет:

 цитата:
Опять наврал! Назначал после использования (на Clipper прокатывало)

oTB := TBRowseDB(7,1,23,78)
oTB:headSep := Chr(196)
oTB:addColumn( TBColumnNew("ДатаНак.|N_ накладной|КодН|О|СуммаСоСкид.|Отср.| Ост.оплата |КодД|Сч|З|О|Р|У|Г",{|| cDemoInvRR() }) )
PRIV oTb



Я не очень понял, где возникает ошибка. Здесь переменная oTb создается оператором Private 2-й раз, после того как она была создана неявно операцией присваивания ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1359
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:22. Заголовок: Dima пишет: ? Upper..


Dima пишет:

 цитата:
? Upper('Вася') // не работает



По тексту видно, что сама функция upper вызывается, компилятор не подавляет ее вызов, и она должна отработать, и отработала у меня правильно.
В чем дело - мне непонятно, я вот 20 минут назад как собрал xHarbour и прогнал тест.

cStr := 'Вася'
? Upper(cStr)

работает ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1457
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:30. Заголовок: Pasha пишет: cStr :..


Pasha пишет:

 цитата:
cStr := 'Вася'
? Upper(cStr)

работает ?


Это и работало.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1360
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:30. Заголовок: AndreyZh пишет: Гос..


AndreyZh пишет:

 цитата:
Господа, а можно мне на почту zhsoft@mail.ru прислать необходимые файлы, что бы не связываться со "сборками", а то жалко бросать начатые эксперимент?



Полная сборка xHarbour вместе с сырцами с CVS получается около 20М. Как отправить ?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 19
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 22.03.10 20:32. Заголовок: Как быстро идёт обме..


Как быстро идёт обмен мнениями!!?


 цитата:
Я не очень понял, где возникает ошибка. Здесь переменная oTb создается оператором Private 2-й раз, после того как она была создана неявно операцией присваивания ?



Код, вызывающий ошибку:
PROC pReceipts()
LOCA sOp:="0200", cOldCol:=SetColor(), nKeys:=0, nCount:=0, aArr:={}
S_PROC
.....................................
oTB := TBRowseDB(7,1,23,78)
oTB:headSep := Chr(196)
.....................................
PRIV oTb // Глупо, но объявляю после инициализации
....................................
DO WHIL TRUE
#include "table.ch"
**** Место вылета по ошибке - там ерунда типа oTb:stabilize() и т.п.

DO CASE
CASE nKeys == K_INS; IF lAddChInv( TRUE) THEN REF_INV // REC
..............................


Извините за повторение просьбы!
а можно мне на почту zhsoft@mail.ru прислать необходимые файлы, что бы не связываться со "сборками", а то жалко бросать начатые эксперимент?



Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 20
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 22.03.10 20:34. Заголовок: Полная сборка xHarbo..



 цитата:
Полная сборка xHarbour вместе с сырцами с CVS получается около 20М. Как отправить ?



Мне только файлы (вероятно только компилятор и библиотеку), где произошли изменения, но если не сложно/возможно, то и 20mb сойдёт.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1361
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:38. Заголовок: AndreyZh пишет: Мне..


AndreyZh пишет:

 цитата:
Мне только файлы (вероятно только компилятор и библиотеку), где произошли изменения, но если не сложно/возможно, то и 20mb сойдёт.



Если только lib, include и bin, то обьем получается небольшой
Но и сырцы ведь тоже нужны, а за год изменений было очень много.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1458
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:39. Заголовок: Странно все это Паве..


Странно все это Павел.
У тебя работает , у меня нет

function Main()

REQUEST HB_CODEPAGE_RU866

hb_SetCodepage( "RU866" )
? Upper('Вася') // BAD
? Upper('test') // OK

wait
return nil



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1362
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:42. Заголовок: AndreyZh пишет: PRI..


AndreyZh пишет:

 цитата:
PRIV oTb // Глупо, но объявляю после инициализации



Понятно. Харбор так и работает

aa := 'Hello'
? aa // результат - Hello
Private aa
? aa // результат - nil

То есть, если создаваемая private - переменная уже существует, то харбор очищает ее значение.
Если в клиппере не так - то это несовместимость с клиппером


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 21
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 22.03.10 20:43. Заголовок: Но и сырцы ведь тоже..



 цитата:
Но и сырцы ведь тоже нужны, а за год изменений было очень много



Если "сырцы" - исходный код, то мне он ПОКА не нужен!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 847
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 22.03.10 20:44. Заголовок: У меня работает :sm..


У меня работает

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2010, http://www.xharbour.org http://www.harbour-project.org/

Стандартная сборка, скачанная с free.xHarbour.com

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1363
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:45. Заголовок: Dima пишет: Странно..


Dima пишет:

 цитата:
Странно все это Павел.
У тебя работает , у меня нет

function Main()

REQUEST HB_CODEPAGE_RU866

hb_SetCodepage( "RU866" )
? Upper('Вася') // BAD
? Upper('test') // OK

wait
return nil



Да мне самому непонятно. Вызов функции есть, и у меня она отработала, как и должно быть
Пусть кто-нибудь третий прогонит этот тестик, на любом xHarbour после апреля 2009 года

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1364
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.03.10 20:47. Заголовок: AndreyZh пишет: Есл..


AndreyZh пишет:

 цитата:
Если "сырцы" - исходный код, то мне он ПОКА не нужен!



Ага, здесь есть сборка, качайте:
http://free.xharbour.com/free.xHarbour.com/Downloads.html

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 848
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 22.03.10 20:51. Заголовок: Pasha пишет: Понятн..


Pasha пишет:

 цитата:
Понятно. Харбор так и работает

aa := 'Hello'
? aa // результат - Hello
Private aa
? aa // результат - nil

То есть, если создаваемая private - переменная уже существует, то харбор очищает ее значение.


Так работает xHarbour, в Harbour все OK

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 139 , стр: 1 2 3 4 5 6 7 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 144
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет