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



Пост N: 1
Зарегистрирован: 25.02.14
ссылка на сообщение  Отправлено: 06.03.14 15:07. Заголовок: Есть большой проект на Clipper 5.2 Как перейти на Harbour


Описание <Harbour для начинающих> и <Harbour шаг за шагом> не описывает переход существующих исходников (10 файлов prg и 3 Ch) на желанный Harbour. Получилось все установить, работают указанные тесты. При компиляции своих файлов из bat-файла - нет EXE файла но и ошибок нет!
@set HB_INSTALL=C:\hb30
%HB_INSTALL%\bin\harbour f1.prg -n -i%HB_INSTALL%\include,c:\Project
....................
%HB_INSTALL%\bin\harbour f10.prg -n -i%HB_INSTALL%\include,c:\Project
c:\borland\bcc55\bin\bcc32 -O2 -d -I%HB_INSTALL%\include -L%HB_INSTALL%\lib f1.c f2.c f3 ...f10 hbdebug.lib hbvm.lib hbrtl.lib gtwin.lib hbcpage.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbcommon.lib hbct.lib
Что не ТАК? Может где-то описаны шаги по переходу с CLIPPER?
Спасибо

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 13 [только новые]


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




Пост N: 3125
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 06.03.14 15:59. Заголовок: Если нет результата ..


Если нет результата сборки (файла exe) - значит, при сборке возникли какие-то ошибки, или на этапе компиляции, или на этапе линковки. Надо проанализировать лог компилятора и линкера, и выяснить, что это за ошибки.

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




Пост N: 3862
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.03.14 16:25. Заголовок: посмотри еще http://..

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




Пост N: 3262
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.03.14 16:36. Заголовок: ttan34 пишет: Может..


ttan34 пишет:

 цитата:
Может где-то описаны шаги по переходу с CLIPPER?


Читай раздел http://clipper.borda.ru/?0-6

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



Пост N: 2
Зарегистрирован: 25.02.14
ссылка на сообщение  Отправлено: 24.03.14 16:29. Заголовок: Условная трансляция


Перехожу на Harbor, после укорачивания некоторых переменных уже вхожу в проект, даже вижу все на русском (спасибо этому форуму). Но есть загвоздка.
Подскажите, каким образом Harbor указать условную трансляцию. В Clipper в .rmk файле было так:
.prg.obj:
CLIPPER $< /M/A/DRTM=2/O$@
и в .prg все работает по
#ifdef RTM
#include "RTM.ch"
#endif
После перехода на Harbor эта конструкция не работает.



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




Пост N: 3133
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.03.14 17:34. Заголовок: Харбор обрабатывает ..


Харбор обрабатывает команду препроцессора #ifdef точно так же, как и Клиппер. И параметр компилятора
/DRTM=2 точно такой же. Надо его просто задать.
Если для сборки используется hbmk2, то это делается командой скрипта *.hbp:

-prgflag=-DRTM=2


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



Пост N: 3
Зарегистрирован: 25.02.14
ссылка на сообщение  Отправлено: 25.03.14 17:53. Заголовок: Русская буква в поле dbf файла


Спасибо за быструю-скорую помощь: -prgflag=-DRTM=2 помог, теперь еще ближе к тому, что работало под CLIPPER.
Следующая проблема - русская буква в поле dbf файла.
В одной таблице есть поля, которые содержат русскую букву, например, lbl_Б и т.п.
Не работает конструкция чтения из БД такого поля по &с.
Например, поле формируется налету, MASKLB - строка с русскими буквами:
FOR i=1 TO LEN(MASKLB)
c := "lbl_"+SUBSTR(MASKLB,i,1)
AADD(str, &c)
NEXT
Дает Error BASE/1449 Syntax error: & .
CLIPPER это спокойно пережевывал.
Чтение полей без русских букв идет нормально.
Неужели придется переделывать?..

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




Пост N: 3134
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.03.14 18:41. Заголовок: Переделывать придетс..


Переделывать придется, но немного. Этот код можно заменить на такой:

FOR i=1 TO LEN(MASKLB)
AADD(str, FieldGet(FieldPos("lbl_"+SUBSTR(MASKLB,i,1))))
NEXT

Кстати, он и выполняться будет быстрее. И еще: для меня сюрприз, что клиппер понимал русские имена полей. Может я просто не наткнулся на эту фичу в свое время.

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



Пост N: 4
Зарегистрирован: 25.02.14
ссылка на сообщение  Отправлено: 26.03.14 10:09. Заголовок: Ура! Проект работает на Harbour!


Все получилось, и самое главное - ради чего все делалось - теперь нет отвалов при многократном вызове больших массивов.
СПАСИБО ЗА СОВЕТ перейти на HARBOUR!!!


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



Пост N: 5
Зарегистрирован: 25.02.14
ссылка на сообщение  Отправлено: 26.03.14 15:31. Заголовок: CMONTH - наименование месяцев было по-русски


Ну, оказывается, еще не все работает по-прежнему.
В CLIPPERе функция CMONTH() выдавала наименование месяца по-русски, Harbour дает по-английски.
Что делать - писать свою или есть другая функция?

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




Пост N: 3136
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.03.14 15:35. Заголовок: При старте программы..


При старте программы надо задать настройку на русский язык:

REQUEST HB_LANG_RU866
hb_LangSelect( "RU866" )


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



Пост N: 6
Зарегистрирован: 25.02.14
ссылка на сообщение  Отправлено: 19.05.14 10:59. Заголовок: Еще раз проблема с р..


Еще раз проблема с русской буквой в поле dbf файла.
В одной таблице есть поля, которые содержат русскую букву, например, lbl_Б и т.п.
Как умудриться записать данные в такую таблицу?
Например, поле формируется налету, MASKLB - строка с русскими буквами:

В CLIPPERе было так (здесь для одной записи переписываются несколько полей):
FOR i=1 TO LEN(MASKLB)
c :="lbl_"+SUBSTR(MASKLB,i,1)
REPLACE &c WITH cbuf[j][ci++]
NEXT
Дает Error BASE/1449 Syntax error: & .
CLIPPER это спокойно пережевывал.
Что делать?

REPLACE lbl_Б WITH cbuf[j][ci++] // тоже не работает!
Может есть функция записи в БД, где можно было бы записывать в поле по номеру позиции FieldPos() ?


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




Пост N: 3383
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.05.14 11:10. Заголовок: FIELDPUT(FieldPos(&#..


FIELDPUT(FieldPos("?????"))

Читай матчасть...

ttan34 пишет:

 цитата:
В одной таблице есть поля, которые содержат русскую букву, например, lbl_Б и т.п.


Исправляй базу (уходи от русских букв в наименование полей), иначе потом будут проблемы.

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



Пост N: 7
Зарегистрирован: 25.02.14
ссылка на сообщение  Отправлено: 19.05.14 13:36. Заголовок: Получилось! Спасибо...


Получилось! Спасибо.
Проект долгий, уйти от русских букв в наименование полей - переделать почти все, а у меня простое сопровождение.

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

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