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





Пост N: 4
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 20.10.15 13:45. Заголовок: Перевожу Clipper-овский проект в Harbour


Добрый день, господа.
Начал переводить проект с CLIPPERa(5.2Е) в Harbour и сразу же столкнулся с проблемой:
undefined reference to `HB_FUN_TOKEN' ... и т.д.

Пользуюсь инструкцией "Harbour - шаг за шагом" Александра Кресина, т.е. использую версию "harbour-3.0.0-win.exe".

Поискал здесь на форуме похожую ситуацию. Нашел здесь: "unresolved external _HB_FUN_", но похоже не мой случай, до линковки дело еще не доходит.

Куда копать? Подскажите, пожалуйста.


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 69 , стр: 1 2 3 4 All [только новые]







Пост N: 23
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 22.10.15 12:53. Заголовок: Еще обнаружил такой ..


Еще обнаружил такой эффект: оказывается если установить SCOPE без SIXа, то
фунуции SIXа:
sx_keyno() - тек.номер записи в индексе и
sx_keycount()-кол-во записей в индексе
показывают правильные числа с учетом установленного SCOPE.
Т.е. можно рискнуть и функции SIXа(хотя бы эти) не переназначать! И это радует :)

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




Пост N: 5321
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.10.15 13:05. Заголовок: mikeas пишет: sx_ke..


mikeas пишет:

 цитата:
sx_keyno() - тек.номер записи в индексе и
sx_keycount()-кол-во записей в индексе


это все есть в DBFCDX

DbOrderInfo(DBOI_KEYCOUNT)
DbOrderInfo(DBOI_KEYNO)

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





Пост N: 24
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 22.10.15 15:35. Заголовок: Очередная засада: не..


Очередная засада:
не срабатывает команда KEYBOARD <cSTRING> внутри GETа.
Пока не знаю что и предпринять :(
М.б. у кого была такая же беда, сориентируйте, плиз.

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



Пост N: 109
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 22.10.15 15:58. Заголовок: mikeas , пример кода..


mikeas , пример кода покажите. В каком смысле "внутри" ?

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




Пост N: 5322
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.10.15 16:06. Заголовок: mikeas пишет: не ср..


mikeas пишет:

 цитата:
не срабатывает команда KEYBOARD <cSTRING>


пробни Hb_keyins

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



Пост N: 158
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 22.10.15 16:45. Заголовок: HB_KEYPUT - тоже можно


HB_KEYPUT - тоже можно

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





Пост N: 25
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 22.10.15 18:33. Заголовок: Оказалось дело не в ..


Оказалось дело не в KEYBOARDe. Привожу ниже пример.
В функции HELP заменил отсутствующую в Харборе функцию CSETALL на самодельную.
И она сделала свое черное дело - отключила как то вставку по команде KEYBOARD "123qwe". Убираю восстановление всех установок(// CSETALL(cur_set)) все работает!
Теперь думаю что не так, чем бы CSETALL() заменить?
#include "Inkey.ch" 
#include "Set.ch"
procedure tstboardk()
PRIV p1:=" "

SET KEY K_F1 TO help
CLEAR
@ 09, 10 SAY "->" GET p1
READ
RETURN
*******************************
FUNCTION help()
PARAMETERS prog_name, line_num, input_var, nrec
PRIV cur_set
cur_set = CSETALL()
KEYBOARD "123qwe"
// CSETALL(cur_set)
RETURN NIL
*******************************
FUNCTION CSetAll( aNewSets )
LOCAL aCurrentSets[_SET_COUNT], nCurrent
IF ( aNewSets != NIL ) // Set new and return current
FOR nCurrent := 1 TO _SET_COUNT
aCurrentSets[nCurrent] := ;
SET(nCurrent, aNewSets[nCurrent])
NEXT
ELSE
FOR nCurrent := 1 TO _SET_COUNT
aCurrentSets[nCurrent] := SET(nCurrent)
NEXT
ENDIF
RETURN (aCurrentSets)


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




Пост N: 5323
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.10.15 21:18. Заголовок: mikeas пишет: Тепер..


mikeas пишет:

 цитата:
Теперь думаю что не так, чем бы CSETALL() заменить?


Не понял для чего она в этой задаче , тем более что без нее все работает ?
В функции help() ни чего же не меняется в плане установок.

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





Пост N: 26
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 23.10.15 07:52. Заголовок: Это в примере ничего..


Это в примере ничего не меняется. В реале меняется. Csetall применял от лени, каюсь и выбрасываю ее. Посмотрел внимательней в HELP-е родном надо только сохранять softseek и cursor. Едем дальше :)

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


Пост N: 1169
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 23.10.15 09:32. Заголовок: В числе прочих SET-о..


mikeas пишет:

 цитата:
Убираю восстановление всех установок(// CSETALL(cur_set)) все работает!


В числе прочих SET-ов там есть _SET_TYPEAHEAD, при установке которого происходит очистка буфера клавиатуры.
Цитата: "When executed, SET TYPEAHEAD clears the keyboard buffer and sets the size to <nKeyboardSize>."
http://www.ousob.com/ng/53guide/ngf1c3d.php

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





Пост N: 27
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 23.10.15 13:22. Заголовок: PSP, ОК, спасибо! Пр..


PSP, ОК, спасибо!
Продолжаю продвигаться дальше через мелкие, но вредные ляпы :)
1) Обнаружил в вызове MEMOEDIT разночтение в параметрах:
в Клиппере отсутствующую пользовательскую функцию задавал как "..,'',...", а Харбор потребовал "...,,..."
2) Столкнулся: Клиппер все имена файлов создавал в верхнем регистре, Харбор так как задашь!


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





Пост N: 28
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 23.10.15 13:42. Заголовок: Еще одна печаль с до..


Еще одна печаль с докой.
Думал вот здесь уж точно все есть: http://www.elektrosoft.it/tutorials/Harbour-Reference-Guide/harbour-reference-guide.htm
Не нашел MEMOEDIT()! :(
Надыбал старинный NG-справочник Clipper 5.3, но это компромис :(


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




Пост N: 5324
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.10.15 13:51. Заголовок: mikeas пишет: Не на..


mikeas пишет:

 цитата:
Не нашел MEMOEDIT


Он слегка сырой я бы сказал.
Используй поиск на форуме по MEMOEDIT или (что лучше) HBEDITOR

Справку можно взять тут __http://www.spb4plus.ru/old/comment/reply/114 , в самом низу линк на rar архив

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



Пост N: 183
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 23.10.15 16:10. Заголовок: Вместе с МиниГуи пос..


Вместе с МиниГуи поставляется HELP для HARBOUR , там тоже есть описание memoedit

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





Пост N: 29
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 24.10.15 10:44. Заголовок: Еще обнаружил: ATREP..


Еще обнаружил:
ATREPL(aCH[i,1],@buf,aCH[i,2]) -не сработало в Harbour Ничего не меняется, хотя в Клиппере работает. Пришлось заменить на: buf:=STRTRAN(buf,aCH[i,1],aCH[i,2])

В HELP для HARBOUR из МиниГуи нашел и MEMOEDIT, и ATREPL (где как раз обнаружил отсутствие возможности задать параметр по ссылке - @buf )

А что за файлы *.hbd в C:\hb32\doc ?
Подозреваю, что документация/описание.
Ими как-то можно пользоваться?
Чем их открывать?

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



Пост N: 159
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 24.10.15 10:58. Заголовок: Поиск на форуме по ключу "hbd"


Поиск на этом форуме по "hbd" дает ссылку
click here

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





Пост N: 30
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 24.10.15 11:42. Заголовок: petr707, пошел по сс..


petr707, пошел по ссылке. Прочитал. Теперь не найду HBIDE в C:\hb32\contrib
Забыли положить? Не там ищу? Или чего то не понял?


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




Пост N: 5325
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.10.15 12:15. Заголовок: mikeas пишет: Тепер..


mikeas пишет:

 цитата:
Теперь не найду HBIDE в C:\hb32\contrib



 
2012-09-27 12:11 UTC+0200 Viktor Szakats (vszakats.net/harbour)
- contrib/hbide
- contrib/hbqt
- contrib/hbxbp
- deleted hbqt, hbxbp, hbide as final step of contrib
split to separate project.
find them in this (temporary) repository:
http://sourceforge.net/projects/qtcontribs/
or checkout from Harbour repository using:
svn co -r 18153 https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour



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





Пост N: 31
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 24.10.15 12:23. Заголовок: Dima, спасибо, но эт..


Dima, спасибо, но это для меня что-то слишком слжно, пока. Ладно, фиг с ними с .hbd файлами.

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





Пост N: 32
Зарегистрирован: 11.11.05
ссылка на сообщение  Отправлено: 25.10.15 13:59. Заголовок: Обнаружил совсем не ..


Обнаружил совсем не хороший эффект, который заключается в следующем:
При выполнении комманды:
USE (WorkPath+"w1") EXCLUSIVE NEW
Харбор пытается открыть одноименный индекс CDX для открываемого файла, а у меня такого не предусмотрено!
Как бы отказаться от такого автоматического открытия индекса? Нет ли какого переключателя?
Я то в Клиппере использовал SIX и IDX индексы, которые такого не предусмативают.
Как выход посматриваю на переход к ntx, но по моему в них нет возможности условного индекса и SCOPE.
Прямо караул!

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

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