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



Пост N: 1
Зарегистрирован: 03.01.10
ссылка на сообщение  Отправлено: 03.01.10 14:41. Заголовок: ...еще раз о палитре


Хочу изменить палитру например красного цвета на серобуромалиновую, используя RGB в Терминалке Harbour. В Clipper можно было через VGAPalette(). GtInfo( HB_GTI_PALETTE ) НИЧЕГО НЕ ВОЗВРАЩАЕТ и ничено не устанавливает. Библиотека gtwin.lib. При подключении gtwvt.lib приложение не запускается.
Возможно что-то надо менять в компиляции или при линковке библиотек.
Version:
2.0.0beta1

Date:
2009-06-18


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


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




Пост N: 1019
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.01.10 14:56. Заголовок: Zakrzevky пишет: Пр..


Zakrzevky пишет:

 цитата:
При подключении gtwvt.lib приложение не запускается.
Возможно что-то надо менять в компиляции или при линковке библиотек.


Опять наступаем на те же ГРАБЛИ !!!
Читайте форум.
Для компиляции терминала:
GTWIN ключ компиляции -ap и модуль BCC c0x32.obj
GTWVT ключ компиляции -aa и модуль BCC c0w32.obj

Используйте для изучения ключей сборки проектировщик (утилиту) HBMAKE.EXE из хХарбор. Там есть все терминалы.

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


Пост N: 234
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 03.01.10 15:37. Заголовок: 2008-06-13 10:56 UT..



 цитата:


2008-06-13 10:56 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com)
+ Added Palette implementation by color index.
Hb_GtInfo( HB_GTI_PALETTE, nIndex[, nNewRGB ] ) -> nOldRGB

2008-06-13 09:12 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com
+ Added functionality to change Palette.
Hb_GtInfo( HB_GTI_PALETTE, aNewPalette ) -> aOldPalette
<aNewPalette> must be of 16 elements containg RGB colors.



Подробностей не знаю. :) Пробуйте...

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



Пост N: 2
Зарегистрирован: 03.01.10
ссылка на сообщение  Отправлено: 03.01.10 17:20. Заголовок: Да бог с ним с gtwvt..


Да бог с ним с gtwvt.lib. Перевел по легкому 4 проекта. Пользователь хочет привычный его глазу цвет(палитру). Да конечно HB_GtInfo( HB_GTI_PALETTE ) -> apalette, а не HB_GtInfo. Пусть будет gtwin.lib.
пакет на трансляцию использую самопальный а не BATH, типа того как раньше .rmk
@echo on

echo eksped.exe

rem Назначение путей
set MG_BCC=c:\borland\bcc55
set MG_ROOT=c:\minigui
set MG_HRB=%MG_ROOT%\harbour
set MG_LIB=%MG_HRB%\lib
set MV_LIB=%MG_LIB%;%MG_BCC%\lib
set MV_INC=%MG_HRB%\include;%MG_BCC%\include
set USE_DIR=D:\HARB_APP\CONSOLE\EKSPED

rem список prg-файлов для получения с-кода
set p1=eksped.prg ucalc.prg getsys.prg helpprg.prg veduch.prg infopost.prg infojur.prg infovyd.prg parol.prg
set p2=xranost.prg netprix.prg ktost.prg reestr.prg lachoice.prg renum.prg prepnak1.prg prepnak3.prg inkey2.prg
set p3=copyproc.prg indproc.prg utileksp.prg selekod.prg reorg.prg spispl.prg prepnak2.prg openini.prg
set p4=spei.prg speh.prg spmest.prg spstro.prg spoper.prg sppers.prg vedkli.prg picdial.prg spotv.prg helpview.prg
set p5=spkli.prg spkol.prg spprod.prg spptar.prg naklad1.prg naklad.prg brnakl.prg browdet.prg indfunc.prg

rem список с-файлов для получения obj объектов
set c1=eksped.c ucalc.c getsys.c helpprg.c veduch.c infopost.c infojur.c infovyd.c parol.c
set c2=xranost.c netprix.c ktost.c reestr.c lachoice.c renum.c prepnak1.c prepnak3.c inkey2.c
set c3=copyproc.c indproc.c utileksp.c selekod.c reorg.c spispl.c prepnak2.c openini.c
set c4=spei.c speh.c spmest.c spstro.c spoper.c sppers.c vedkli.c picdial.c spotv.c helpview.c
set c5=spkli.c spkol.c spprod.c spptar.c naklad1.c naklad.c brnakl.c browdet.c indfunc.c

