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



Пост N: 1
Зарегистрирован: 13.08.06
ссылка на сообщение  Отправлено: 13.08.06 21:32. Заголовок: Как работать с DBF файлом, который не открывается?


Есть файл, котрый открывется средствами Visual Foxpro 9.0, но при попытке его открытия из Clipper 5.3 c поддерхкой файлов FoxPro 2.0, выдается сообщение "файл разрушен..." Есть ли библиотеки для работы из Clipper c новыми версиями DBF файлов? И где эти библиотеки можно было бы получить?

С уважением, Владимир.

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


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


Пост N: 51
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 14.08.06 06:43. Заголовок: Re:


Через Харбор 1.61 открывал файлы Visual Foxpro 7 - 9

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




Пост N: 253
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 14.08.06 11:54. Заголовок: Re:


Клиппер их никак не откроет
Когда еще не было харбора, приходилось перед открытием копировать vfp-файл,
коррекируя его заголовок для клипера, а после закрытия возвращать заголовок обратно

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



Пост N: 2
Зарегистрирован: 13.08.06
ссылка на сообщение  Отправлено: 16.08.06 13:30. Заголовок: Что такоеt Харбор 1.61? Где его можно взять?


Что такоеt Харбор 1.61? Где его можно взять?

С уважением, Владимир.

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




Пост N: 260
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.08.06 13:51. Заголовок: Re:



A. Что это вообще такое ?
Q. Это кросс-платформенный opensource компилятор, созданный
клипперистами и для клипперистов

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

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

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

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-project.org/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.xharbour.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.sourceforge.net/tortoisecvs/TortoiseCVS-1.8.3.exe
Кликнув правой кнопкой мышки на ярлыке "Мой компьюьер", в popup-меню
надо выбрать CVS - Preferences, и на закладке Advanced установить
параметр "Network compression" на максимум - 9
Затем надо создать папку, в которыю будут загружаться
sourceforge-проекты - например Projects. В проводнике Windows в
popup-меню этой папки выбрать CVS Checkout и установить параметры:
Общие для всех проектов:
Protocol: :pserver
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.sourceforge.net/downlinks/bison-bin-zip.php
Должны быть также установлены параметры окружения BCC - см.вопрос
про сборку программы.
Затем надо просто запустить пакетный файл для сборки харбора:
для xharbour это makallbc.bat, который собирает и сам харбор и все
библиотеки contrib, а для harbour - make_b32.bat, кототрый собирает
харбор, а библиотеки contrib надо собирать каждую отдельно
Внимание ! Если сборка выполняется из Far под winnt/2k/xp/2003, надо
в свойствах ярлыка Far поставить "Совместимость с win2k". Это
известный и неисправленный баг борландовского компилятора.
После того, как сборка дошла до конца, харбор готов к употреблению.

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. В консольном режиме надо сделать следующее:
Функции Inkey передавать 2-й параметр 255: Inkey(0, 255), это
маска, указывающая принимать событья от мышки. Коды этих событий
находятся в файле include\inkey.ch, например K_LBUTTONDOWN
Позицию курсора мышки можно получить фукциями MROW() и MCOL()
Чтобы мышка работала в ReadModal(), AChoice и в других стандартных
функциях, в начале программы надо указать:
SET EVENTMASK TO INKEY_ALL

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.

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. Поддерживает ли харбор клиент-сервер (sql) ?
Q.

A. Поддерживает ли харбор six ?
Q.

A. Есть ли IDE для харбора ?
Q. Лучший IDE - это бесплатный xMate:
http://www.geocities.com/wowbase/xMate.html
Коммерческий IDE xBuild: http://www.xharbour.com/index.asp?page=xbuild_demo&s=1&a=3

Все ссылки действительны на момент составления faq - февраль 2005 года
Данный FAQ составил Царенко Павел, tpe (at) etel.dn.ua
Любое дополнение этого FAQ и его распространение приветствуется



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



Пост N: 3
Зарегистрирован: 13.08.06
ссылка на сообщение  Отправлено: 16.08.06 15:23. Заголовок: Большое спасибо! Будум изучать)))


Большое спасибо! Будум изучать)))

С уважением, Владимир.

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

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