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





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 08.11.05 18:03. Заголовок: А что лучше?


Вопрос такой - есть разница на что переходить: на xHarbour или на Harbour?
В конец что-то запутался. Что лучше?

Спасибо: 0 
Профиль
Ответов - 32 , стр: 1 2 All [только новые]


постоянный участник


Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 08.11.05 19:49. Заголовок: Re:


Лучше там, где ты чувствуешь себя докой...

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 08.11.05 20:22. Заголовок: Re:


Я слышу этот вопрос практически через день!

Отвечаю примерно так:
Если интересуют новые возможности, которые будешь реально использовать, либо важна удобная работа с ADO, то надо выбирать xHarbour, не задумываясь!
Если же интересует сравнительно небольшой размер итоговой программы (в сравнении с xHarbour меньше примерно на 60-100 кБайт после сжатия UPXом) и отсутствие потрясений, связанных с постоянными изменениями ядра компилятора, ввиду относительной стабильности CVS, то Ваш выбор - Харбор.

Так как для меня важнее меньший размер программы и я не заморачиваюсь бесспорно полезными нововведениями типа структуры TRY ... CATCH, переменных GLOBAL, поиска RegEX и т.д., то я использую компилятор Harbour.

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 10:11. Заголовок: Re:


Григорьев Владимир

Спасибо за ответ

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 10:16. Заголовок: Re:


gfilatov

Спасибо
А как сильно отличаются Harbor и xHarbor по лексике - насколько сложно перейти с
Harbora на xHarbor и обратно? Можно в Harbore использовать библиотеки от xHarbora или нужны какие-то переделки?

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 11:24. Заголовок: Re:


Владимир пишет:
цитата
Можно в Harbore использовать библиотеки от xHarbora или нужны какие-то переделки?

Нет, это НЕ возможно
Если Вы перейдете на компилятор xHarbour и начнете использовать ЕГО расширения, то НАЗАД дороги НЕ будет!


Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 11:29. Заголовок: Re:


Ясно
А в Harbore есть библиотека, которая поддерживает работу с Com-портами, как в
Ct.lib например?


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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 16:16. Заголовок: HBCOMM library


Владимир пишет:
цитата
А в Harbore есть библиотека, которая поддерживает работу с Com-портами?


Насколько я знаю - в основной поставке ее нет. Но существует дополнительная библиотека HBcomm, ниже приведено ее описание из файла readme:


HBComm Library

This is the latest iteration of the HBComm library. The modifications made
by me reflect my needs for a serial port library that could talk to more than
one serial port at a time. Further, the original routines would handle only
clear text and would not correctly pass data containing null characters
(Chr(0)). Finally, accessing ports above COM9 was a must.

The major difference in syntax is the need for the user to receive the
"Handle" returned by Init_Port() and pass it to all other routines whenever
referencing a port. This is equivalent to the nComm variable used in the
old Clipper/Fivewin serial routines.

Function Information:

Init_Port( cPort, nBaudrate, nDatabits, nParity, nStopbits, nBuffersize ) -->
nHandle

Port opener and initializer.

Where:

cPort Port designator. Can either be old form 'COMn' or the more
general form '\\.\COMn'. The general form is required for
ports higher than COM9.

nBaudrate Just like you're used to (e.g., 2400, 4800, 9600, etc. )

nDatabits Usually 8, but can be 7 or 4.

nParity coded: 0,1,2,3 -> none, odd, mark, even

nStopbits coded: 0,1,2 -> 1, 1.5, 2

nBuffersize I'm using 8000 at 38,400 baud.

nHandle returned instance identifier. A numeric >= 256. If nHandle
is negative, the open failed.

OutBufClr( nHandle ) --> lSuccess

Clear the output buffer. lSuccess will always be TRUE unless a bad
nHandle is used.

IsWorking( nHandle ) --> lSuccess

Check to see if port is operative. Failures can occur if a bad nHandle
is used or if remote party drops the line.

InChr( nHandle, @cBuff, nChar ) --> nBytesRead

Fetch data from the input buffer. Note the by reference argument passing
for the buffer. nChar can be determined by calling InBufSize().
nBytesRead is the actual number of bytes loaded into cBuff (usually
equal to nChar unless there is a problem or nChar is overstated.)

InBufSize( nHandle ) --> nNumberofBytesInInputBuffer

Get the count of bytes waiting in the input buffer. Usually followed by
a call to Inchr to fetch the bytes for processing.

OutChr( nHandle, cBytesToWrite, nCount ) --> lSuccess

Write the first nCount bytes from the string cBytesToWrite. Usually,
nCount == Len( cBytesToWrite ).

OutBufSize( nHandle ) --> nBytesInOutputBuffer

Get the byte count of characters awaiting transmission.

UnInt_Port( nHandle ) --> lSuccess

Uninitialize (Close) the port and free the handle.

USAGE:

Here's how I do this stuff...

STATIC nHandle

...Mainline...


IF OpenOk()

DOProcessing()

ELSE

MsgStop( 'Cannot open port!' )

QUIT

ENDIF