rem список подключаемых библиотек
set l1=debug.lib vm.lib rtl.lib gtwin.lib lang.lib rdd.lib macro.lib pp.lib hbprinter.lib miniprint.lib
set l2=dbfntx.lib dbffpt.lib hbsix.lib libct.lib common.lib codepage.lib hbw32.lib ace32.lib rddads.lib jutil.lib


rem список подключаемых библиотек

if exist _harbour.err del _harbour.err
if exist _bcc32.err del _bcc32.err
if exist _ilink32.err del _ilink32.err
if exist eksped.exe del eksped.exe

rem трансляция исходных текстов .prg в .c-код.
%MG_HRB%\bin\harbour /n /b %p1% /i%MG_HRB%\include >> _harbour.err
%MG_HRB%\bin\harbour /n /b %p2% /i%MG_HRB%\include >> _harbour.err
%MG_HRB%\bin\harbour /n /b %p3% /i%MG_HRB%\include >> _harbour.err
%MG_HRB%\bin\harbour /n /b %p4% /i%MG_HRB%\include >> _harbour.err
%MG_HRB%\bin\harbour /n /b %p5% /i%MG_HRB%\include >> _harbour.err

rem создание .rsp файла для траслятора Borand C
if exist test.rsp del eksped.rsp

echo %c1% >> temp.rsp
echo %c2% >> temp.rsp
echo %c3% >> temp.rsp
echo %c4% >> temp.rsp
echo %c5% >> temp.rsp

echo %l1% >> temp.rsp
echo %l2% >> temp.rsp


rem компилляция и получение объектных модулей и .lnk файла для линковки
%MG_BCC%\bin\bcc32 -O2 -I%MV_INC% -L%MV_LIB%;%USE_DIR%\obj @temp.rsp > NUL
if exist turboc.$ln copy turboc.$ln eksped.lnk > NUL
if exist turboc.$ln del turboc.$ln
if exist temp.rsp del temp.rsp
copy *.obj ..\obj > NUL

rem сборка модулей и получение .exe
%MG_BCC%\bin\ilink32 @eksped.lnk >> _ilink32.err


if exist eksped.bak del eksped.bak
if exist eksped.tds del eksped.tds
if exist *.obj del *.obj
if exist *.c del *.c
if exist eksped.exe copy eksped.exe ..\exe
if exist eksped.exe del eksped.exe


:end
ошибки ловлю в *.err файле
все работает кроме палитры. Пример ниже. может кто такое делал!?
* Начало программы

#include "box.ch"
#include "fileio.ch"
#include "mgexit.ch"
#include "config.ch"
#include "inkey.ch"
#include "color.ch"
#include 'hbgtinfo.ch'
#include 'inkey.ch'
#include "wvtwin.ch" //????
#include "common.ch"

#define RGB(r,g,b) ( r + ( g * 256 ) + ( b * 256 * 256 ) )


// тело головной процедуры
Procedure Eksped(cOtlad)
Static ScrMain := Nil
Local aPalette := {}
Local nRED

// ссылки на кодовые страницы и язык
REQUEST HB_LANG_RU866
REQUEST HB_LANG_RUWIN
REQUEST HB_CODEPAGE_RU866

// руссификация
hb_langSelect("RU866")
hb_SetCodepage("RU866")

// ДАЛЕЕ НЕ РАБОТАЕТ
aPalette := Hb_GtInfo(HB_GTI_PALETTE) // вместо массива возвращает NIL
nRed := Hb_GtInfo( HB_GTI_PALETTE, 5, RGB( 120, 200, 240 ) ) // NIL
...........................
............................
RETURN


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


Пост N: 235
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 03.01.10 17:40. Заголовок: Zakrzevky пишет: Да..


Zakrzevky пишет:

 цитата:
Да бог с ним с gtwvt.lib. ... Пусть будет gtwin.lib.


Насколько я понял из исходников Harbour, в gtwin нет возможности менять палитру.
Посмотрите файл src\rtl\gtwin\gtwin.c, функция hb_gt_win_info(). Она не обрабатывает HB_GTI_PALETTE.


 цитата:

// ДАЛЕЕ НЕ РАБОТАЕТ
aPalette := Hb_GtInfo(HB_GTI_PALETTE) // вместо массива возвращает NIL


У меня работает (с gtwvt). Возвращает массив из 16 элементов.


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



Пост N: 3
Зарегистрирован: 03.01.10
ссылка на сообщение  Отправлено: 03.01.10 17:56. Заголовок: Спасибо! Похоже на т..


