Форум » [x]Harbour » Перенос базы из RU866 в UTF8 ? » Ответить

Перенос базы из RU866 в UTF8 ?

Andrey: Всем привет. Собрался переносить базу из кодировки RU866 в UTF8. Мемо-поля не хочу использовать. Как быть с длинными текстовыми данными ? Допустим адрес в поле С-250, как делать для новой базы с UTF8 ? Заводить два поля для адреса ? А как тогда разбивать и переносить из RU866 в UTF8 ?

Ответов - 62, стр: 1 2 3 4 All

petr707: Вопрос - какой профит хотите получить от этой операции ?

Andrey: DBF нужна для перевода данных на сайт. Показ DBF на странице сайта с помощью руби. Сайт делаю не я. В базе текстовые поля для перевода в UTF8 нужно увеличивать в 2 раза. Если текстовое поле меньше 127 то хорошо. Можно в новой структуре базы в UTF8 допустим было C 40 - делаем С 80. А если поле С-255, как его перевести в UTF8 ? С 500 в DBF нет, значит нужно 2 поля заводить. Для мемо поля делал раньше так UTF8->MADRES := RU866->MADRES. Таких текстовых полей штук 10. Ручками переписывать придётся, т.е. самая простая операция типа так: UTF8->ADRES1 := SUBSTR(RU866->ADRES,1,127) UTF8->ADRES2 := SUBSTR(RU866->ADRES,127) Правильно ? Или ещё что то надо учитывать ? С UTF8 не работал....

petr707: Зачем же рабочую базу с движком обработки корежить ?! Сделайте экспорт ( по расписанию или по кнопке) и пусть "руби" его (этот/эти файлы экспорта) отображает. Полагаю, что ему лучше подсунуть что-то другое , чем dbf в UTF-8 ( скорее всего xml ) Вообще-то это называется "витрина данных"


Andrey: petr707 пишет: Полагаю, что ему лучше подсунуть что-то другое , чем dbf в UTF-8 Нет не лучше. Данные будут на LetoDb в базе, а руби будет отображать данные по запросу, напрямую из DBF. Из-за этого и нужна UTF-8.

SergKis: Andrey Попробуй [pre2] REQUEST HB_CODEPAGE_UTF8EX USE InpDB ALIAS INP VIA 'RU866' NEW nInp := select() dbCreate('OutDB', aStru, 'DBFCDX', .T., 'OUT', , 'UTF8EX') DO WHILE ! ( nInp )->( EOF() ) переносим данные из INP в OUT ( nInp )->( dbSkip(1) ) ENDDO или REQUEST HB_CODEPAGE_UTF8EX ... hb_cdpSelect( "UTF8EX" ) ... USE InpDB ALIAS INP VIA 'RU866' NEW ... [/pre2]

Pasha: Когда-то в харборе была возможность работы с символьными полями длиной до 64к: dbCreate('test', {{"C1", "C", n1, n2}}) поле C1 имело длину n2*256+n1 символов (байт) Затем эту фичу убрали. Но в комментариях она еще осталась: src\rtl\rdd\workarea.c функция hb_waCreateFields /* Too many people reported the behavior with code below as a Clipper compatibility bug so I commented this code, Druzus. #ifdef HB_CLP_STRICT dbFieldInfo.uiLen = uiLen; #else dbFieldInfo.uiLen = uiLen + uiDec * 256; #endif */ Если раскомментировать этот код, и пересобрать харбор (hbrdd.lib), то фича появится вновь

SergKis: поля длиной 500, 1024, 1024*4 создаются и работают

Haz: SergKis пишет: поля длиной 500, 1024, 1024*4 создаются и работают 500 точно, остальное не пробовал проверил DBFCDX - точно все создает

Andrey: SergKis пишет: поля длиной 500, 1024, 1024*4 создаются и работают Блин, вообще не знал... Это получатся только Харбор умеет - работать с текстовыми полями > 255 символами ?

SergKis: SergKis пишет:USE InpDB ALIAS INP VIA 'RU866' NEW USE InpDB ALIAS INP VIA 'DBFCDX' NEW CODEPAGE 'RU866' такое хотел написать

