Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» XBase, Xbase++ (Alaska)

Автор: PEDKA
Дата сообщения: 15.12.2004 21:53
Кто-нибудь знает об этих 32 разрядных Клиппер системах? (Собственно, как я понял, это одна система)...

Вопрос..1) как она (Xbase, Alaska) взаиодействует с Клиппером?
2) Как прогу туда переписать с клиппера?
3) Есть ли декодеры (что б руками меньше делать )

Вот пока такие вопросы
Автор: PEDKA
Дата сообщения: 17.12.2004 21:18
Товарищи, неужели ничего неизвестно?!
Автор: dimkaclipper
Дата сообщения: 22.12.2004 13:33
PEDKA
Почему не известно ?
Известно
Можно тут почитать для начала http://www.hotsoft.ru/ALASKA/index.htm
Можно не юзать XBASE а пробнуть Xharbour , я про бесплатный.
Гуи мордаху можно пристегнуть используя к примеру MiniGui (бесплатен) или платный FIVEWIN.
Автор: PEDKA
Дата сообщения: 23.12.2004 10:09
dimkaclipper

Цитата:
Xharbour

А это что за зверь?
Автор: sparc
Дата сообщения: 23.12.2004 17:32
1. Как снять TRIAL-ность с Alaska XBase версий 1.20 или 1.82?
2. Как прилинковать к xbase программе модули написанные на MASM32?
Автор: dimkaclipper
Дата сообщения: 24.12.2004 21:39
PEDKA
Xharbour - это сила
Платный http://www.xharbour.com/ (это билдер)
Бесплатный http://www.xharbour.org/



Добавлено
sparc
Кряка есть только эта Alaska XBase++ v1.3 Win9xNT-DOD (у меня)
Но IMHO 1.2 кривой жутко

Автор: dimkaclipper
Дата сообщения: 02.03.2005 00:54
PEDKA
Harbour miniFAQ
A. Что это вообще такое ?
Q. Это кросс-платформенный opensource компилятор, созданный
клипперистами и для клипперистов

A. Где взять харбор ?
Q. На сайтах:
www.harbour-project.org и
www.xhabour.org
В разделе downloads надо скачать бинарники под win32, собранные
C-компилятором Borland C++ 5.1.1, а также бинарники раздела
contribution. Харбор разбит на 2 части: собственно харбор и
сторонние библиотеки (contribution).

A. Что еще надо, чтобы собрать харбор-программу под Windows ?
Q. Прежде всего надо скачать компилятор Borland C++ 5.5.1 по адресу:
ftp://ftpd.borland.com/do.../freecommandLinetools.exe

A. Почему существует два харбора ?
Q. Сам проект возник в 1999 году. В конце 2001 года разногласия
между разработчиками в направлениях развития харбора привели
к созданию второго проекта - xHabour. С тех пор они развиваются
независимо друг от друга и уже довольно заметно разошлись, хотя
в последнее время благодаря тому, чтот ряд разработчиков работает
на оба проекта, они развиваются в одном направлении и
предпринимаются меры по унификации их внутренней структуры

A. Какой из двух харборов лучше ?
Q. xharbour поддерживает некоторые расширения языка и развивается более
динамично

A. Свободный ли харбор ? Нужна ли лиценция ?
Q. Собственно харбор - это Open-Source проект, его можно
использовать без ограничений, лиценция GNU. Ограничения могут
быть связаны с используемыми сторонними инструментальными
средствами, например компилятором C. Скажем лиценция на Borland
C/C++ 5.5.1 command line tools, которая позволяет использовать
свободно не более одной копии этого компилятора. Или если с
харбором используются платные библиотеки (например FiveWin)

Q. Что такое xHarbour.com ?
A. Это коммерческая фирма, основанная несколькими разработчиками
xharbour для продвижения xHarbour Builder - пакета, в основе
которого лежат сырцы opersource проекта, но собранного C
компилятором xCC, содержашего визуальную среду сборки харбор-
программ, и несколько дополнительных библиотек: sqlrdd, hbcomm,
harbour COM-сервер

A. Какой компилятор C лучше использовать с харбором ?
Q. Любой, свободный или коммерческий, к которому есть предпочтение
Это конечно не ответ, под Windows наиболее распространенными
являются Borland 5.5 и выше (свободный с ограничениями) и
коммерческий Microsoft Visual C++
Полностью свободные компиляторы для ОС Windows - это OpenWatcom
(www.openwatcom.org), последняя версия - OpenWatcom 1.3,
а также MinGW (www.mingw.org)

