Автор | Сообщение |
|
| |
Пост 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? Спасибо
|
|
|
Ответов - 13
[только новые]
|
|
|
| Администратор
|
Пост N: 3125
Зарегистрирован: 23.05.05
|
|
Отправлено: 06.03.14 15:59. Заголовок: Если нет результата ..
Если нет результата сборки (файла exe) - значит, при сборке возникли какие-то ошибки, или на этапе компиляции, или на этапе линковки. Надо проанализировать лог компилятора и линкера, и выяснить, что это за ошибки.
|
|
|
|
| |
Пост N: 3862
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.03.14 16:25. Заголовок: посмотри еще http://..
|
|
|
|
| постоянный участник
|
Пост N: 3262
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.03.14 16:36. Заголовок: ttan34 пишет: Может..
|
|
|
|
| |
Пост 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 эта конструкция не работает.
|
|
|
|
| Администратор
|
Пост N: 3133
Зарегистрирован: 23.05.05
|
|
Отправлено: 24.03.14 17:34. Заголовок: Харбор обрабатывает ..
Харбор обрабатывает команду препроцессора #ifdef точно так же, как и Клиппер. И параметр компилятора /DRTM=2 точно такой же. Надо его просто задать. Если для сборки используется hbmk2, то это делается командой скрипта *.hbp: -prgflag=-DRTM=2
|
|
|
|
| |
Пост 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 это спокойно пережевывал. Чтение полей без русских букв идет нормально. Неужели придется переделывать?..
|
|
|
|
| Администратор
|
Пост 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 Кстати, он и выполняться будет быстрее. И еще: для меня сюрприз, что клиппер понимал русские имена полей. Может я просто не наткнулся на эту фичу в свое время.
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 25.02.14
|
|
Отправлено: 26.03.14 10:09. Заголовок: Ура! Проект работает на Harbour!
Все получилось, и самое главное - ради чего все делалось - теперь нет отвалов при многократном вызове больших массивов. СПАСИБО ЗА СОВЕТ перейти на HARBOUR!!!
|
|
|
|
| |
Пост N: 5
Зарегистрирован: 25.02.14
|
|
Отправлено: 26.03.14 15:31. Заголовок: CMONTH - наименование месяцев было по-русски
Ну, оказывается, еще не все работает по-прежнему. В CLIPPERе функция CMONTH() выдавала наименование месяца по-русски, Harbour дает по-английски. Что делать - писать свою или есть другая функция?
|
|
|
|
| Администратор
|
Пост N: 3136
Зарегистрирован: 23.05.05
|
|
Отправлено: 26.03.14 15:35. Заголовок: При старте программы..
При старте программы надо задать настройку на русский язык: REQUEST HB_LANG_RU866 hb_LangSelect( "RU866" )
|
|
|
|
| |
Пост 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() ?
|
|
|
|
|
| постоянный участник
|
Пост N: 3383
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.05.14 11:10. Заголовок: FIELDPUT(FieldPos(..
FIELDPUT(FieldPos("?????")) Читай матчасть... ttan34 пишет: цитата: | В одной таблице есть поля, которые содержат русскую букву, например, lbl_Б и т.п. |
| Исправляй базу (уходи от русских букв в наименование полей), иначе потом будут проблемы.
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 25.02.14
|
|
Отправлено: 19.05.14 13:36. Заголовок: Получилось! Спасибо...
Получилось! Спасибо. Проект долгий, уйти от русских букв в наименование полей - переделать почти все, а у меня простое сопровождение.
|
|
|
|