On-line: i3t4j6, Pasha, Haz, гостей 1. Всего: 4 [подробнее..]
АвторСообщение





Пост N: 176
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 21.08.13 22:11. Заголовок: Переход с GTWIN на GTWVT, все вопросы в одной теме.


Давайте обсудим вопросы, связанные с переходом на "усовершенствованный" терминал GTWVT.

Для этого, как я понял, нужно лишь включить в текст программы пару строк:

#include "hbgtinfo.ch"
REQUEST HB_GT_WVT_DEFAULT

Все, новый терминал подключен и работает.

Не могу понять, как менять кодовую страницу шрифта. Сделал:
hb_gtInfo( HB_GTI_FONTNAME, "Terminal" )
hb_gtInfo( HB_GTI_FONTWIDTH, 12 )
hb_gtInfo( HB_GTI_FONTSIZE, 28 )

Чтобы получить вот такой шрифт (присутствует в системе 100% и с ним работает Far и GTWIN):



Но почему-то неожиданно на экране появились кракозябры, но шрифт именно тот, который я и хотел. При установке "по умолчанию" или "Lucida Console" все ок.
Что я забыл ?


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







Пост N: 186
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.08.13 11:47. Заголовок: Dima пишет: Такой п..


Dima пишет:

 цитата:
Такой подход хорош если у всех твоих юзеров установлено одно и тоже разрешение экрана.
А если нет , то надо учитывать и разрешение экрана.



У всех установлены экраны минимум 1280*1024 - как самый бюджетный на сегодня вариант.
На 1440*1ххх и на 1920*1080 этот шрифт тоже смотрится отлично, просто больше свободного места, если не расширять стандартный SETMODE(25,80)

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



Пост N: 22
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 22.08.13 13:40. Заголовок: Sergy , а в чём преи..


Sergy , а в чём преимущества GTWVT ?

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




Пост N: 3435
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.08.13 14:57. Заголовок: azoo Цитата из доки..


azoo
Цитата из доки
 
gtwvt - GT driver for MS-Windows. It creates its own GUI window
instead of using MS-console window. It allows to change
font, window size, etc.
Supported only by Windows builds.
is a pure console implementation of traditional Clipper terminal
taking Windows API as its base console IO protocols. Its OI are
rendered in a Windows window and hence all of MSDN is available
for use with GTWVT.
To let the memory refreshed, I must remind
everybody that it is a superb work of Peter Rees contributed
to xHarbour on 2003-12-22.
gtwvg - GUI emulation of GTWVT. It implements itself on top of GTWVT.
GTWVG ( WVTGUI in xHarbour ) offers functions and classes to
present a console application look like a windows one.
It renderes GUI elements on top of Clipper elements
( GETS, BROWSERS, BOXES, LINES ) which makes them
feel like a Windows element. GTWVG can be used with existing
code just adding some more code but without sacrificing or
modifying old one.
Also all IO commands can be rendered on top of the GUI elements



А вообще смотри примеры (собирай их) и решай нужен тебе этот терминал или нет

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





Пост N: 189
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.08.13 15:13. Заголовок: azoo пишет: Sergy ,..


azoo пишет:

 цитата:
Sergy , а в чём преимущества GTWVT ?



Расширенный интерфейс программы - прежде всего реакция на события, такие, как например, закрытие окна "по крестику".
Но он тянет за собой совсем ненужный гемор в виде отсутствия в свойствах окна программы диалога выбора шрифтов и перекладывает это на плечи программиста.
Зачем так сделано - не совсем понятно.

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




Пост N: 3439
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.08.13 15:22. Заголовок: Sergy пишет: Но он ..


Sergy пишет:

 цитата:
Но он тянет за собой совсем ненужный гемор в виде отсутствия в свойствах окна программы диалога выбора шрифтов


Dima пишет:

 цитата:
gtwvt - GT driver for MS-Windows. It creates its own GUI window



У какого GUI окна ты видел диалог выбора шрифтов , не считая Far Manager ?

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



Пост N: 23
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 22.08.13 15:42. Заголовок: А вообще смотри прим..



 цитата:
А вообще смотри примеры (собирай их) и решай нужен тебе этот терминал или нет


Цель - использовать в программах не 80*25, а например 120*40.




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




Пост N: 3442
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.08.13 15:43. Заголовок: azoo пишет: наприме..


azoo пишет:

 цитата:
например 120*40


Да это возможно

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