A. Как получить техподдержку ?
Q. Вопрос по xharbour лучше всего задать, подписавшись на NG
(newsgroup) на news.xharbour.org (надо настроить почтового
клиента). Вход свободный.
Что касается harbour, надо подписться на mail-list на
http://lists.harbour-proj.../mailman/listinfo/harbour
Вопросы надо задавать по английски. Ответят разработчики харбора.
Если лучше получается по русски, то на форумах
http://clipper.fastbb.ru/
http://webforum.land.ru/wb.php?board=20999
или на фидошной эхе fido7.ru.clipper

A. Где взять сырцы харбора ?
Q. Сырцы последних релизов на сайтах www.harbour-project.org и
www.xhabour.org - downloads - в разделе sources (не забывать
про contribution). Самые последние сырцы - с CVS (см. ниже)

A. Как собрать харбор-программу ?
Q. Сборка харбор-программы состоит из 3-х этапов: компиляция
компилятором harbour.exe в C-код, затем компиляция C-компилятором
получившихся C-модулей в obj-формат, и наконец линковка обьектных
модулей линкером и получение результирующего приложения.
Для работы Borland C++ необходимо:
указать каталог c:\bcc55\bin в переменной окружения PATH (в файле
autoexec.bat);
в каталоге c:\bcc55\bin создать еще 2 файла:
bcc32.cfg:
-I«c:\Bcc55\include»
-L«c:\Bcc55\lib»
и ilink32.cfg:
-L«c:\Bcc55\lib»
Должно быть достаточно места для переменных окружения, для этого
в Win9x в файле config.sys надо указать:
Shell=C:\COMMAND.COM C:\ /E:4096 /P
или еще больше, а для winnt убрать лишние переменные окружения.
Затем непосредственно для сборки программы надо использовать
пакетный файл bld_b32.bat из каталога harbour\bin, конечно
модифицировав его для своих целей.

A. Как выкачать последние сырцы харбора с CVS ?
Q. Прежде всего надо установить какого-нибудь CVS-клиента,
например Tortoise CVS - с сайта www.tortoisecvs.org.
Один из последних стабильных релизов - 1.8.31 - можно
загрузить по адресу:
http://prdownloads.source...cvs/TortoiseCVS-1.8.3.exe
Кликнув правой кнопкой мышки на ярлыке «Мой компьюьер», в popup-меню
надо выбрать CVS - Preferences, и на закладке Advanced установить
параметр «Network compression» на максимум - 9
Затем надо создать папку, в которыю будут загружаться
sourceforge-проекты - например Projects. В проводнике Windows в
popup-меню этой папки выбрать CVS Checkout и установить параметры:
Общие для всех проектов:
Protocol: server
Server: cvs.sourceforge.net
User name: anonymous
И для harbour:
Repository folder: /cvsroot/harbour-project
Module: harbour
Для xharbour:
Repository folder: /cvsroot/xharbour
Module: xharbour
Затем нажать OK, и начнется закачка сырцов. Первый раз это займет
некоторое время, а при последующих chackout будут загружаться
только новые и изменившиеся модули.
Впрочем можно использовать и WinCVS: www.wincvs.org (это дело вкуса)

A. Как собрать харбор из сырцов ?
Q. Для сборки необходим компилятор C, а также дополнительные
программы: Flex и Bison: бесплатные версии лексического и
синтаксического анализаторов Lex и Yacc. Причем для сборки
harbour необходим и Flex и Bison, а для сборки xharbour -
только Bison. Для бизона необходимо скачать правила грамматик:
файл bison.simple. При сборке путь к flex.exe (для harbour) и
bison.exe должен быть указан в переменной окружения PATH, а
также установлена переменная окружения BISON_SIMPLE (в autoexec.bat):
set BISON_SIMPLE=‹path›bison.simple
Flex можно скачать по адресу:
ftp://ftp.harbour-project.org/dev/flex.zip
Bison необходим версии 1.28 или старше, вот адреса для скачивания:
ftp://ftp.harbour-project.org/dev/bsn128b.zip
http://www.harbour-project.org/bison-simple.zip
или более свежую версию:
http://gnuwin32.sourcefor...wnlinks/bison-bin-zip.php
Должны быть также установлены параметры окружения BCC - см.вопрос
про сборку программы.
Затем надо просто запустить пакетный файл для сборки харбора:
для xharbour это makallbc.bat, который собирает и сам харбор и все
библиотеки contrib, а для harbour - make_b32.bat, кототрый собирает
харбор, а библиотеки contrib надо собирать каждую отдельно
Внимание ! Если сборка выполняется из Far под winnt/2k/xp/2003, надо
в свойствах ярлыка Far поставить «Совместимость с Windows 98». Это
известный и неисправленный баг борландовского компилятора.
После того, как сборка дошла до конца, харбор готов к употреблению.

A. Что лучше использовать, официальные релизы харбора или
самостоятельную сборку из сырцов с CVS ?
Q. Официальный релиз - этот стабильный, рекомендуемый
разработчиками
Сырцы на CVS выкладываются разработчикками ещедневно и могут
содержать ошибки, экспеерементальные недоведенные версии модулей,
хотя чаще всего тоже находятся в стабильном состоянии. Если
внимательно следить за последними изменениями, то нет ничего
страшного в использовании самых последних сырцов с CVS.

