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




Пост N:699
Зарегистрирован:25.05.05
ссылка на сообщение  Отправлено:29.01.08 13:59.Заголовок:Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)


Начало темы находится здесь, а теперь

АНОНС * АНОНС * АНОНС * АНОНС * АНОНС

Готовится к опубликованию новая сборка №48, которая выйдет в конце недели.
Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне

Кратко, что нового:

- исправление обнаруженных ошибок и неточностей кода;
- новый класс HEADERIMAGE для Grid и Browse;
- свойство Address в Hyperlink может теперь открывать папку или файл на диске;
- добавлен NOTABSTOP класс для Browse;
- поддержка пользовательских компонентов (заимствована из оффициального релиза);
- расширения и исправления в библиотеках TsBrowse и PropGrid;
- обновлены сборки Харбор и HMGS-IDE;
- новые и обновленные старые примеры (как обычно ).




--
Улыбайся - завтра будет хуже!
Спасибо: 5 
Профиль
Ответов -300 ,стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Andrey_IV



Пост N:31
Зарегистрирован:20.04.07
ссылка на сообщение  Отправлено:23.10.19 02:28.Заголовок:BCC 5.82 Кодировка Win-1251 в файле ресурсов


Всем доброго времени суток!

В BCC 5.5 (да и в BCC 5.6), если в файле ресурсов .RC писал русскими буквами в кодировке Win-1251 - то на экране все отображалось корректно
Когда попробовал в компилировать программу в BCC 5.82 - получил крякозябры. Попробовал забить вместо латинских, русскими в примере:
C:\MiniGUI\SAMPLES\BASIC\TEST_APPLICATION\demo.rc - та-же история. Крякозябры вместо русских букв.
Это только в файле ресурсов. Если просто в .PRG пишу русскими - все нормально.
Это вообще можно победить ?
Не может-же быть такого, что компилятор не дружит с кодировкой Win-1251 ТОЛЬКО в ресурсах.
Или может ???

Спасибо: 0 
Профиль
Dima
администратор




Пост N:7129
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:23.10.19 12:17.Заголовок:Andrey_IV пишет: Эт..


Andrey_IV пишет:

 цитата:
Это вообще можно победить ?


Можно
Andrey_IV пишет:

 цитата:
C:\MiniGUI\SAMPLES\BASIC\TEST_APPLICATION\demo.rc - та-же история


Нет там ни какой истории , demo.rc в кодировке 866 , переведи в 1251 и будет как надо

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N:1614
Зарегистрирован:11.02.10
ссылка на сообщение  Отправлено:23.10.19 12:54.Заголовок:Andrey_IV пишет: По..


Andrey_IV пишет:

 цитата:
Попробовал забить вместо латинских, русскими в примере:
C:\MiniGUI\SAMPLES\BASIC\TEST_APPLICATION\demo.rc


Сделал такую проверку также

 цитата:
#include "resource.h"

// Application icon.
IDI_APPICON ICON "Application.ico"

// Our main menu.
IDR_MAINMENU MENU
{
POPUP "&Файл"
{
MENUITEM "В&ыход", ID_FILE_EXIT
}
POPUP "&Помощь"
{
MENUITEM "&О программе", ID_HELP_ABOUT
}
}


и этот пример нормально показывает меню по-русски

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




Пост N:6491
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:23.10.19 13:40.Заголовок:SergKis пишет: Рабо..


SergKis пишет:

 цитата:
Рабочая версия на vc есть. Версия с bcc 55 использовалась как пример исследования новшеств.


Давайте тогда перейдём полностью на MSVC ?

Спасибо: 0 
Профиль
Andrey_IV



Пост N:32
Зарегистрирован:20.04.07
ссылка на сообщение  Отправлено:24.10.19 10:00.Заголовок:BCC 5.82 Кодировка Win-1251 в файле ресурсов - УТОЧНЕНИЕ


Не точно выразился