Пост N: 194
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.08.13 15:56. Заголовок: azoo пишет: использ..


azoo пишет:

 цитата:
использовать в программах не 80*25, а например 120*40.



не знаю про такие параметры, но 35*100 точно работает под стандартным GTWIN

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




Пост N: 3485
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.08.13 17:33. Заголовок: да бы новую тему не ..


да бы новую тему не заводить спрошу тут.
Cейчас в приложении GTWVT использую 25 строк и 80 столбцов . Если окно на весь
экран (почти) то такой шрифт нормально воспринимается и читается.
Порой этого маловато.
Не подскажет кто из личного опыта другое кол-во строк и столбцов (большее) да так что бы не сильно мелко
было и что бы любое железо держало этот режим.
Спасиб.

PS
Размеры шрифта ставлю так
 
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)


Вроде не плох режим 35 на 130

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



Пост N: 23
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 28.08.13 18:39. Заголовок: Цитата: "менять ..


Цитата: "менять кодовую страницу шрифта"
Что-то в этой фразе не так.

Шрифт Terminal - не TrueType
Используйте - Courier New или Lucida Console
HB_GtInfo( HB_GTI_FONTNAME , xFONTNAME )
HB_GtInfo( HB_GTI_FONTWIDTH , xFONTWIDTH )
HB_GtInfo( HB_GTI_FONTSIZE , xFONTSIZE )
HB_GTINFO( HB_GTI_SCREENWIDTH , xSCREENWIDTH )
HB_GTINFO( HB_GTI_SCREENHEIGHT, xSCREENHEIGHT )

Окно GTWVT - другое, чем окно GTWIN и управление размерами(шрифтом) - по другому.
Еще лучше сделать окно RESIZEABLE и тянуть мышкой за угол окна
HB_GTINFO( HB_GTI_RESIZABLE, x )
HB_GTINFO( HB_GTI_CLOSABLE , x )
Окно GTWVT - все окно будет меняться (и размеры шрифтов - пропорционально)
будет сохраняться: Число строк *число колонок

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



Пост N: 24
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 28.08.13 22:35. Заголовок: exe -test c двумя терминалами внутри


Скомпилировать пример - ниже по тексту.

Запустить два раза
1) test.exe //gtwin
2) test.exe //gtwvt

Пробовать потянуть окна за правый нижний угол,
правой кнопкой мыши - открыть меню окна.

Смотрим разницу в поведении окон.

У win окна - есть скролинг и окно свойств для выбора шрифта и размера
у wvt окна - нет скролинга и нет выбора шрифта в контекстном меню

======================
#include "hbgtinfo.ch"

Proc main()
Local lGT_WVT := ( hb_gtversion() = "WVT")
Local lGT_WIN := ( hb_gtversion() = "WIN")

REQUEST HB_GT_WIN
REQUEST HB_GT_WVT

REQUEST HB_GT_WVT_DEFAULT

REQUEST HB_LANG_RU866
HB_LangSelect( "RU866" )

REQUEST HB_CODEPAGE_RU866
HB_CDPSELECT( "RU866" ) // если не указать - будут кракозябры в "АБВГД абвгд"

HB_GTINFO( HB_GTI_FONTNAME, "fixed" )
HB_GTINFO( HB_GTI_FONTWIDTH, 9 )
HB_GTINFO( HB_GTI_FONTSIZE, 20 )

? OS(), VERSION(), DATE(), TIME()
? HB_GTVERSION(), HB_GTVERSION(1)
? "АБВГД абвгд"
? ""

inkey(0)
return nil



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



Пост N: 24
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 29.08.13 09:42. Заголовок: petr707 , получается..


petr707 , получается разница только в том, что в win-окне шрифт можно выбрать через меню,
а в Wvt - путём растягивания окна мышкой.

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



Пост N: 26
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 29.08.13 10:16. Заголовок: не только..


в консольном WIN окне - выбор шрифтов ограничен одним набором, в Wvt- другим

WVT - реально лучше работать, когда заранее неизвестны размеры и разрешение экрана задачи,
например при удаленном терминальном доступе на неизвестный комп.
WVT -есть свойство- можно выставить на максимальный размер под текущее разрешение.
Сохраняется (число строк*число колонок).
Для Win -окна в этом режиме - крайне неудобно подгонять и настраивать размер шрифта.


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





Пост N: 412
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 16.09.14 12:49. Заголовок: Разбираюсь с GTWVT д..


Разбираюсь с GTWVT дальше.

Вопрос с запуском внешних команд.

1) Команда __RUN() используется для запуска bat файлов как вынужденная мера, но при запуске приложений, например просмотрщика картинок или чего-то с GUI интерфейсом создает маленькое консольное окно с cmd.exe
2) Команда HB_RUN() - запускает аналогично RUN, но консольное окно cmd.exe вырастает в размер окна запустившего его GTWVT приложения
3) Команда hb_ProcessRun() - работает как нужно, НО: категорически отказывается запускать батники. Даже так: hb_ProcessRun("cmd /c "+cCommand). Мелкое консольное окно "моргает", но находжящиеся внутри батника команды echo / pause не отрабатывают. Да и судя по результатам - батник точно не запускается...

Какой способ универсальный ?
Наверянка, я что-то упускаю из виду...

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




Пост N: 4210
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.09.14 13:01. Заголовок: Sergy пишет: 1) Ком..


Sergy пишет:

 цитата:
1) Команда __RUN() используется для запуска bat файлов как вынужденная мера, но при запуске приложений, например просмотрщика картинок или чего-то с GUI интерфейсом создает маленькое консольное окно с cmd.exe


Картинки можно показывать средствами GTWVT

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





Пост N: 415
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 16.09.14 14:24. Заголовок: Dima пишет: Картинк..


Dima пишет:

 цитата:
Картинки можно показывать средствами GTWVT


Пока не смог разобраться с правильным масштабированием (с сохранением пропорций). Подскажи плиз, в каком направлении искать.

Но в любом случае - это был просто как пример. Всё равно остается потребность в вызове внешних приложений.
Нужен универсальный способ (если это возможно).

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




Пост N: 4211
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.09.14 14:36. Заголовок: Sergy пишет: Пока н..


Sergy пишет:

 цитата:
Пока не смог разобраться с правильным масштабированием (с сохранением пропорций)


у себя я сделал так Wvt_DrawImage( 0, 0, MaxRow(), MaxCol(), cfile,,.f.)

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





Пост N: 416
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 16.09.14 14:46. Заголовок: Вот Przemek пишет пр..


Вот Przemek пишет про различие в методах запуска тут: https://groups.google.com/forum/#]https://groups.google.com/forum/#!topic/harbour-users/AKswxE07xYo


 цитата:
There are two main differences between __RUN()/HB_RUN() and hb_processRun()

hb_processRun() was designed to fast execute other processes with the
possibility of redirecting their standard input and outputs. It runs them
directly without system SHELL as middle layer.

__RUN() and HB_RUN() executes system commands sending them to platform
dependent SHELL.

The second difference is in GT suspending. If you look at __RUN() or
HB_RUN() code then you will find that they suspend and resume internally
GT calling hb_gtSuspend() and hb_gtResume(). Depending on used GT
hb_gtSuspend() makes base environment ready to run child process in system
console and hb_gtResume() restores console settings when child process
finished. In case of GTWIN, GTOS2 or GTDOS which work on system console
window or operate directly on hardware (GTDOS) it's possible to access
screen/console data so inside hb_gtResume() they copy the screen data to
internal GT screen buffer so later it can be accessed from the Harbour
application. That's all.

If you need hb_processRun() make the same then you can change it in
src/rtl/hbprocfn.c adding inside HB_FUNC( HB_PROCESSCLOSE )
hb_gtSuspend();
just before the line with hb_fsProcessRun() and
hb_gtResume();
after this line. Such modification is not planned in core code because
by definition hb_processRun() should work as fast as possible and in
most of cases the child process output is redirected so it does not
affect the screen.




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




Пост N: 3634
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.09.14 18:36. Заголовок: Sergy пишет: Вопрос..


Sergy пишет:

 цитата:
Вопрос с запуском внешних команд.

Sergy пишет:

 цитата:
Какой способ универсальный ?



ShellExecute !
Примеры запуска для хХарбора - http://file.qip.ru/arch/PGm5DMjR/ShellExecute.html


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




Пост N: 4212
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.09.14 19:41. Заголовок: Andrey пишет: Sergy..


Andrey пишет:

 цитата:
Sergy пишет:

цитата:
Вопрос с запуском внешних команд.


Использую под GTWVT , EXECANDWAIT ,работает нормально. BAT файлы запускать не пробовал , запускаю EXE.

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

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