A. Есть ли в харборе Clipper Tools?
Q. Да, есть, хоть и не в полном обьеме. Для harbour это библиотека
libct из contribution, для xharbour - ct.lib, которая с недавнего
времени включена в состав самого xharbour.

A. У меня не работает Upper с русским текстом. Что делать ?
Q. Надо в тексте программы при ее инициализации указать:
REQUEST HB_CODEPAGE_RU866
hb_SetCodepage( «RU866» )
При этом харбор поймет, что преобразование регистра надо выполнять
по правилам русского языка

A. Почему харбор работает медленно ?
Q. Харбор работает медленно только с терминалом gtwin под ОС
Windows только в текстовом (полноэкранном) режиме под win9x
Это связано только с работой терминала, а не с самим харбором
В оконном режиме под win9x с gtwin харбор работает быстро.

A. Почему харбор с gtwin работает медленно ?
Q. Харбор работает с консолью Windows через функции Windows API,
и его медленная работа связана с кривой реализацией некоторых
консольных функций winapi (работа с курсором) под Windows 9x.

A. С gtwin не вводится маленькая русская «р». Что делать ?
Q. Надо скачать адаптированную для кириллицы версию этой
библиотеки: для harbour - с сайта Александра Кресина:
http://kresin.belgorod.su/rus/index.html
а для xharbour - с сайта www.xharbour.nm.ru - gtwin.zip

A. Что такое gtwvt ?
Q. Это терминал - полная эмуляция всего консольного вывода и ввода
через gui-функции winapi в одном окне. На 100% совместим со
стандартным терминалом клиппера, кроме того есть множество
дополнительных функций. Есть только в xHarbour. Для его
использования надо вместо gtwin.lib прилинковать gtwvt.lib и
(если используются дополнительные функции) wvtgui.lib

A. У меня с gtwvt нет русского шрифта и неправильно вводится текст
с клавиатуры. Как поправить ?
Q. Надо при инициализации программы вызвать:
WVT_SETCODEPAGE(255)
При этом gtwvt поймет, что работа выполняется с OEM-кодироовкой,
и выполнит соответсвующие преобразования.

A. Можно ли сразу линковать к программе несколько терминалов ?
Q. Да, можно. Для этого надо пересобрать харбор с многотерминальной
поддержкой: при сборке снять в файле makefile.bc комментарий со строки
HB_MULTI_GT = yes
В самой программе указать, какие терминалы она будет использовать:
Request HB_GT_WIN
Request HB_GT_WVT
Линковать программу надо с библиотеками:
echo %HB_INSTALL%\lib\gtwin.lib + ›› b32.bc
echo %HB_INSTALL%\lib\gtwvt.lib + ›› b32.bc
echo %HB_INSTALL%\lib\wvtgui.lib + ›› b32.bc
echo %HB_INSTALL%\lib\gtnul.lib + ›› b32.bc
При запуске программы указывать терминал (через два слэша):
app.exe //gtwin (по умолчанию)
или
app.exe //gtwvt
В runtime проверить какой именно терминал используется можно
функцией hb_gt_version()

A. При линковке программы выдаются сообщения
Error: Unresolved external ’_HB_FUN_DBFDBT’ referenced from C:\XHARBOUR\LIB\RDD.LIB¦rddsys
или
Error: Unresolved external ’_HB_FUN_DBFFPT’ referenced from C:\XHARBOUR\LIB\RDD.LIB¦rddsys
Q. В скрипте для линкера надо указать библиотеки dbfdbt.lib и dbffpt.lib

A. Как использовать ADS с харбором ?
Q. Для работы харбора с ADS достаточно наличие ACE32.DLL
Она входит в состав любого 32-разрядного клиента ADS.
Из нее командой
implib ace32.lib ace32.dll
создается ace32.lib, которую надо подлинковать к приложению
совместно с rddads.lib
Эту библиотеку (ACEAPI) лучше всего выкачать с сайта Extend Systems
(или дистрибьютера этой фирмы, например Хотсофт - www.hotsoft.ru) для
нужной версии ADS - она бесплатная, содержит Advantage Local Server
и саму ACE32.DLL - Advantage Client Engine - основу для
создания всех 32-х разрядных клиентов ADS

A. Как инициализировать rdd_ads ?
Q. Надо указать в программе rdd по умолчанию:
REQUEST _ADS
rddRegister(«ADS»,1)
rddSetdefault(«ADS»)
и затем тип сервера, формат файлов и кодовую страницу:
SET SERVER LOCAL или SET SERVER REMOTE
SET FILETYPE TO [NTX, CDX или ADT]
SET CHARTYPE TO [ANSI или OEM]
К программе надо прилинковать rddads.lib и ace32.lib