Function OpenOk()

// Open the port

IF ( nHandle := Init_Port( 'COM1', 9600, 8, 0, 0, 8000 ) ) > 0

OutBufClr( nHandle ) // Saw this somewhere...probably ok if unnecessary

Return IsWorking()

ENDIF

Return FALSE

Function DOProcessing()

...

// Get a chunk from the COM port

nChr := InBuffSize( nHandle )
cBuff := Space( nHandle )

IF nChr != InChr( nHandle, @cBuff, nChr )

MsgStop( 'Some kind of read failure on COM Port.' )

Return FALSE

ENDIF

// process data in cBuff

// write some stuff to port

IF ! OutChr( nHandle, cSomeStuff, Len( cSomeStuff ) )

MsgStop( 'Write error on COM Port.' )

Return FALSE

ENDIF

// ...etc

// and finally, when night is nigh...

// Close the port

UnInt_Port( nHandle )

Return NIL


Any further contributions to this library are most welcome.

Ned Robertson
XpertCTI, LLC
Richmond, VA USA

July 21, 2003


Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 17:44. Заголовок: Re:


А где ее можно взять?

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 18:00. Заголовок: Re:


Владимир пишет:
цитата
А где ее можно взять?

Напиши свой e-mail - отправлю библиотеку вместе с исходниками

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 18:04. Заголовок: Re:


gfilatov

Спасибо
vpal@inbox.ru


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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.11.05 18:24. Заголовок: Re:


Владимир

Ушло по почте

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.11.05 10:54. Заголовок: Re:


Кстати в Harbour тоже добавили цикл FOR EACH, т.е. проекты сближаются
И зачем они разошлись - вот вопрос

Что касается нынешних различий -то в CT Harbour остались многие ошибки,
которые уже устранены в xHarbour

И еще некоторые новшества я даже не знаю, перенесены ли в xHarbour
Например в обеих проектах до недавнего времени вообще не было
целочисленной арифметики, только через double, в xHarbour уже
есть, а в Harbour не знаю

Одной фразой - "xHarbour развивается более динамично", и этим все сказано
И возможны накладки естественно
Например в TBrowse xHarbour недавно добавили кэширование данных, что
само по себе очень хорошо - стабилизация выполняется быстрее, большая
совместимость с клиппером, но не все еще вылизано, появились некоторые
баги


Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.11.05 13:16. Заголовок: Re:


В xHarbour есть библиотека Telepath.lib, которая похоже поддерживает работу с Com-портами.
Но так ли это, не знаю. Кто знает как работать с Сом-портами в xHarbour?

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.11.05 13:19. Заголовок: Re:


Pasha

Спасибо за информацию

А насколько трудно перейти из под Dos-овского Clipper'а на Wind'овый Harbour?
Как долго? Переделка софта с одной платформы на другую?

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.11.05 14:33. Заголовок: Re:


Вопрос насчет com-портов время от времени возникает на news://xharbour.org,
и автор библиотеки hbcomm.lib раздает ее всем желающим
Его благодарят и дополнительных вопросов уже не задают, видать все в порядке
Сам я ее не использую

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.11.05 17:18. Заголовок: Re:


Владимир пишет:
цитата
А насколько трудно перейти из под Dos-овского Clipper'а на Wind'овый Harbour?


Это зависит от Вашего понимания специфики работы GUI-программ, которые используют события Windows.
Если с этим - порядок, то основное время тратится на переделку интерфейса программ, а это уже зависит от используемого инструментария типа IDE и дизайнерского вкуса.

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 11.11.05 10:11. Заголовок: Re:


Еще один вопрос начинающего
В Clipper'е у меня для управления проектом есть bat-чик (для сборки) rmk и lnk -файлы.
А как вести многофайловый проект в Harbor'ах?

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 11.11.05 11:55. Заголовок: Re:


Владимир пишет:
цитата
А как вести многофайловый проект в Harbor'ах?