1) Кодировка RC-файла конечно-же Win-1251
2) Речь идёт не об этом блоке RC-файла, который привёл в приме Григорий
[quote]`
{
POPUP "&Файл"
{
MENUITEM "&Выход", ID_FILE_EXIT
}
POPUP "&Помощь"
{
MENUITEM "&О программе", ID_HELP_ABOUT
}
}
[quote]`
а вот об этом (то, что в проводнике "Свойства файла", закладка "Подробно" -
в общем информация "О программе" (проверял в Windows 7).
Возьмем файл: C:\MiniGUI\SAMPLES\Applications\SysInfo\SysInfo.rc
Меняю кодировку на Win-1251, пишу на русском (извините - просто пример)
[quote]`
1 VERSIONINFO
FILEVERSION 1,1,0,0
PRODUCTVERSION 1,0,0,0
FILEOS 0x4
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
BLOCK "040904b0"
{
VALUE "FileDescription", "Системная информация\000"
VALUE "FileVersion", "1.1.0.0"
VALUE "InternalName", "SysInfo\000"
VALUE "LegalCopyright", "Freeware 2003-2012\000"
VALUE "LegalTrademarks", "Harbour"
VALUE "OriginalFilename", "SysInfo.exe"
VALUE "CompanyName", ""
VALUE "ProductName", "Утилита MiniGUI"
VALUE "ProductVersion", "1.0.0.0"
VALUE "Comments", "Создано Григорием Филатовым <gfilatov@inbox.ru>\000"
}
}

BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0409 0x04B0
}
}

[quote]`
Компилирую, в проводнике в свойствах файла
в описании файла и в названии продукта вижу крякозябры

Пробовал менять Английский на Русский
// BLOCK "040904b0"
BLOCK "041904e3"
и
// VALUE "Translation", 0x0409 0x04B0
VALUE "Translation", 0x0419 0x04E3

Ничего не даёт

Спасибо: 0 
Профиль
Dima
администратор




Пост N:7132
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:24.10.19 20:32.Заголовок:Там вроде нужно прик..


Там вроде нужно прикручивать windows manifest и кодировка в rc должна быть utf-8

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N:1615
Зарегистрирован:11.02.10
ссылка на сообщение  Отправлено:25.10.19 09:34.Заголовок:Всем кому это интересно


Обновил сборку 19.10 (Update 1) с учетом последних наработок

Базовый дистрибутив находится по адресу

http://hmgextended.com/files/CONTRIB/hmg-19.10-setup.exe

Что нового:
Скрытый текст


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N:1616
Зарегистрирован:11.02.10
ссылка на сообщение  Отправлено:30.10.19 10:47.Заголовок:Всем кому это интересно


Обновил сборку 19.10 (Update 2) с учетом последних наработок

Базовый дистрибутив для BCC 5.8.2 находится по адресу

http://hmgextended.com/files/CONTRIB/hmg-19.10-setup.exe

Что нового:
Скрытый текст


Спасибо: 0 
Профиль
rvu





Пост N:186
Зарегистрирован:05.11.05
ссылка на сообщение  Отправлено:15.11.19 11:08.Заголовок:gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Может я чего то не понял, но точно такая же ограниченная гарантия есть у BCC 5.5



А как связаны ограниченная гарантия и авторские права? Меня тоже авторские права интересуют. Хочется чистоты.

И какую версия они сами сейчас раздают?

https://www.embarcadero.com/free-tools/ccompiler/free-download

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N:1622
Зарегистрирован:11.02.10
ссылка на сообщение  Отправлено:15.11.19 12:59.Заголовок:rvu пишет: какую ве..


rvu пишет:

 цитата:
какую версия они сами сейчас раздают?


Они раздают бесплатно 32-битный компилятор BCC 10.1, который основан на LLVM/Clang C 3.3.1 и датирован 2016 годом.

Проблема в том, что собрать Харбор для этого компилятора стандартным образом не получится.
После многих попыток мне, правда, удалось это сделать.
Результат см. ниже

 цитата:
Harbour 3.2.0dev (r1902111251)
Copyright (c) 1999-2019, https://harbour.github.io/

Harbour Build Info
---------------------------
Version: Harbour 3.2.0dev (r1902111251)
Compiler: LLVM/Clang C 3.3.1 (35832.6139226.5cda94d) (32-bit)
Platform: Windows 7 6.1 SP1
PCode version: 0.3
ChangeLog last entry: 2019-02-11 13:51 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
ChangeLog ID: 1d06956f746c166a6c53f00036a261952796fca6
Built on: Feb 12 2019 21:44:56
Extra C compiler options: -DHB_GC_AUTO -DHB_GUI
Build options: (Clipper 5.3b) (Clipper 5.x undoc)
---------------------------



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




Пост N:6525
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:27.11.19 01:16.Заголовок:Всем привет. Пример ..


Всем привет.
Пример MiniGUI\SAMPLES\BASIC\Button_Hotkey
Туда бы добавить для наглядности небольшое добавление:
      @ 100, nX BUTTONEX button_1 ; 
CAPTION " 1 " ;
ACTION _wPost( 10, This.button_1.Index ) ;
WIDTH nW ;
HEIGHT 28 ;
TOOLTIP "HotKey 1 or F1" ;
HOTKEY { 1, F1 }

Если массив нельзя, то тогда бы сделать перечисление клавиш:
      ON KEY F1     ACTION _wPost( 10 , .... здесь не знаю как .... ) 
ON KEY F2 ACTION _wPost( 10 , .... здесь не знаю как .... )
......

Юзера просят горячие клавиши сразу по F1/F2 ... ну или просто по 1/2 ....
Я понимаю что горячая клавиша ОДНА, но блин нашему юзеру всё мало....
Просто в старых программах сделал так, теперь просят такого же в МиниГуи.

Спасибо: 0 
Профиль
SergKis



Пост N:2963
Зарегистрирован:17.02.12
ссылка на сообщение  Отправлено:27.11.19 02:01.Заголовок:Andrey пишет O..


Andrey пишет
 цитата:
ON KEY F1 ACTION _wPost( 10 , .... здесь не знаю как .... )
ON KEY F2 ACTION _wPost( 10 , .... здесь не знаю как .... )
......


так же
 
ON KEY F1 ACTION _wPost( 10 , This.button_1.Index )
ON KEY F2 ACTION _wPost( 10 , This.button_1.Index )
......

создается в событии 10 среда This для button1, как и для ACTION кнопки, по указанному индексу

Спасибо: 0 
Профиль
SergKis



Пост N:2964
Зарегистрирован:17.02.12
ссылка на сообщение  Отправлено:27.11.19 02:13.Заголовок:PS т.е. если делать ..


PS
т.е. если делать _wPost(10), то в событии 10 This.Name - имя окна, ThisWindow.Name - тоже,
если делать _wPost( 10 , This.button_1.Index ), то в событии 10 This.Name - имя кнопки,
ThisWindow.Name - имя окна

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




Пост N:6526
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:27.11.19 09:26.Заголовок:SergKis пишет: ON K..


SergKis пишет:

 цитата:
ON KEY F1 ACTION _wPost( 10 , This.button_1.Index )
ON KEY F2 ACTION _wPost( 10 , This.button_1.Index )
......



Чуток ошибся:
 
ON KEY F1 ACTION _wPost( 10 , This.button_1.Index )
ON KEY F2 ACTION _wPost( 10 , This.button_2.Index )
ON KEY F3 ACTION _wPost( 10 , This.button_3.Index )

А если будут две формы и будут такие же кнопки, то горячие клавиши будут различаться ?
This.button_1.Index - это для каждого окна своя кнопка ?

Спасибо: 0 
Профиль
SergKis



Пост N:2965
Зарегистрирован:17.02.12
ссылка на сообщение  Отправлено:27.11.19 12:16.Заголовок:Andrey пишет Чуток о..


Andrey пишет
 цитата:
Чуток ошибся:


Именно так и хотел написать, о назначении ОДНОГО события для button_1 разным клавишам, т.е.
одной кнопке назначаем нажатия "1", "F1", "CTRL+F1", "SHIFT+F1", "CTRL+1", ...
и при всех нажатиях будет исполнен блок кода события 10 со средой This, для кнопки "button_1"
То что ты добавил\исправил на F2 - это может быть доп. множество клавиш для др. кнопки "button_2"

 цитата:
А если будут две формы и будут такие же кнопки, то горячие клавиши будут различаться ?
This.button_1.Index - это для каждого окна своя кнопка ?


На каждой форме-окне контролы могут называться одинаково, они, как и события "привязаны" к своему окну.
Т.е. если создаешь окно по переменной cForm := <имя> и DEFINE WINDOW &cForm ...
то сменив имя окна-формы => получишь новое окно, на котором имена контролов будут одинаковы с первым и
события совпадут. Если в них исп. public (не static) функции они будут вызываться одни и те же при наступлении
события, но внутри будут иметь разную среду This для окна, This.Name контрола совпадать, ThisWindow.Name разное

Спасибо: 1 
Профиль
gfilatov2002
moderator




Пост N:1626
Зарегистрирован:11.02.10
ссылка на сообщение  Отправлено:28.11.19 17:35.Заголовок:Всем кому это интересно


Подготовил 1-й релиз-кандидат для новой сборки 19.12 со следующим списком изменений (кратко):
Скрытый текст
Благодарю за внимание

Спасибо: 0 
Профиль
SergKis



Пост N:2997
Зарегистрирован:17.02.12
ссылка на сообщение  Отправлено:11.12.19 15:44.Заголовок:gfilatov2002 Предла..


gfilatov2002
Предлагаю добавить
 
HB_FUNC ( ENUMWINDOWS )
{
PHB_ITEM pArray = hb_itemArrayNew( 0 );

EnumWindows( ( WNDENUMPROC ) EnumWindowsProc, ( LPARAM ) pArray );

hb_itemReturnRelease( pArray );
pArray = NULL;
}
тогда можно получать handle внешних программ так (эту ф-ю можно не вкл. lib)
*-----------------------------------------------------------------------------*
STATIC FUNCTION HandlesHbWin( cText, cClass, lUpper )
*-----------------------------------------------------------------------------*
LOCAL i, h, t
LOCAL aWnd := EnumWindows()
LOCAL aTmp := aWnd
LOCAL aRet := {}

IF ! empty(cClass)
AEVal( aWnd, {|hw| iif( GetClassName(hw) == cClass, AAdd( aTmp, hw ), )} )
ENDIF

IF ! empty(cText) .and. HB_ISCHAR(cText) .and. Len(aTmp) > 0
lUpper := ! empty( lUpper )
IF lUpper
cText := upper( cText )
ENDIF
FOR EACH h IN aTmp
t := GetWindowText( h )
IF lUpper ; t := upper( t )
ENDIF
IF cText $ t ; AAdd( aRet, h )
ENDIF
NEXT
ELSE
aRet := aTmp
ENDIF

RETURN aRet
т.е.
aHandle := HandlesHbWin( , 'Form1_Main' ) // окна hmg с именем Form1_Main, по доп. cText выделить нужное
aWvt := HandlesHbWin( cText, 'Harbour_WVT_Class' ) // handles wvt окон
aDos := HandlesHbWin( 'DOSBox ', 'SDL_app' ) // handles загруженных DosBox программ
и .т.д.


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N:1633
Зарегистрирован:11.02.10
ссылка на сообщение  Отправлено:11.12.19 18:40.Заголовок:SergKis пишет: Пред..


SergKis пишет:

 цитата:
Предлагаю добавить

HB_FUNC ( ENUMWINDOWS )


Благодарю за предложение.

Но вроде уже живет эта функция в примерах:
- SAMPLES\Advanced\ProcInfo;
- SAMPLES\Advanced\ExternalApp_2

Кстати, там еще д.б. сишная дополнительная функция EnumWindowsProc, которая заполняет массив pArray

Спасибо: 0 
Профиль
SergKis



Пост N:2998
Зарегистрирован:17.02.12
ссылка на сообщение  Отправлено:11.12.19 19:58.Заголовок:gfilatov2002 пишет Н..


gfilatov2002 пишет
 цитата:
Но вроде уже живет эта функция в примерах


Не увидел, пропустил. Хорошо, что есть в примерах, мне не хватило в lib.
Пришлось позаниматься управлением внешних программ из hmg.
Предложил по причине, что она более удобна, во многих случаях, чем та которая есть в hmg FindWindow

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N:1634
Зарегистрирован:11.02.10
ссылка на сообщение  Отправлено:11.12.19 21:01.Заголовок:SergKis пишет: Пред..


SergKis пишет:

 цитата:
Предложил по причине, что она более удобна


Буду рассматривать эту функцию для следующей сборки.
Поскольку подготовка декабрьского релиза уже завершена, и эта сборка будет опубликована завтра.

Спасибо: 0 
Профиль
Ответов -300 ,стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
-участник сейчас на форуме
-участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 17
Права: смайлыда,картинкида,шрифтыда,голосованиянет
аватарыда,автозамена ссылоквкл,премодерацияоткл,правканет