A. Невозможно сконнектится к Ads Local Server, если количество клиентов
более пяти
Q. В adslocal.cfg надо добавить строку:
USER_LICENSE = 30

A. Почему rdd_ads не поддерживает UDF в индексном выражении ?
Q. UDF поддерживается только в ADS-клиенте для клиппера. Ни в каком 32-х
разрядном клиенте ADS (в том числе в харборе) UDF (собственно
создание индекса не сервером, а клиентом) не поддерживается.
Это вопрос не харбора, а Extend Systems

A. Поддерживает ли rdd_ads sql-запросы ?
Q. Да. Для открытия обычной рабочей области по команде SELECT необходимо
выдать такую последовательность команд:
select(nArea)
IF AdsGetConnectionHandle() == 0
AdsConnect(cPath)
endif
AdsCreateSQLStatement(cAlias, 2)
AdsPrepareSQL(cSQLStmt)
AdsExecuteSQL()

A. Как настроить ads для использования досовской кодировки в dbf-файлах
в консольных харбор-программах ?
Q. В настройках Ads (локального) надо укаазать OEM и ANSI charset - Russian
В харбор программе при инициализации rdd_ads выполнить вызов:
AdsSetCharType( 2, .T. )
Реализовано пока только в xHarbour

A. Из харбор-программы не открывается dbf-файл через rdd_ads use,
используется Ads for Linux
Q. Это возможно связано с тем, что файловая система Linux чувствительна
к регистру, и имя файла в программе и на сервере набрано на разном
регистре. В общем случае необходимо:
1) На Linux сервере добавить строку в ads.conf
LOWERCASE_ALL_PATHS=1
2) В харбор-программе указать:
#include «ads.ch»
...
AdsMgConnect()
If AdsMgGetServerType() == ADS_MGMT_LINUX_SERVER
Set( _SET_FILECASE, «LOWER» )
Set( _SET_DIRCASE, «LOWER» )
Endif
AdsMgDisconnect()

A. Можно ли на харборе создавать программы маленького размера,
использовав dll ?
Q. Да, для этого надо при линковке программы из библиотек указать
только harbour.lib и vm.lib. Harbour.dll должен быть доступен
в переменной path или в каталоге \windows\system[32]
Но программа при этом будет использовать больше системной памяти.

A. Как сделать свою dll ?
Q. Надо скомпилировать сырцы своей библиотеки, определив макрос
/D__EXPORT__ и для harbour.exe, и для C-компилятора (bcc55).
Затем вызвать линкер с параметрами:
ILINK32 -aa -Tpd -Gn @hdll.lnk
Скрипт для линкера сформировать по таким правилам:
‹obj_files› c0d32w.obj,
‹dll_name›,,
cw32.lib
harbour.lib
import32.lib
uuid.lib
Чтобы использовать dll надо прилинковать к программе соответствующую
lib и harbour.lib.

A. Какие есть библиотеки под Windows ?
Q. Коммерческие:
- Fivewin (http://www.fivetechsoft.com)
- Xailer (http://www.xailer.com)
Бесплатные: HwGUI и MiniGUI, а также T-gtk (http://es.groups.yahoo.com/group/t-gtk)

A. Какие Windows GUI-библиотеки лучше ?
Q. Конечно, бесплатные Если предпочтителен ООП-стиль программирования, то это
- библиотека HwGUI (автор - Александр Кресин из Беларуси), если достаточно псевдо-ООП
и команд в стиле FoxPro для создания окон - то MiniGUI (автор - Роберто Лопез из
Аргентины).

A. Где взять HwGUI и MiniGUI ?
Q. Официальная страница библиотеки HwGUI: http://kresin.belgorod.su/hwgui.html
Официальная страница библиотеки MiniGUI: http://www.geocities.com/harbour_minigui
Неофициальная русская страница библиотеки MiniGUI: http://minigui.boom.ru (зеркало -
hmg.narod.ru)

A. Есть ли IDE для харбора ?
Q. Лучший IDE - это бесплатный xMate: http://www.geocities.com/wowbase/xMate.html
Коммерческий IDE xBuild: http://www.xharbour.com/i...?page=xbuild_demo&s=1&a=3
Автор: Coolmax
Дата сообщения: 24.11.2005 13:26
А есть ли возможность скомпилировать программу в виде одного .exe, как это делал клиппер? чтоб он не тащил за собой кучу dll
Автор: mosh1
Дата сообщения: 18.01.2010 06:11

Цитата:
А есть ли возможность скомпилировать программу в виде одного .exe, как это делал клиппер? чтоб он не тащил за собой кучу dll

Да

Страницы: 1

Предыдущая тема: Программирование игр на VBA в Excel


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.