Есть несколько возможностей:
- бесплатный xMate (отличный проект)
- бесплатный BrMake (бразильцы любят)
- бесплатный IGCM (http://www.geocities.com/bcd12a)
- коммерческий xBulder (http://www.xharbour.com)

Другие линки ищи через Google

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 11.11.05 13:47. Заголовок: Re:


gfilatov

Премного Вам благодарны.
Улыбаюсь до ушей

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 11.11.05 14:49. Заголовок: а кто мешает пользовать rmake и в харборе?




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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 11.11.05 17:17. Заголовок: Re:


gfilatov пишет:
цитата
бесплатный xMate (отличный проект)


Домашняя страница этого проекта находится по адресу:

http://www.geocities.com/wowbase/xMate.html



Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 15.11.05 12:09. Заголовок: Re:


gfilatov

Поставил xMate. Решил собрать простенькую программку в класическом стиле "Hello, World!". Если собирать Bat-файлом - то под обоими Harbor'ами собирается.
А вот если через xMate - то выводит сообщение:
Fatal: Unable to open file 'UUID.LIB'
Библиотека есть. Где искать причину? Чего она эту библиотеку стала требовать?

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 15.11.05 12:35. Заголовок: Re:


Владимир пишет:
цитата
Библиотека есть. Где искать причину? Чего она эту библиотеку стала требовать?

Ответ прост - надо разбираться с путями, как они прописаны в xMate.

З.Ы. Кстати, это одна из причин, почему я использую для компиляции простые батники - с ними проще разбираться

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 15.11.05 13:43. Заголовок: Re:


gfilatov

С путями вроде бы все в порядке. Эта библиотека лежит в \LIB вместе с остальными
борландовскими. Кроме нее я еще две сишные библиотеки указываю - на них не ругается, а на эту ругается. Вот это и обескураживает

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 15.11.05 13:47. Заголовок: Re:


gfilatov

Глянул еще раз файл, который xMate генерит для сборки - пути прописаны правильно.

E:\HarborProjs\MyFirst\Obj\1.Obj +
E:\Borland\Bcc55\Lib\c0w32.obj, +
E:\HarborProjs\MyFirst\MyFirst.Exe, +
, +
E:\HARBOUR\Lib\debug.lib +
E:\HARBOUR\Lib\vm.lib +
E:\HARBOUR\Lib\rtl.lib +
E:\HARBOUR\Lib\gtwin.lib +
E:\HARBOUR\Lib\lang.lib +
E:\HARBOUR\Lib\rdd.lib +
E:\HARBOUR\Lib\macro.lib +
E:\HARBOUR\Lib\pp.lib +
E:\HARBOUR\Lib\dbfdbt.lib +
E:\HARBOUR\Lib\dbffpt.lib +
E:\HARBOUR\Lib\dbfntx.lib +
E:\HARBOUR\Lib\dbfcdx.lib +
E:\HARBOUR\Lib\common.lib +
E:\Borland\Bcc55\Lib\cw32.lib +
E:\Borland\Bcc55\Lib\import32.lib +
E:\Borland\Bcc55\Lib\uuid.lib


Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 15.11.05 13:47. Заголовок: Re:


gfilatov

Глянул еще раз файл, который xMate генерит для сборки - пути прописаны правильно.

E:\HarborProjs\MyFirst\Obj\1.Obj +
E:\Borland\Bcc55\Lib\c0w32.obj, +
E:\HarborProjs\MyFirst\MyFirst.Exe, +
, +
E:\HARBOUR\Lib\debug.lib +
E:\HARBOUR\Lib\vm.lib +
E:\HARBOUR\Lib\rtl.lib +
E:\HARBOUR\Lib\gtwin.lib +
E:\HARBOUR\Lib\lang.lib +
E:\HARBOUR\Lib\rdd.lib +
E:\HARBOUR\Lib\macro.lib +
E:\HARBOUR\Lib\pp.lib +
E:\HARBOUR\Lib\dbfdbt.lib +
E:\HARBOUR\Lib\dbffpt.lib +
E:\HARBOUR\Lib\dbfntx.lib +
E:\HARBOUR\Lib\dbfcdx.lib +
E:\HARBOUR\Lib\common.lib +
E:\Borland\Bcc55\Lib\cw32.lib +
E:\Borland\Bcc55\Lib\import32.lib +
E:\Borland\Bcc55\Lib\uuid.lib


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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 15.11.05 14:57. Заголовок: Re:


Владимир пишет:
цитата
С путями вроде бы все в порядке.

Проверь также содержание файла ilink32.cfg в папке E:\Borland\Bcc55\Bin

В нем должна быть записана такая строка:

/LE:\Borland\Bcc55\Lib



Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 15.11.05 16:10. Заголовок: Re:


gfilatov

Есть.
-L"e:\Borland\Bcc55\lib;e:\Borland\Bcc55\lib\PSDK"

К стати. А если в батчике bld.bat (что в Harbour\BIN) в строке, которая вызывает bcc32 ..... выключить опцию -с. Как в этом случае должен выглядеть вызов iLink32?

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 16.11.05 10:43. Заголовок: Re:


Уф!!! Разобрался таки. Все оказалось банально просто.
Матчасть надо учить

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 16.11.05 13:28. Заголовок: Re:


Владимир пишет:
цитата
Разобрался таки. Все оказалось банально просто.

Поздравляю!

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 16.11.05 17:37. Заголовок: Re:


gfilatov

Спасибо.

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




Пост N: 254
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 22.08.06 10:19. Заголовок: Re:


Владимир пишет:

 цитата:
А насколько трудно перейти из под Dos-овского Clipper'а на Wind'овый Harbour?


Психологически трудно, поскольку нужно осваивать "новую" Виндовую идеологию событийного программирования.

Владимир пишет:

 цитата:
Как долго? Переделка софта с одной платформы на другую?


Время перехода индивидуально (у меня, например, это заняло около 2-х лет )
Что касается переделки софта, то коренной переделке подвегается только интерфейсная часть, а вся логика работы с базами остается без изменений, если она изначально была ориентирована на сетевые условия работы.

Спасибо: 0 
Профиль
Ответов - 32 , стр: 1 2 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет