Автор | Сообщение |
|
| |
Пост N: 67
Зарегистрирован: 05.10.06
|
|
Отправлено: 30.11.14 11:22. Заголовок: Перевожу Clipper на консольный Харбор
Добрый день, уважаемое сообщество! Перехожу на Харбор, собрал программу, начинаю бороть ошибки несовместимости кода, по мере появления вопросов надеюсь на скорую помощь. Заранее всем участникам огромное спасибо!
|
|
|
Ответов - 245
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
All
[только новые]
|
|
|
| |
Пост N: 68
Зарегистрирован: 05.10.06
|
|
Отправлено: 30.11.14 11:31. Заголовок: ошибка построения индекса
Работаю с ADS Выдает ошибку построения индекса на основе данных связаных таблиц. Код имеет следующий вид: use pricen new index on kod to price use sklad new set relation to s_kodt into PRICEN index on PRICEN->cena to s_cena Ошибка: цитата: | Error ADSNTX/3010 Error 3010: Unknown alias name used with field name in index key expression.: s_cena |
| И еще одна ошибка при использовании сложных выражений в индексе: INDEX ON c_kod+IF(c_kod<0,0,IF(C_KOD==qmag,10000,if(fil>0,20000,if(osn,-10000,40000)))) TO clientss В Clipper все работает
|
|
|
|
| |
Пост N: 376
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.11.14 15:01. Заголовок: MIKHAIL пишет: Выда..
MIKHAIL пишет: цитата: | Выдает ошибку построения индекса на основе данных связаных таблиц. |
| Из справки по ADS Problem: An error occurred in the Advantage Expression Engine parser. A field name within the key expression was aliased by an unknown alias name. Solution: Advantage only supports aliases for the current work area. If an alias to another work area is referenced, this error will result. Verify the alias name is spelled properly. PS:Если не секрет , какой смысл здесь от ADS, может на CDX перейти? возможно даже и пошустрее будет. Тем более вроде как ADS заставляете работать в режиме совместимости с NTX который не умеет автоматически открывать эти индексы и соответственно не оптимизирует запросы ( за исключение наличия словаря данных). ADS хорош как компактный сервер БД c его оптимизацией SQL запросов и конечно оптимизацией фильтров используя ПРОСТЫЕ индексы, во всяком случае я для себя это определил как главное . Если использовать локальный сервер ADS ( ADSLocal32.dll) - то только как тест или с числом пользователей не более 10, Уже давно обхожусь без SET RELATION и сложных INDEX, все достаточно шустро делает сам сервер , по команде SELECT * FROM ... JOIN .. WHERE создается рабочая область собранная из нескольких таблиц как надо. PPS: Может сразу на GUI ?
|
|
|
|
| |
Пост N: 69
Зарегистрирован: 05.10.06
|
|
Отправлено: 30.11.14 21:48. Заголовок: Haz Advantage only..
Haz цитата: | Advantage only supports aliases for the current work area |
| ADS для Clipper и Harbor по разному работают? цитата: | Если не секрет , какой смысл здесь от ADS |
| Смысл в том что проект написан с использованием ADS и работает много лет, в сети до 30 активных пользователей, несколько кассовых терминалов в гипермаркете с количеством транзакций десятки тысяч в день. Задача стоит перевести проект с минимальными переделками, а потом уже оптимизировать. цитата: | Уже давно обхожусь без SET RELATION и сложных INDEX, все достаточно шустро делает сам сервер , по команде SELECT * FROM ... JOIN .. WHERE |
| Речь идет о БД SQL ? Или ADS поддерживает запросы SQL ? Если в ADS есть такая возможность, где можно почитать про это поподробнее? Или лучше пример использования запросов и разбор ответов. С MySQL дело имел, такой подход интересно было бы использовать цитата: | PPS: Может сразу на GUI ? |
| В смысле? Забить на проект который писался 20 лет и с нуля новый разработать? Даже если не с нуля, нужно перевести то что есть, а потом уже GUI наверное...
|
|
|
|
| |
Пост N: 379
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.11.14 22:02. Заголовок: MIKHAIL пишет: ADS ..
MIKHAIL пишет: цитата: | ADS для Clipper и Harbor по разному работают? |
| Скорее всего по разному, вроде мелькала такая инфа, но утверждать не стану Для Clipper версия с 8 не поддерживается а уже текущая 11 . MIKHAIL пишет: цитата: | Речь идет о БД SQL ? Или ADS поддерживает запросы SQL ? Если в ADS есть такая возможность, где можно почитать про это поподробнее? |
| ADS поддерживает SQL почитать можно в справке. http://devzone.advantagedatabase.com/dz/webhelp/Advantage11.1/index.html Примеры вроде Dima тут не раз выкладывал можно поискать по форуму. MIKHAIL пишет: цитата: | Забить на проект который писался 20 лет |
| GUI морда не сильно увеличит время перевода с Clipper , но согласен в console привычнее и быстрее будет
|
|
|
|
| Администратор
|
Пост N: 3229
Зарегистрирован: 23.05.05
|
|
Отправлено: 01.12.14 08:06. Заголовок: Клиент ads для клипп..
Клиент ads для клиппера поддерживает индексацию на клиенте, а все 32-х разрядные клиенты ads, в том числе харбор-клиент, не поддерживают. Поэтому такое создание индекса не сработает. Но это вопрос ads, а не харбора, и вопрос неразрешимый.
|
|
|
|
| |
Пост N: 11
Зарегистрирован: 05.11.14
|
|
Отправлено: 01.12.14 12:30. Заголовок: MIKHAIL пишет: И ещ..
MIKHAIL пишет: цитата: | И еще одна ошибка при использовании сложных выражений в индексе: INDEX ON c_kod+IF(c_kod<0,0,IF(C_KOD==qmag,10000,if(fil>0,20000,if(osn,-10000,40000)))) TO clientss В Clipper все работает |
| А если попробовать: INDEX ON c_kod+ IIF(c_kod<0,0, IIF(C_KOD==qmag,10000, iif(fil>0,20000, iif(osn,-10000,40000)))) TO clientss
|
|
|
|
| |
Пост N: 71
Зарегистрирован: 05.10.06
|
|
Отправлено: 01.12.14 14:52. Заголовок: VitalClip пишет: А ..
VitalClip пишет: цитата: | А если попробовать: INDEX ON c_kod+IIF(c_kod<0,0,IIF(C_KOD==qmag,10000,iif(fil>0,20000,iif(osn,-10000,40000)))) TO clientss |
| Не работает. Ну это не так принципиально, перепишу.
|
|
|
|
| |
Пост N: 72
Зарегистрирован: 05.10.06
|
|
Отправлено: 01.12.14 21:34. Заголовок: Еще вопросики: 1.Как..
Еще вопросики: 1.Как запустить консольный Harbor в виде системной службы, в скрытом виде? 2.Можно ли одновременно использовать ADS в одной программе по IP и IPX протоколу, по выбору? Мне нужно конектиться к БД которая на NW лежит и одновременно подключаться к удаленной БД через интернет. 3.Можно ли в консольной версии Harbor подключить такие библиотеки как FR ?
|
|
|
|
| постоянный участник
|
Пост N: 3789
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.12.14 22:01. Заголовок: MIKHAIL пишет: 3.Мо..
MIKHAIL пишет: цитата: | 3.Можно ли в консольной версии Harbor подключить такие библиотеки как FR ? |
| Да. У меня задачи с ним с 2008 года работают, только у меня больше всего на хХарборе, но это не принципиально. Демонстрашки можешь скачать с ... Облом, нет уже сайта http://www.paritetsoft.ru/frh.htm Ну тогда предлагаю мои примеры и просмотр файлов FR на МиниГуи смотри здесь https://cloud.mail.ru/public/39dd9efd1bbe/FastReport40 Если что заинтересует, пиши.
|
|
|
|
| |
Пост N: 380
Зарегистрирован: 20.02.11
|
|
Отправлено: 01.12.14 22:23. Заголовок: 1.Как запустить конс..
цитата: | 1.Как запустить консольный Harbor в виде системной службы, в скрытом виде? |
| В исходниках есть пример службы core\contrib\hbnetio\utils\hbnetio
|
|
|
|
| |
Пост N: 73
Зарегистрирован: 05.10.06
|
|
Отправлено: 02.12.14 11:18. Заголовок: Error BASE/1005 Mes..
Error BASE/1005 Message not found: TBCOLUMN:_COLORBLOC Где посмотреть справку по Tbrowse ?
|
|
|
|
|
| Администратор
|
Пост N: 3232
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.12.14 12:48. Заголовок: Справку можно посмот..
Справку можно посмотреть в ng по клипперу, а по поводу этой ошибки: замените выражение вида <obj>:colorbloc на <obj>:colorblock
|
|
|
|
| |
Пост N: 74
Зарегистрирован: 05.10.06
|
|
Отправлено: 02.12.14 13:54. Заголовок: Pasha пишет: замени..
Pasha пишет: цитата: | замените выражение вида <obj>:colorbloc на <obj>:colorblock |
| Спасибо, глаз замылился, а в Clipper и так работало... Еще вопросы: Я так понимаю что цветовая палитра может быть более расширенная? Где посмотреть полную карту палитры? цвет вида g*+/b не мигает, как исправить? Какие можно шрифты использовать в консоли?
|
|
|
|
| |
Пост N: 117
Зарегистрирован: 21.04.13
|
|
Отправлено: 03.12.14 15:32. Заголовок: Какие можно шрифты использовать в консоли?
Моноширинные. Courier New, Lucida Console,Consolas..
|
|
|
|
| |
Пост N: 75
Зарегистрирован: 05.10.06
|
|
Отправлено: 05.12.14 13:46. Заголовок: petr707 пишет: Моно..
petr707 пишет: цитата: | Моноширинные. Courier New, Lucida Console,Consolas.. |
| А работать со шрифтами так же как и в clipper? или там своя система управления шрифтами?
|
|
|
|
| |
Пост N: 4294
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.12.14 14:04. Заголовок: для WVT терминала hb..
для WVT терминала hb_gtInfo(HB_GTI_CODEPAGE, 255) hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console') hb_gtInfo(HB_GTI_FONTQUALITY,4) тут размеры HB_GtInfo(HB_GTI_FONTSIZE , nFontH) HB_GtInfo(HB_GTI_FONTWIDTH, nFontW)
|
|
|
|
| |
Пост N: 77
Зарегистрирован: 05.10.06
|
|
Отправлено: 23.02.15 13:59. Заголовок: Dima пишет: для WV..
Dima пишет: цитата: | для WVT терминала hb_gtInfo(HB_GTI_CODEPAGE, 255) hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console') hb_gtInfo(HB_GTI_FONTQUALITY,4) тут размеры HB_GtInfo(HB_GTI_FONTSIZE , nFontH) HB_GtInfo(HB_GTI_FONTWIDTH, nFontW) |
| Не понимаю как использовать шрифты различных размеров одновременно? Мне нужно стандартный шрифт и крупнее в 5 -6 раз Как могу поменять толщину шрифта? Как изменить шрифт у в полноэкранном режиме? Как автоматически запускть в полноэкранном режиме?
|
|
|
|
| |
Пост N: 4520
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.02.15 14:19. Заголовок: у себя делаю так при..
у себя делаю так примерно. #REQUEST HB_GT_WVT hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console') hb_gtInfo(HB_GTI_FONTQUALITY,4) nWidth := HB_GtInfo(HB_GTI_DESKTOPWIDTH) nHeight := HB_GtInfo(HB_GTI_DESKTOPHEIGHT) nFontH := Int(nHeight/25) nFontW := Int(nWidth /80) HB_GtInfo(HB_GTI_FONTSIZE , nFontH) HB_GtInfo(HB_GTI_FONTWIDTH, nFontW) setmode(25,80) Но это будет не полноэкранный режим а окно. Что касается атрибутов шрифта , копни "hbgtinfo.ch"
|
|
|
|
| |
Пост N: 4521
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.02.15 14:55. Заголовок: Пример самодостаточн..
Пример самодостаточный , поиграйся с ним . #include "hbgtinfo.ch" proc main local nWidth,nHeight,nFontH,nFontW REQUEST HB_GT_WVT_DEFAULT REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") REQUEST HB_CODEPAGE_RU866 hb_cdpSelect( "RU866" ) hb_gtInfo(HB_GTI_MAXIMIZED,.t.) hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console') hb_gtInfo(HB_GTI_FONTQUALITY,4) nWidth := HB_GtInfo(HB_GTI_DESKTOPWIDTH) nHeight := HB_GtInfo(HB_GTI_DESKTOPHEIGHT) nFontH := Int(nHeight/25) nFontW := Int(nWidth /80) HB_GtInfo(HB_GTI_FONTSIZE , nFontH) HB_GtInfo(HB_GTI_FONTWIDTH, nFontW) setmode(25,80) ? "TEST" ? "ПРОВЕРКА" wait return
|
|
|
|
| постоянный участник
|
Пост N: 488
Зарегистрирован: 13.10.05
|
|
Отправлено: 24.02.15 09:19. Заголовок: Речь идет о БД SQL..
цитата: | Речь идет о БД SQL ? Или ADS поддерживает запросы SQL ? Если в ADS есть такая возможность, где можно почитать про это поподробнее? |
| Я использую локальный ADS для формирования данных для некоторых отчетов, примерно так цитата: | AdsConnect('C:\') nSele:=Select() ; Select (nSele+1) AdsCreateSQLStatement('QUERY', 2) sQlStr:='SELECT DISTINCT w.n_otdel,k.kucha,k.Nomk,k.fam,k.im,k.ot,k.pol,k.birth_date,'; + 'k.DOC_TYPE,k.DOC_SER,k.DOC_NUM,k.NO_POLIS,k.SMK_CODE,'; + 'k.POLIS_SER,k.POLIS_NUM,k.EDIN_POLIS,k.NASP_CODE2,W.S_TYPE '; + ' FROM '+Par2+'ARC\Karta kT, '; + Par2+'ARC\SWIST W,'; + Par2+'KLIENT K '; + ' where ((kT.Unicum = K.Unicum) and (kT.N_TALON = W.N_TALON)'; +' AND (K.N_TARIF =0 ) AND (kT.Oplata =2) AND '; + IIF(i=1,' (W.S_TYPE ='+chr(39)+'R'+chr(39)+') ',' (W.S_TYPE <> '+chr(39)+'R'+chr(39)+') '); + ') ORDER BY 4,5' AdsPrepareSQL(sQlStr) AdsExecuteSQL(sQlStr) nRecCount:=RecCount() if nRecCount > 0 |
| Создание индексов только в RDD CDX. Конфликтов не замечено, хХарбоур 1 Если у тебя много подключений? то желательно НЕ локальный сервер ADS
|
|
|
Ответов - 245
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
All
[только новые]
|
|