Новичок: Та же беда, хочу все БД перенести с кодировки 866 на UTF8 /*уже ВЕЗДЕ сталкиваюсь с данной проблемой/, следовательно требуется увеличить максимальное количество символов с текстовыми полями (>255). Возможно уже стоит убрать лимит в 255 символов ? *тем более требуется больше символов (конечно в разумных пределах, произведение Война и Мир не собираюсь впихивать ), чтобы не использовать мемо-поля или делить текст на несколько полей

Andrey: Новичок пишет: Возможно уже стоит убрать лимит в 255 символов ? Теперь нет лимита для CDX драйвера, можно больше поле делать. До скольких можно - не знаю. Делал 512.

Новичок: ДА еще, между делом, вопросик, на FOXPRO индексы нет-нет да слетали(причем чаще чем хотелось бы), приходилось постоянно проверять и реиндексировать, как обстоят дела у Harbour с DBFCDX ? к примеру, использую NTX (и ранее на Clipper), практически не слетает.

SergKis: Andrey пишет До скольких можно - не знаю. Делал 512. SergKis пишет поля длиной 500, 1024, 1024*4 создаются и работают Haz пишет проверил DBFCDX - точно все создает

Новичок: Паранойя с CDX пока осталась (не хочу пока по граблям скакать), а для NTX не увеличили ? *надо попробовать, благо сделал прогу которая сама анализирует на наличие БД и его индексов, автоматически создает/восстанавливает

alkresin: Новичок пишет: как обстоят дела у Harbour с DBFCDX ? Ни в Клиппере с версии 5.2, ни в Харборе проблем с CDX нет - отказался от ntx уже лет как 25 назад.

Новичок: *Проблемы были... ну бог с ним Создал 1024, даже 40000 - создало через NTX ! проверил через DBVIEW - вроде пашет, ток 40 000 DBVIEW париться с текстовым полем) попробую программно - запись, считывание, индексацию...

Andrey: А зачем такое большое текстовое поле ? Уж лучше с мемо тогда работать, там вообще ограничение в 2 Гбайта.

Новичок: *просто хотел проверить максимальное ограничение, кстати и какое макс.ограничение ? *да мне лично хватит и 1024 (utf8 1024/2=512), что кстати сейчас и проверяю...

Новичок: Короче проверил (1024) Запись и Считывание работает - 1024 символа При индексации NTX - идет ограничение на 256

Новичок: у DBVIEW - проблема с длинными строками, и ограничение - не показывает всю строку(срезает)

Новичок: Короче проверил (1024) Запись и Считывание работает - 1024 символа При индексации NTX - идет ограничение на 256 символов DBVIEW - проблема с длинными строками и срезает текст

Новичок: 1.и кстати утилита DBU, поставьте "*.*" вместо "*.dbf" - обычно расширение DBF заменяю на другое, в зависимости от программы (так вижу какие БД к какой задаче относятся) 2.при установке Harbour и указания директории установки отличное от C:\MiniGUI, нельзя везде прописать выбранный директорий, а то приходится все время ручками корректировать, ну к примеру compile.bat, *.cfg, и т.д.

Andrey: Новичок пишет: 2.при установке Harbour и указания директории установки отличное от C:\MiniGUI, нельзя везде прописать выбранный директорий, а то приходится все время ручками корректировать, ну к примеру compile.bat, *.cfg, и т.д. Подправь пути в \MiniGUI\BATCH\Compile.Bat [pre2] rem Set default paths to BCC, Harbour, xHarbour, MiniGUI if defined MG_CMP if "%MG_CMP%"=="XHARBOUR" set MV_USEXHRB=Y if not defined MG_BCC set MG_BCC=c:\bcc55 if not defined MG_ROOT set MG_ROOT=c:\minigui if not defined MG_HRB set MG_HRB=%MG_ROOT%\harbour if not defined MG_LIB set MG_LIB=%MG_ROOT%\lib if not defined MG_XHRB set MG_XHRB=c:\xharbour[/pre2] Или заведи свои переменные в окружение [pre2]set MG_BCC = ??? set MG_ROOT = ???[/pre2]

Новичок: я так и делаю, все время подправляю, скачиваю новую версию и опять подправляю... ведь при установке все равно спрашивает директорий установки, пусть сразу либо установка подправит автоматически или автоматически задаст переменные, раз уже указано директорий установки... не обязательно конечно, вроде мелочь - но мелочь приятная :)

Andrey: Новичок пишет: я так и делаю, все время подправляю, скачиваю новую версию и опять подправляю... Сделай тогда так - [pre2]Или заведи свои переменные в окружение set MG_BCC = ??? set MG_ROOT = ???[/pre2]

rvu: Andrey пишет: Уж лучше с мемо тогда работать, там вообще ограничение в 2 Гбайта. А индексировать его как?

SergKis: rvu пишет А индексировать его как? Кроме составления выражения substr(<memo>,...) можно применить http://www.kresin.ru/hrbfaq_3.html#Doc13_14

Oskar_AAA: Добрый день, xHarbour 1.2.3 Intl. (SimpLex) (Build 20201212) - консоль программа в 866 и БД в 866 как сделать что бы в программе корректно отражалась UTF8 DbEdit.exe правильно отражает символьные поля (мы забираем данные в DBF формате, выгруженные MS SQL) и забираем к себе в БД REQUEST HB_CODEPAGE_RU866 HB_SetCodePage( "RU866" ) REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") Use PRIMER Alias TRANZAK Shared New Use Istochnik Alias IMPORT (это файл в UTF8 и в DbEdit правильно показывает) Exclusive New DbGoTop() Do While !Eof() Select TRANZAK Append Blank Repl Pole1 With IMPORT->Pole1 Select IMPORT DbSkip() EndDo в результате имеем в Pole1 кракозчяры исправление на REQUEST HB_CODEPAGE_UTF8EX REQUEST HB_CODEPAGE_RU866 REQUEST HB_CODEPAGE_RU1251 HB_CDPSelect( "UTF8" ) HB_CDPSelect("RU866") HB_SetCodePage("RU866") выдает ошибку при компиляции Error: Unresolved external '_HB_FUN_HB_CODEPAGE_TPL' referenced from Error: Unresolved external '_HB_FUN_HB_CODEPAGE_UTF8EX' referenced from # Include "Hbextcdp.Ch" это добавлено что сделано неправильно? открыть Use Istochnik Alias IMPORT Exclusive New 'UTF8EX' не получается (ошибка компиляции) А так хочу перевести DBF с 866 на UTF8...

SergKis: Oskar_AAA Use PRIMER Alias TRANZAK Shared New CODEPAGE "RU866" browse() Use Istochnik Alias IMPORT Exclusive New CODEPAGE "UTF8" browse()

Oskar_AAA: SergKis Спасибо.... Но что я не так делаю? DbEdit показывает UTF8 как в файле источнике так и в файле приемнике. Но при просмотре из программы поля с текстом выходят псевдографика # Include 'Achoice.Ch' # Include 'Inkey.Ch' # Include 'Directry.Ch' # Include 'Setcurs.Ch' # Include 'Dbstruct.Ch' # Include 'Command.Ch' # Include 'Dbedit.Ch' # Include 'Excel.Ch' # Include 'Hbgtinfo.Ch' # Include 'Hbrddsql.Ch' *# Include "Hbextcdp.Ch" REQUEST BMDBFCDX,DBFFPT RDDSetDefault('BMDBFCDX') // REQUEST HB_CODEPAGE_RU866 HB_SetCodePage("RU866") REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") Базы открываю так: Use (Plm_File) Alias &Use_Alias EXCLUS VIA 'DBFCDX' NEW CODEPAGE 'UTF8' как теперь сделать правильно вывод данных в программе? Программа в кодировке RU866

SergKis: Oskar_AAA В wvt почти ничего не делаю давно и исп. язык это LV866 (DOS). Строки такие имею (у вас вместо LV866 надо RU866) ANNOUNCE HB_GTSYS REQUEST DBFCDX, DBFFPT REQUEST HB_CODEPAGE_UTF8, HB_CODEPAGE_RU1251, HB_CODEPAGE_RU866, HB_CODEPAGE_LV866 REQUEST HB_GT_WVT, HB_GT_WVT_DEFAULT hb_gtInfo( HB_GTI_CODEPAGE, 866 ) hb_cdpSelect( "LV866" ) hb_gtInfo( HB_GTI_ICONRES, 1001) ... не исп. BMDBFCDX, только DBFCDX, DBFNTX (может rdd надо согласовать), в MiniGui unicode версии работает [pre2] SET CODEPAGE TO UNICODE RddSetDefault("DBFCDX") ... LOCAL cCdp := "RU866" LOCAL cFile := "_Ru866" LOCAL cAls := cCdp USE ( cFile ) ALIAS ( cAls ) CODEPAGE ( cCdp ) NEW ... LOCAL cCdp := "RU1251" LOCAL cFile := "_Ru1251" LOCAL cAls := cCdp USE ( cFile ) ALIAS ( cAls ) CODEPAGE ( cCdp ) NEW ... LOCAL cCdp := "UTF8" LOCAL cFile := "_Utf8" LOCAL cAls := cCdp USE ( cFile ) ALIAS ( cAls ) CODEPAGE ( cCdp ) NEW ... все таблицы показываются в нужной, указанной кодировке [/pre2]

Dima: Oskar_AAA пишет: Но при просмотре из программы поля с текстом выходят псевдографика Oskar_AAA пишет: xHarbour 1.2.3 Intl. Возможно дело в xHarbour...он же давно обновлялся и последняя версия аж 2013 года если не ошибаюсь Oskar_AAA пишет: DbEdit.exe правильно отражает символьные поля Он собран на Harbour

Oskar_AAA: Доброе утро, коллеги Значит переходить на Harbour и/или есть другое решение ?

Oskar_AAA: Скачал harbour 3.2 - так он 2011 года....

PSP: Oskar_AAA пишет: Скачал harbour 3.2 - так он 2011 года.... Скачивайте сырцы и собирайте самостоятельно или Nightly binary. Будет самый свежий.

Dima: Oskar_AAA пишет: Скачал harbour 3.2 - так он 2011 года.... http://github.com/harbour/core/archive/master.zip

Oskar_AAA: Скачал с Nightly binary.... проект собрался , то есть *.C и *.OBJ файлы а где файлы LIB в поставке ? Извините за глупые вопросы.... Качал xHarour - там был каталог LIB и сами файлы lib

Oskar_AAA: Собираю BAT файлом (для xHarbour): %HB_BIN_INSTALL%\HARBOUR MYPROG -n -q0 -gc -i%HB_INC_INSTALL% 2>MYPROG.ZHb %HB_BIN_INSTALL%\HARBOUR IMPR_HBK -n -q0 -gc -i%HB_INC_INSTALL% 2>IMPR_HBK.ZHb %HB_BIN_INSTALL%\HARBOUR B03_BLNS -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_BLNS.ZHb %HB_BIN_INSTALL%\HARBOUR B03_BALN -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_BALN.ZHb %HB_BIN_INSTALL%\HARBOUR B04_NORM -n -q0 -gc -i%HB_INC_INSTALL% 2>B04_NORM.ZHb %HB_BIN_INSTALL%\HARBOUR A01_FULL -n -q0 -gc -i%HB_INC_INSTALL% 2>A01_FULL.ZHb %HB_BIN_INSTALL%\HARBOUR B01_PLAN -n -q0 -gc -i%HB_INC_INSTALL% 2>B01_PLAN.ZHb %HB_BIN_INSTALL%\HARBOUR B02_AGKV -n -q0 -gc -i%HB_INC_INSTALL% 2>B02_AGKV.ZHb %HB_BIN_INSTALL%\HARBOUR B02_BANK -n -q0 -gc -i%HB_INC_INSTALL% 2>B02_BANK.ZHb %HB_BIN_INSTALL%\HARBOUR B02_MACR -n -q0 -gc -i%HB_INC_INSTALL% 2>B02_MACR.ZHb %HB_BIN_INSTALL%\HARBOUR B03_AGKV -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_AGKV.ZHb %HB_BIN_INSTALL%\HARBOUR B03_ANAL -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_ANAL.ZHb %HB_BIN_INSTALL%\HARBOUR B02_BANK -n -q0 -gc -i%HB_INC_INSTALL% 2>B02_BANK.ZHb %HB_BIN_INSTALL%\HARBOUR B03_CAPL -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_CAPL.ZHb %HB_BIN_INSTALL%\HARBOUR B03_DRMB -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_DRMB.ZHb %HB_BIN_INSTALL%\HARBOUR B03_KOEF -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_KOEF.ZHb %HB_BIN_INSTALL%\HARBOUR B03_KRDD -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_KRDD.ZHb %HB_BIN_INSTALL%\HARBOUR B03_PLAN -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_PLAN.ZHb %HB_BIN_INSTALL%\HARBOUR B03_VLBL -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_VLBL.ZHb %HB_BIN_INSTALL%\HARBOUR B03_PASS -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_PASS.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_FORM -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_FORM.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_ACCL -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_ACCL.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_CHET -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_CHET.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_PRBO -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_PRBO.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_KOEF -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_KOEF.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_PASS -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_PASS.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_RORT -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_RORT.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_YDRM -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_YDRM.ZHb %HB_BIN_INSTALL%\HARBOUR NORMA_K1 -n -q0 -gc -i%HB_INC_INSTALL% 2>NORMA_K1.ZHb %HB_BIN_INSTALL%\HARBOUR NORMA_K3 -n -q0 -gc -i%HB_INC_INSTALL% 2>NORMA_K3.ZHb %HB_BIN_INSTALL%\HARBOUR NORMA_K4 -n -q0 -gc -i%HB_INC_INSTALL% 2>NORMA_K4.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_AKTV -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_AKTV.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_ACCL -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_ACCL.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_KLNT -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_KLNT.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_CHET -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_CHET.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_MEXL -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_MEXL.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_02 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_02.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_03 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_03.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_04 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_04.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_05 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_05.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_06 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_06.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_07 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_07.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_08 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_08.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_09 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_09.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_10 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_10.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_11 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_11.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_12 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_12.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_13 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_13.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_14 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_14.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_15 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_15.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_16 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_16.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_17 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_17.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_18 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_18.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_19 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_19.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_20 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_20.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_21 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_21.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_22 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_22.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_VALT -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_VALT.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_FILB -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_FILB.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM0 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM0.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM1 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM1.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM2 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM2.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM3 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM3.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM4 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM4.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM5 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM5.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM6 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM6.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM7 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM7.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM8 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM8.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM9 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM9.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_SMS0 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_SMS0.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_BAK0 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_BAK0.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_YDRM -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_YDRM.ZHb %HB_BCC_INSTALL%\BCC32 -O2 -d -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% MYPROG.C IMPR_HBK.c A01_FULL.c B01_PLAN.c B02_AGKV.c B02_BANK.c B02_MACR.c B03_AGKV.c B03_ANAL.c B03_BALN.c B03_BLNS.c B03_CAPL.c B03_DRMB.c B03_KOEF.c B03_KRDD.c B03_PASS.c B03_PLAN.c B03_VLBL.c B04_NORM.c FIL_COM0.c FIL_COM1.c FIL_COM2.c FIL_COM3.c FIL_COM4.c FIL_COM5.c FIL_COM6.c FIL_COM7.c FIL_COM8.c FIL_COM9.c FIL_SMS0.c FUN_YDRM.c FUN_MEXL.c FUN_FORM.c FUN_ACCL.c FUN_AKTV.c FUN_CHET.c FUN_FILB.c FUN_KLNT.c FUN_KOEF.c FUN_PRBO.c FUN_PASS.c FUN_VALT.c FUN_RORT.c NORMA_K1.c NORMA_K3.c NORMA_K4.c SPRAV_02.c SPRAV_03.c SPRAV_04.c SPRAV_05.c SPRAV_06.c SPRAV_07.c SPRAV_08.c SPRAV_09.c SPRAV_10.c SPRAV_11.c SPRAV_12.c SPRAV_13.c SPRAV_14.c SPRAV_15.c SPRAV_16.c SPRAV_17.c SPRAV_18.c SPRAV_19.c SPRAV_20.c SPRAV_21.c SPRAV_22.c FIL_BAK0.c FUNC_000.c FUNC_001.c FUNC_002.c lang.lib vm.Lib rtl.Lib rdd.Lib rddsql.lib macro.Lib pp.Lib BmDbfCdx.Lib DbfCdx.Lib DbfFpt.Lib DbfNtx.Lib Common.Lib Gtwin.Lib Codepage.Lib Ct.Lib Tip.Lib Pcrepos.Lib Hsx.Lib Hbsix.Lib Zlib.Lib Debug.Lib Import32.Lib Cw32.Lib>ERROR.ZEr

PSP: Oskar_AAA пишет: Собираю BAT файлом (для xHarbour) Да забудьте вы про ваш xHarbour! Найтли бинари уже собран. Его не нужно собирать. Библиотеки - lib\win\mingw. Но это всё под компилятор mingw А лучше - соберите из исходников. Ссылку Дима дал.

Dima: PSP пишет: А лучше - соберите из исходников Все верно. Распакуй архив куда то и туда вот такой батник сложи и его запусти. Дороги только подправь и не нужное выключи [pre2] set path= set PATH=C:\MinGW12\bin set HB_HVM_ALL=yes set HB_INSTALL_PREFIX=c:\hb32mingw19 set HB_DIR_ADS=C:\ads.10.10\acesdk set HB_WITH_ADS=C:\ads.10.10\acesdk set HB_WITH_OPENSSL=C:\OpenSSL-Win32_11\include win-make clean win-make install -j2 [/pre2]

Oskar_AAA: 1. http://github.com/harbour/core/archive/master.zip по ссылке не могу открыть 2. harbour-nightly-win скачал и установил Компилятор BCC Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland MinGw тоже скачал и установил а с BAT файлом что-то не понимаю MAKE.EXE есть в BORLAND\BCC58\BIN BAT file set path= set PATH=C:\BORLAND\Bcc58\Bin set HB_HVM_ALL=yes win-make clean win-make install -j2 результат win-make не является внутренней или внешней командой, исполняемым файлом или пакетным файлом переменные среды: HB_BCC_INSTALL=C:\BORLAND\BCC58\BIN Path="C:\Windows\system32;C:\BORLAND\BCC58\BIN;C:\BORLAND\BCC55\INCLUDE что-то я туплю....

Dima: Oskar_AAA пишет: 1. http://github.com/harbour/core/archive/master.zip по ссылке не могу открыть Cсылка норм сливается и распаковывается а вот внутри если распаковать в "корне" живет win-make.exe Вот туда в "корень" и ложим батник. Под BCC он будет так выглядеть set path= set PATH=C:\BORLAND\BCC58\BIN set HB_HVM_ALL=yes set HB_INSTALL_PREFIX=c:\hb34bcc58 win-make clean win-make install -j2 а вот эта дорога указывает где создать папку с собранным Harbour set HB_INSTALL_PREFIX=c:\hb34bcc58 Теперь понятно ? Oskar_AAA пишет: 2. harbour-nightly-win скачал и установил А это где брал ? Ссылку дай , посмотрю что там живёт.

Oskar_AAA: https://sourceforge.net/projects/harbour-project/files/binaries-windows/nightly/ отсюда скачал

Dima: кинул на почту :)

Oskar_AAA: Dima на работе с личной почты забрать не получается. То что скачал https://sourceforge.net/projects/harbour-project/files/binaries-windows/nightly/ это подойдет?

Dima: Oskar_AAA я же и сюда сложил https://cloud.mail.ru/public/fmcg/KYUVtMGmA кроме почты

Oskar_AAA: Dima Спасибо, дома гляну.... в офисе не получается и с облака забрать

Oskar_AAA: Dima Скачал с почты... Распаковал в каталог HB34 Запустил BAT file set path= set PATH=C:\BORLAND\Bcc58\Bin set HB_HVM_ALL=yes set HB_INSTALL_PREFIX=c:\hb34bcc58 Win-make clean Win-make install -j2 Вышла ошибка Hbpp.exe Не удается продолжить выполнение кода, поскольку система не обнаружила UNICOWS.DLL . Для устранения этой проблемы попробуйте перестановить программу

Dima: Oskar_AAA пишет: поскольку система не обнаружила UNICOWS.DLL А он есть вообще ? У меня тут живет C:\bcc58\Lib\unicows.lib

Dima: В архиве что скачал он есть core-master\lib\3rd\win\bcc\ сложи его в папку с BCC , надеюсь понятно куда

SergKis: Oskar_AAA пишет set PATH=C:\BORLAND\Bcc58\Bin У меня тут живет C:\bcc58\Lib\unicows.lib Может стоит согласовать пути

Oskar_AAA: нашел в папке C:\BORLAND\Bcc58\LIB\PSDK

Oskar_AAA: unicows.lib от 08/09/2006

Dima: Oskar_AAA пишет: нашел в папке C:\BORLAND\Bcc58\LIB\PSDK что то размер у него маловат , бери из архива где я сказал

Dima: Oskar_AAA пишет: unicows.lib от 08/09/2006 а тот что в архиве 28.04.2021

Oskar_AAA: Добрый день, коллеги. Может мне заменить Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland Тогда на какой?

SergKis: Oskar_AAA Возьмите готовый вариант сборки MiniGui Посмотрите BATCH\hbmk.bat, в нем есть set GT=-gtgui, set GT=-gtwin, ..., есть смешанный режим с gui окнами Настройте minigui.cfg В файле *.hbp задавайте правила сборки (посмотрите в примерах SAMPLES\...) Возможно этого будет достаточно

Oskar_AAA: Dima SergKis Оставил свой BORLAND C++ перекопировал unicows.lib из архива Запустился Win-Make. В итоге ошибок не вышло. На выходе получил Каталог C:\HB32BCC58. Значит получилось собрать Harbour последней версии...? Теперь как запустить проект xHarbour (консольный) под "свежий" Harbour (также в консоли)...? Коллеги, спасибо за помощь...

SergKis: Oskar_AAA смотрите hbmk2.exe параметры (для xhb) и поиск по сайту, что то было по hbmk2 PS hbmk2.exe -? > hbmk2.lst

Dima: Батник для сборки echo on set path=C:\BORLAND\BCC58\BIN c:\HB32BCC58\bin\hbmk2 test.hbp test.hbp Просто как пример [pre2] C:\HB32BCC58\contrib\hbct\hbct.hbc C:\HB32BCC58\contrib\hbtip\hbtip.hbc C:\HB32BCC58\contrib\xhb\xhb.hbc C:\HB32BCC58\contrib\hbnetio\hbnetio.hbc C:\HB32BCC58\contrib\hbnf\hbnf.hbc C:\HB32BCC58\contrib\hbmemio\hbmemio.hbc C:\HB32BCC58\contrib\gtwvg\gtwvg.hbc C:\HB32BCC58\contrib\hbmzip\hbmzip.hbc C:\HB32BCC58\contrib\hbziparc\hbziparc.hbc C:\HB32BCC58\contrib\hbssl\hbssl.hbc C:\HB32BCC58\contrib\hbwin\hbwin.hbc C:\HB32BCC58\contrib\hbmisc\hbmisc.hbc C:\HB32BCC58\contrib\rddads\rddads.hbc -workdir=obj -oTEST.exe -inc #-mt #-gtwin -gtgui #-gtwvw #-gtwvt -gui -std sklad.prg install.prg hwndsave.prg prn_beyd.prg tool\*.prg xml\*.c xml\*.prg test.rc [/pre2] Не нужное выкинь или закоменти знаком #

Oskar_AAA: Спасибо, коллеги. Установилось из сборки (облако) на домашнем ноутбуке и на работе Будем дальше изучать.... Еще раз спасибо...



полная версия страницы