Спасибо! Похоже на то. Я имею в виду src\rtl\gtwin\gtwin.c. Будем рыть дальше.

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





Пост N: 14
Зарегистрирован: 01.01.10
ссылка на сообщение  Отправлено: 03.01.10 23:35. Заголовок: Асинхронный ответ


Не совсем понял, какой компилятор Вы используете - Harbour, xHarbour или Visual Harbour. Но раз Вы, как я понял - создаете КОНСОЛЬНОЕ Windows-приложение и Вас не устраивает что палитра немного "затемнена" то могу предложить "асинхронное" решение - написать крохотную Clipper-программу в которой делать все дела с функцией VGAPALETTE() и вызывать этот EXE-шник командой RUN из консольной Harbour программы в самом ее начале!


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





Пост N: 15
Зарегистрирован: 01.01.10
ссылка на сообщение  Отправлено: 03.01.10 23:58. Заголовок: Обалдеть!


В общем я доэксперементировался с палитрой - ОНА НАВСЕГДА МЕНЯЕТСЯ. Моя операционная среда - Windows XP SP2 Pro (с некоторыми обновлениями от Microsoft) - консоль в Far Managere. То есть фишка в чем - откомпилировать программу colorpal.prg из комплекта утилит Clipper Tools и настроить нужное консольное окно с ее помощью. В реестре Windows появится:
[HKEY_CURRENT_USER\Console\FAR manager]
"ScreenColors"=dword:00000007
"PopupColors"=dword:000000f5
"ColorTable00"=dword:00000000
"ColorTable01"=dword:00800000
"ColorTable02"=dword:00008000
"ColorTable03"=dword:00808000
"ColorTable04"=dword:00000080
"ColorTable05"=dword:00800080
"ColorTable06"=dword:00008080
"ColorTable07"=dword:00c0c0c0
"ColorTable08"=dword:00808080
"ColorTable09"=dword:00ff0000
"ColorTable10"=dword:0000ff00
"ColorTable11"=dword:00ffff00
"ColorTable12"=dword:000000ff
"ColorTable13"=dword:00ff00ff
"ColorTable14"=dword:0000ffff
"ColorTable15"=dword:00ffffff
"InsertMode"=dword:00000001
"QuickEdit"=dword:00000000
"FullScreen"=dword:00000000
"ScreenBufferSize"=dword:00190050
"WindowSize"=dword:00190050
"FontSize"=dword:00140000
"FontFamily"=dword:00000036
"FontWeight"=dword:00000190
"FaceName"="Lucida Console"
"CursorSize"=dword:00000019
"HistoryBufferSize"=dword:00000032
"NumberOfHistoryBuffers"=dword:00000004
"HistoryNoDup"=dword:00000000
"WindowPosition"=dword:00000000


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



Пост N: 4
Зарегистрирован: 03.01.10
ссылка на сообщение  Отправлено: 04.01.10 01:29. Заголовок: "..,а вот это попробуйте!"


sergey5703 ! Я почти было хотел также поступить как вы советовали с VGAPALETTE(). Но вроде как то все немного криво. Насчет ColorPal.prg тоже думал. Но это не DOS! И чем его компилировать и как настроить
с ее помощью реестр, не очень понял. Да и дело в том, что заказчик запускает прогу щелчком по иконке на рабочем столе. Вообще работаю тоже в Windows XP SP2 Pro, компилирую HarBour (без x) и то же в Far-е. Все бы хорошо, но тут завелся с этой палитрой, почитал у Кресина и заменил в пакете gtwin на
gtwvt. Затем попробовал пересобрать по всем рекомендациям, но exe - шник так и не запустился. Приложение только моргнуло в оконном режиме и погасло. Может вернусь к gtwin.lib и попробую поковыряться на С с исходником, ведь с gtwvt работает.


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





Пост N: 18
Зарегистрирован: 01.01.10
ссылка на сообщение  Отправлено: 04.01.10 02:18. Заголовок: Как я понял, для КАЖ..


Как я понял, для КАЖДОГО консольного приложения (если у Вас консольное приложение, а судя по тому что Вы подключаете то GTWIN.LIB то другую терминальную библиотеку) - Windows создает ветвь в реестре, типа:
[HKEY_CURRENT_USER\Console\FAR manager]. Для DOS приложений - то же самое. Вы берете и в Far-е компилируете и выполняете Clipper-программу которая настраивает нужным образом палитру - в Far-е Вас цвета устраивают? Если да, то идем дальше - запускаем REGEDIT.EXE и из ветки [HKEY_CURRENT_USER\Console\FAR manager] делаем экспорт в файл .REG в формате NT - получили текстовый файл в котором ВРУЧНУЮ при помощи того же Far-а изменяем [HKEY_CURRENT_USER\Console\FAR manager] на
[HKEY_CURRENT_USER\Console\Моя программа], где "Моя программа" - это заголовок (Caption) окна Вашей программы. И делаем обратный импорт отредактированного .REG файла в реестр. Уф ... Мне кажется должно получиться, если Вы ничего не напутаете. Мне показалось намека про реестр будет достаточно (в предыдущем моем ответе).



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




Пост N: 1022
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.01.10 03:14. Заголовок: Zakrzevky пишет: по..


Zakrzevky пишет:

 цитата:
почитал у Кресина и заменил в пакете gtwin на
gtwvt. Затем попробовал пересобрать по всем рекомендациям, но exe - шник так и не запустился. Приложение только моргнуло в оконном режиме и погасло.



Я с этим тоже долго бился... Пока не научился делать.... Проверяй ключи, если не помогает, то высылай на мыло, 30195@mail.ru посмотрю !

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


Пост N: 236
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.01.10 13:22. Заголовок: Zakrzevky пишет: по..


Zakrzevky пишет:

 цитата:
почитал у Кресина и заменил в пакете gtwin на
gtwvt. Затем попробовал пересобрать по всем рекомендациям, но exe - шник так и не запустился. Приложение только моргнуло в оконном режиме и погасло.


Воспользуетесь утилитой hbmk2 вместо ваших батников.
Вот пример скрипта:

 цитата:

-std
-gtWVT
-mt

#------ Harbour Flags
# Debug Mode
-prgflag=-b

#------ EXE Name
-oName.exe

#------ Additional include and lib path
-i(здесь путь к добавочным *.ch)
-L(здесь путь к добавочным *.lib)

#------ Additional library path
-l(добавочная lib без расширения)
-l(добавочная lib без расширения)
-l(добавочная lib без расширения)
...

#------ PRG Sources
(здесь список PRG-модулей)


Запуск на сборку: hbmk2 @имя_скрипта
В скрипте две опции:
-std
-gtWVT
решат Вашу проблему, имхо.
Подробнее о ключах hbmk2: hbmk2 --help
Удачи!
P.S. Забыл указать, что расширение файла скрипта - .hbc

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




Пост N: 1277
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.01.10 13:41. Заголовок: Andrey пишет: Для к..


Andrey пишет:

 цитата:
Для компиляции терминала:
GTWIN ключ компиляции -ap и модуль BCC c0x32.obj
GTWVT ключ компиляции -aa и модуль BCC c0w32.obj



Не для компиляции, а для линковки, т.е. опцию -aa надо указать линкеру ilink32

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



Пост N: 5
Зарегистрирован: 03.01.10
ссылка на сообщение  Отправлено: 04.01.10 22:52. Заголовок: Thank, но промблема с Lib-ами


Спасибо за помощь! Про ключи компиляции я так и догадался, а вот со скриптом попробую собрать.
P.S.
Чем дальше в лес... КОРОЧЕ говоря с hbmk2 еще больше проблем. Его удалось найти только скачав новую
декабрьскую версию hb20. Похоже он пытается пересобрать все мои ранние библиотеке и лезет в свой
каталог С:\hb20\... а мои lib ранее были в с:\minigui\harbour\lib. Из всех признал только
gtwvt
hbsix
rddads


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


Пост N: 237
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.01.10 10:52. Заголовок: Zakrzevky пишет: с ..


Zakrzevky пишет:

 цитата:
с hbmk2 еще больше проблем. Его удалось найти только скачав новую
декабрьскую версию hb20.


HBMK2 уже давно существует.


 цитата:
Похоже он пытается пересобрать все мои ранние библиотеке и лезет в свой
каталог С:\hb20\... а мои lib ранее были в с:\minigui\harbour\lib. Из всех признал только
gtwvt
hbsix
rddads


Вот ссылка на уже собраный Harbour: http://sourceforge.net/projects/harbour-project/files/
Найдите там раздел binaries-windows и скачайте либо архив 7z, либо инсталятор.
В скрипте не нужно указывать стандартные библиотеки Harbour. HBMK2 сама найдет все, что нужно для сборки. Укажите только специфические *.ch и *.lib и всё.


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

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