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




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


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

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

Готовится к опубликованию новая сборка №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 [только новые]


Dima
администратор




Пост N: 4360
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.12.14 23:27. Заголовок: Andrey пишет: Высла..


Andrey пишет:

 цитата:
Выслал членский взнос на развитие библиотеки


Координаты укажи.

 
https://www.youtube.com/watch?v=VVcSagzqa-g


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




Пост N: 699
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.12.14 23:53. Заголовок: Andrey пишет: Выс..


Andrey пишет:

 цитата:

Выслал членский взнос на развитие библиотеки


Благодарю за поддержку

Просто к сведению. Выпустил сегодня первую бету для следующей сборки.
Кратко, что нового:
- функции WinAPI, создающие визуальные эффекты, перенесены из примеров в ядро библиотеки.
Соответственно, добавлены следующие команды:
 цитата:

- SET WINDOW cFormName TRANSPARENT TO nAlphaBlend
- SET WINDOW cFormName [ TRANSPARENT ] TO OPAQUE
- SET WINDOW cFormName TRANSPARENT TO COLOR aColor
- FLASH WINDOW cFormName CAPTION COUNT nTimes INTERVAL nMilliseconds
- FLASH WINDOW cFormName TASKBAR COUNT nTimes INTERVAL nMilliseconds
- FLASH WINDOW cFormName [ ALL ] COUNT nTimes INTERVAL nMilliseconds
- ANIMATE WINDOW cFormName MODE nFlags INTERVAL nMilliseconds
- ANIMATE WINDOW cFormName MODE nFlags


- обновлена сборка Харбора: Пржемек добавил оптимизацию создания массивов, которая существенно уменьшает генерируемый код.
- выполнена проверка работы библиотеки с компилятором MinGW свежей версии 4.9.2,
который будет использован в следующей сборке вместо текущей версии 4.6.1;
- добавлен пример простой телефонной книги с сортировкой по группе или по имени абонента;
- обновлены два примера: Framework и утилита Sqlite browser
Пока все

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



Пост N: 200
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 16.12.14 12:11. Заголовок: каким образом можно ..


каким образом можно отблагодарить (в денежной форме) ?

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




Пост N: 700
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 16.12.14 12:27. Заголовок: Softlog86 пишет: ка..


Softlog86 пишет:

 цитата:
каким образом можно отблагодарить


Мои персональные данные (для перевода) есть у Андрея.

Также принимаю пожертвования через систему PayPal на почтовый адрес:

buran1985@gmail.com

P.S. Курс гривны к доллару на черном рынке уже 20,50
Слов нет...

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




Пост N: 3844
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.12.14 13:02. Заголовок: Dima пишет: Координ..


Dima пишет:

 цитата:
Координаты укажи.



Не знаю как у вас, а у нас в России это (перевод) просто сделать.
Идешь в любой салон сотовой связи "Связной", говоришь что нужно перевести деньги на Украину.
Говоришь ФИО кому переводишь, отдаешь деньги и получаешь чек.
Перевод идет через систему "Золотая Корона".
Отправляешь смс-ку с кодом перевода из чека и получатель может получить деньги.
Как и где получают, я не знаю, еще ни разу не получал...

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



Пост N: 5
Зарегистрирован: 07.02.13
ссылка на сообщение  Отправлено: 16.12.14 16:43. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Мои персональные данные (для перевода) есть у Андрея.



А зачем Андрею лишние телодвижения?
Тут, что то не чисто - мужики ...

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



Пост N: 201
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 18.12.14 22:33. Заголовок: Да не ..... PayPal д..


Да не ..... PayPal для меня проще ...... Лет пять уже всё покупаю через Ebay/Paypal .....


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




Пост N: 706
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 14.01.15 13:41. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил RC 3 для следующей сборки.
Финальный релиз запланирован через неделю, на день, когда Microsoft представит новую сборку Windows 10, которая

 цитата:
станет «новой главой Windows 10».



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




Пост N: 707
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.01.15 11:22. Заголовок: Новый релиз библиоте..


Новый релиз библиотеки для компилятора BCC выложил, как и обещал,
на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.4.3-setup.zip

Также доступна полная сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg243-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg243_xhb10087.zip

Благодарю за внимание

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



Пост N: 209
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 21.01.15 12:17. Заголовок: Если можно вкратце -..


Если можно вкратце - что новенького ? :)



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




Пост N: 414
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.01.15 13:29. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Новый релиз библиотеки для компилятора BCC выложил, как и обещал,
на официальном сайте библиотеки по адресу:



Григорий , СПАСИБО !

Softlog86 пишет:

 цитата:
Если можно вкратце - что новенького ? :)



2015/01/21: HMG Extended Edition 2.4.3 Published.
* Fixed: Windows problem of overlap between ToolBar with 'Bottom' clause and StatusBar.
This correction was moved to MiniGUI core from a sample (introduced
in the build 2.3.6).
* Modified: A default font size was changed to 9pt for WinVista or upper.
It is Microsoft default value of Dialog font size for above systems.
- New: Added C-function GetSystemFont() for accurately detect of
the system default font name and font size.
Added also the separate pseudo-functions GetDefaultFontName() and
GetDefaultFontSize() for convenient access to these parameters.
Note: This setting may be override with using of SET FONT TO command.
* Updated: Synchronized Extended HMG for compatibility with Official HMG:
- New: Added Visual Effects on Windows
- SET WINDOW cFormName TRANSPARENT TO nAlphaBlend
where nAlphaBlend is from 0 to 255 (completely transparent = 0, opaque = 255)
- SET WINDOW cFormName [ TRANSPARENT ] TO OPAQUE
- SET WINDOW cFormName TRANSPARENT TO COLOR aColor
(see demos in folder \samples\Advanced\Transparency)
- FLASH WINDOW cFormName CAPTION COUNT nTimes INTERVAL nMilliseconds
- FLASH WINDOW cFormName TASKBAR COUNT nTimes INTERVAL nMilliseconds
- FLASH WINDOW cFormName [ ALL ] COUNT nTimes INTERVAL nMilliseconds
(see demo in folder \samples\Advanced\FlashWindow)
- ANIMATE WINDOW cFormName MODE nFlags INTERVAL nMilliseconds
- ANIMATE WINDOW cFormName MODE nFlags
(see demo in folder \samples\Basic\AnimateWindow)
* Updated: Header file i_hmgcompat.ch for compatibility with Official HMG:
- added pseudo-functions DoEvents() and SetCursorSystem().
* Updated: Harbour function HB_SETCODEPAGE() guarded as HMG_LEGACY_OFF in Minigui core.
This obsolete function was removed in Harbour 3.0 and superseded by hb_cdpSelect().
* Updated: Added codepages setting for Dutch, Turkish and Swedish languages at minigui
initialization. It's needed for proper file system actions with national symbols.
* Updated: Minigui EXTERN list was generated automatically with using hbmk2 utility.
* Updated: HbSQLite3 library:
- update for using SQLITE3 version 3.8.8 (from 3.8.8dev).
* Updated: Harbour Compiler 3.2.0dev (SVN 2015-01-19 13:24).
* New: 'Simple Phone Book' sample.
Based upon a contribution of Dragan Cizmarevic <dragancesu(at)gmail.com>
* Updated: 'Internet Explorer ActiveX' sample:
- silent script errors at loading of the internet pages.
* Updated: 'Framework for SDI application' sample.
* Updated: 'Clipbrd Clear' sample: added an internal Clipboard Viewer.
* Updated: 'Resize It' sample.
* Updated: 'Uninstall Editor' sample.
* Updated: 'Sqlite browser' utility: minor correction.


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




Пост N: 708
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.01.15 13:46. Заголовок: Softlog86 пишет: чт..


Softlog86 пишет:

 цитата:
что новенького ?


1) исправление конфликта местоположения ToolBar с классом Bottom и статусной строки перенесено из примера в ядро библиотеки;
2) модифицировано определение имени и размера шрифта по умолчанию в зависимости от используемой OS на основе новой функции
GetSystemFont();
3) добавлены команды для создания визуальных эффектов для окон и управления их "прозрачностью";
4) добавлена установка коловой страницы при старте программы для голландского, турецкого и шведского языка в дополнение к уже имеющимся языкам. Это требуется Харбору для правильной работы с файловой системой, использующей национальные символы;
5) обновлена сборка Харбора и библиотека SQLITE3 до актуальных свежих версий;
6) добавлен один новый и обновлены некоторые старые примеры;
7) другие мелкие изменения в коде ядра.

Также для MinGW-сборки использована свежая версия С-компилятора 4.9.2, датированная декабрем 2014, которая взята на сайте
http://tdm-gcc.tdragon.net


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




Пост N: 162
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 29.01.15 10:56. Заголовок: Обычный BROWSE


Обычный BROWSE "Сильно Моргает" , наверное исполняются слишком много REFRESH ?
даже и при такой команде.

FORM_1.BROWSE_1.VALUE := FILE1->( RECNO() )

И в примерах тоже замечается при передвижении в верх и в низ курсора .

Если есть способ подавить етот еффект , поделитесь пожалуйста !

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




Пост N: 709
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.01.15 11:16. Заголовок: sashaBG пишет: Если..


sashaBG пишет:

 цитата:
Если есть способ подавить етот еффект


Да, это возможно за счет замедления перерисовки Listview путем добавления стиля LVS_EX_DOUBLEBUFFER.

#define LVS_EX_DOUBLEBUFFER 0x10000

ListView_ChangeExtendedStyle ( GetControlHandle('GridName','FormName'), LVS_EX_DOUBLEBUFFER, NIL )

где используется новая С-функция

// ListView_ChangeExtendedStyle ( hWnd, [ nAddStyle ], [ nRemoveStyle ] )
HB_FUNC( LISTVIEW_CHANGEEXTENDEDSTYLE )
{
HWND hWnd = (HWND) hb_parnl (1);
DWORD Add = (DWORD) hb_parnl (2);
DWORD Remove = (DWORD) hb_parnl (3);
DWORD OldStyle, NewStyle, Style;

OldStyle = ListView_GetExtendedListViewStyle (hWnd);
NewStyle = (OldStyle | Add) & ( ~Remove );
Style = ListView_SetExtendedListViewStyle ( hWnd, NewStyle );
hb_retnl ((LONG) Style);
}

Предупреждение. При использовании этого стиля наблюдается общее замедление работы Browse

Благодарю за Вашу поддержку



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




Пост N: 163
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 29.01.15 15:13. Заголовок: Компилятор не находит последних двух функции


Компилятор не находит последних двух функции

ListView_GetExtendedListViewStyle
ListView_SetExtendedListViewStyle


Я чегото не добавляю в проект наверно !



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




Пост N: 710
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.01.15 16:02. Заголовок: sashaBG пишет: List..


sashaBG пишет:

 цитата:
ListView_GetExtendedListViewStyle
ListView_SetExtendedListViewStyle


Это макросы, которые д.б. определены в файле bcc55\include\commctrl.h следующим образом

 цитата:
#define ListView_SetExtendedListViewStyle(w,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,0,(s))
#define ListView_GetExtendedListViewStyle(w) (DWORD)SNDMSG((w),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)


sashaBG пишет:

 цитата:
Я чегото не добавляю в проект


#include <commctrl.h>

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




Пост N: 164
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 29.01.15 19:11. Заголовок: Спасибо Григорий !


Спасибо Григорий !

Так гораздо лучше , но только BORLAND-ом через MINGW не компилируется

ccw.prg:1210:1: warning: implicit declaration of function 'ListView_GetExtendedListViewStyle' [-Wimplicit-function-declaration]
ccw.prg:1212:1: warning: implicit declaration of function 'ListView_SetExtendedListViewStyle' [-Wimplicit-function-declaration]
hbmk2: Linking... ccw.exe
.hbmk/win/mingw/ccw.o:ccw.c:(.text+0x40d): undefined reference to `ListView_GetExtendedListViewStyle'
.hbmk/win/mingw/ccw.o:ccw.c:(.text+0x41f): undefined reference to `ListView_SetExtendedListViewStyle'


Я заметил что такое моргание в более старых версий не наблюдалось например 2.3.4 , 2.3.5


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




Пост N: 4439
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.01.15 21:15. Заголовок: sashaBG в Mingw тож..


sashaBG
в Mingw тоже есть commctrl.h

gfilatov2002 пишет:

 цитата:
#define ListView_SetExtendedListViewStyle(w,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,0,(s))
#define ListView_GetExtendedListViewStyle(w) (DWORD)SNDMSG((w),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)


там это один в один

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




Пост N: 711
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.01.15 11:42. Заголовок: sashaBG пишет: Так ..


sashaBG пишет:

 цитата:
Так гораздо лучше


Ниже рабочий пример, построенный на тестовой базе с 32 полями из поставки минигуи
Скрытый текст

Как говорится, почувствуйте разницу.
Ваши комментарии приветствуются...

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




Пост N: 469
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 31.01.15 12:49. Заголовок: gfilatov2002 пишет:К..


gfilatov2002 пишет:
 цитата:
Как говорится, почувствуйте разницу


Так очень даже хорошо. А так даже Header убирать можно:
#define LVS_EX_DOUBLEBUFFER 0x10000
#define LVS_NOCOLUMNHEADER 0x00004000
...
ListView_ChangeExtendedStyle ( GetControlHandle('Browse_1','Form_1'), LVS_EX_DOUBLEBUFFER, NIL )
SetWindowStyle ( GetControlHandle('Browse_1','Form_1'), LVS_NOCOLUMNHEADER, .T. )
...
gfilatov2002


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




Пост N: 165
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 01.02.15 21:16. Заголовок: Не справился с MINGW опять !


Не справился с MINGW опять !

Пример компилируется хорошо в MiniGUI с Borland

для MINGW я использую build.bat из поставки

что то видимо надо гдето прописать пробовал добавить в строчке HBMK2 i f:\hmg\mingw\include - результат тот же


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




Пост N: 166
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 03.02.15 11:45. Заголовок: Получилось и под MINGW :)


Получилось и под MINGW !

Перенес функцию ListView_ChangeExtendedStyle

в c_browse.c , перекомпилировал библиотеку и все заработало

не знаю почему в секцию #pragma BEGINDUMP .... #pragma ENDDUMP

компилятор не понимал наличие #include <commctrl.h>

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




Пост N: 712
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.02.15 12:43. Заголовок: sashaBG Добавил сле..


sashaBG
Добавил следующую запись в текуший changelog:

 цитата:
* Enhanced: The Browse control supports the optional 'PaintDoubleBuffer'
clause. The ListView will be painted via double-buffering, which
reduces flicker considerably but a bit slows output.
Requested by Sasha Savov <savovs/at/gmail.com>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see browse6.prg in folder \samples\Basic\BROWSE_3)

и проверил работу Browse под BCC и MINGW.
Так что эта фича будет доступна в следующей сборке опционально.

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




Пост N: 3938
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.02.15 15:19. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
optional 'PaintDoubleBuffer'


А для TBROWSE тоже хотелось бы убрать мерцание при изменение размеров....
Попробуй менять размеры в примере MiniGUI\SAMPLES\Advanced\Tsb_config - сразу видно это мерцание.....

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




Пост N: 4466
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.02.15 19:46. Заголовок: MiniGui работает в п..


MiniGui работает в потоках (в MT режиме) ?

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




Пост N: 448
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 04.02.15 20:15. Заголовок: Работает :sm12: ..


Работает

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




Пост N: 4467
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.02.15 20:24. Заголовок: Haz OK. Понял...


Haz
OK. Понял.

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




Пост N: 449
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 04.02.15 20:24. Заголовок: #include "minigu..


#include "minigui.ch"
#include "common.ch"
#include "fileio.ch"
#include "hbthread.ch"


Func Main()
DEFINE WINDOW Form_0 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 200 ;
TITLE 'Hello World!' ;
MAIN ;
ON INIT {|| hb_threadDetach( hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @P1() ) )}

END WINDOW

CENTER WINDOW Form_0

ACTIVATE WINDOW Form_0

return nil


Func P1()

DEFINE WINDOW Form_1 ;
AT 100,100 ;
WIDTH 400 ;
HEIGHT 200 ;
TITLE 'Hello World! ThRead' ;
CHILD


END WINDOW


ACTIVATE WINDOW Form_1

Return nil


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




Пост N: 4468
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.02.15 20:54. Заголовок: Haz Спасибо за прим..


Haz
Спасибо за примерчик. Я наверное когда созрею , темку то отдельную создам.
У меня там 5 потоков и вывод только в одном окне , но это так , детали.

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




Пост N: 713
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.02.15 13:25. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил RC 3 для следующей сборки 2.4.4.
Финальный релиз запланирован на следующей неделе

 цитата:
  * Fixed: Splitboxed ToolBar with 'Bottom' clause and StatusBar reposition 
problem (introduced in the build 2.4.3).
Reported by Pierpaolo Martinello <pier.martinello[at]alice.it>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Enhanced: The Browse control supports the optional 'PaintDoubleBuffer'
clause. The ListView will be painted via double-buffering, which
reduces flicker considerably but a bit slows output.
Requested by Sasha Savov <savovs/at/gmail.com>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see browse6.prg in folder \samples\Basic\BROWSE_3)
* Enhanced: The GRID control supports the optional ON CHECKBOXCLICKED event
when the CHECKBOXES clause was used.
Contributed by Dr. Claudio Soto <srvet@adinet.com.uy>.
Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru>
(see demo2.prg in folder \samples\Basic\CheckBox_Grid)
* Enhanced: Added 'Increment' property for interior SPINNER at GRID control with
the COLUMNCONTROLS clause. It accepts a fourth parameter, like this:
{ 'SPINNER', 1, 20, 5 }, where 1 is low value, 20 is high value and
5 is increment (default value is 1).
Requested by Pablo Cesar at official HMG forum.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo.prg in folder \samples\Basic\Grid_3)
* Modified: Added automatic calculation of buffer size in the C-function
GetPrivateProfileString(). It is important for the proper loading of
the long strings (f.e. arrays) from an ini file.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Basic\Grid_9)
* Updated: DRAW GRAPH (no pie types) correction of a default title height and
X-axes label's width for maximum DataMask "9,999,999.99".
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Basic\Charts)
* Updated: HbSQLite3 library:
- update for using SQLITE3 version 3.8.8.2 (from 3.8.8.1).
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Advanced\SQLITE_2)
* Updated: Harbour Compiler 3.2.0dev (SVN 2015-02-11 18:48).
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(look at ReadMe.txt in folder \harbour)
* New: 'Using of a colored Grid as Achoice' sample.
Contributed by Verchenko Andrey <verchenkoag@gmail.com>
(see demo3.prg in folder \samples\Basic\Grid_4)
* New: 'Add a control on the specified Tab page at runtime' sample.
Based upon a contribution of S.Rathinagiri <srgiri@dataone.in>
(see demo2.prg in folder \samples\Basic\Tab_3)
* Updated: 'AdoRDD' sample: added 'Append' test.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Basic\ADORDD)
* Updated: 'JPG Viewer' sample: minor change.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Advanced\JpgViewer)
* Updated: 'Run Dialog Box' sample.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Applications\RunCmd)





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




Пост N: 4477
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.02.15 13:32. Заголовок: gfilatov2002 А можн..


gfilatov2002
А можно сделать что б в StatusBar можно цвет и цвет фона менять ?

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




Пост N: 3943
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.02.15 14:58. Заголовок: Dima пишет: А можно..


Dima пишет:

 цитата:
А можно сделать что б в StatusBar можно цвет и цвет фона менять ?


Присоединяюсь к пожеланию. Давно уже об этом писали....

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




Пост N: 714
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.02.15 16:35. Заголовок: Dima пишет: можно с..


Dima пишет:

 цитата:
можно сделать что б в StatusBar можно цвет и цвет фона менять ?


С помощью WinAPI надо переопределить statusbar item как самописный (ownerdraw),
послав ему собщение SendMessage( hwndSb, SB_SETTEXT, hb_BitOr( IDS_STATUSBAR, SBT_OWNERDRAW ), IDS_STATUSBAR ).

В первом приближении это может выглядеть как в примере ниже
Скрытый текст


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




Пост N: 4479
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.02.15 16:44. Заголовок: gfilatov2002 В прин..


gfilatov2002
В принципе ожидаемый ответ ;) Спасибо !
Просто хотелось что бы эта фича работала опционально

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




Пост N: 720
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.02.15 11:21. Заголовок: Новый релиз библиоте..


Новый релиз библиотеки для компилятора BCC выложил, как и обещал,
на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.4.4-setup.zip

Также доступна полная сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg244-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg244_xhb10099.zip

Что нового:
- исправление обнаруженных ошибок и неточностей кода;
- новый класс PaintDoubleBuffer для Browse;
- новое событие ON CHECKBOXCLICKED для GRID с классом CHECKBOXES;
- добавлено свойство Increment при редактировании ячейки SPINNER для GRID;
- добавлена установка индивидуальных свойств BackColor и FontColor для каждого участка StatusBar;
- обновлена библиотека SQLITE3 до финальной версии 3.8.8.2;
- обновлен компилятор Harbour 3.2.0dev;
- пересобрана Hmgs-IDE с текущей версией библиотеки;
- добавлены новые и обновлены некоторые старые примеры

Благодарю за внимание

Спасибо: 2 
Профиль
krutoff





Пост N: 168
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 25.02.15 18:24. Заголовок: У меня перестала раб..


У меня перестала работать на xHarbour команда COPY FILE - на выходе получаю файл с нулевым объемом.
Вместо этого попробовал функцию FileCopy - все проходит Ок.

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




Пост N: 4537
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.02.15 19:16. Заголовок: krutoff пишет: У ме..


krutoff пишет:

 цитата:
У меня перестала работать на xHarbour команда COPY FILE


А если эту команду юзануть в консоли то работает ?
Мне кажется Минигуи не при чем.

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




Пост N: 727
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 25.02.15 21:12. Заголовок: krutoff пишет: пере..


krutoff пишет:

 цитата:
перестала работать на xHarbour команда COPY FILE


Эту проблему в xHarbour уже исправили, начиная со сборки 10110

 цитата:
2015-02-22 11:00 UTC-0300 Luiz Rafael Culik <luiz@xharbour.com.br>
* source/rtl/copyfile.c
! minor fix for 0 byte file created



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




Пост N: 169
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 07.03.15 16:07. Заголовок: Возможно ли MiniGUI 64bit ?


Возможно ли MiniGUI 64bit ?
на примере Оригинальной HMG

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




Пост N: 736
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.03.15 12:43. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил pre-release для следующей сборки 2.4.5.
Финальный релиз запланирован на следующей неделе

 цитата:
  * Modified: Added the extended style INFOTIP at Browse and Grid definition 
by default. When a listview displays an item that is too wide for
its column the text gets truncated to fit. The Browse and Grid
controls with above style will display a hint containing the full
text when you hover the mouse over the item.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Advanced\ListViewEx)
* Enhanced: The Grid control supports the optional 'NoSortHeaders' clause.
This clause specifies that column headers do not work like buttons.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Advanced\ListViewEx)
* Enhanced: The Grid control supports the optional 'PaintDoubleBuffer' clause.
Requested by Alen Uzelac <alen@bbm.hr>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Advanced\ListViewEx)
* Enhanced: The CheckBox control supports an optional ON ENTER clause now.
Sample code:
@ 10,10 CHECKBOX CheckBox_1 CAPTION "CheckBox_1" ;
ON ENTER This.Value := !(This.Value)
allows to use the <Enter> key similar to the <Space> key for
switching of a checkbox value.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: Revised the colored status item's handling:
- Changed: using of the public _HMG_SYSDATA array was removed.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- New: Added TIMESTAMP type support (first attempt).
Contributed by Janusz Pora <januszpora@onet.eu>
- Changed: Minor correction in a handling of the GetBox 'Picture'
property at an editing.
Contributed by Igor Nazarov.
* Updated: HbSQLite3 library:
- update for using SQLITE3 version 3.8.8.3 (from 3.8.8.2).
Upgrading from the previous release is optional.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: MPM utility:
- update for compatibility with a recent change in a handling of
harbour.exe command line.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \Utils\MPM)
* Updated: Harbour Compiler 3.2.0dev (SVN 2015-03-11 16:23):
* Updated: HbSqlDD library source code (see in folder \Source\HbSqlDD);
* Updated: HbODBC library source code (see in folder \Source\HbODBC).
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(look at ReadMe.txt in folder \harbour)
* New: 'Charts SQLITE3' sample is based on 'Charts ADO' sample.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Basic\Charts_2)
* New: 'ListView with Extended styles' sample.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Advanced\ListViewEx)
* Updated: 'Show of icons from the system library shell32.dll':
- added saving of the icon resources to disk.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo2.prg in folder \samples\Basic\ExtractIcon)
* Updated: 'Simple Phone Book' sample: misc bugfix.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Applications\PHONE_BOOK)
* Updated: 'Data Base Assistant' utility: minor changes.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \Utils\DBA)


sashaBG пишет:

 цитата:
Возможно ли MiniGUI 64bit ?


В настоящий момент - нет, поскольку это требует переработки Си-кода на использование указателей вместо 32-разрядных чисел и, следовательно, длмтельного тестирования после таких серьезных изменений.
Вторая причина заключается в том, что фирма Микрософт пока обеспечивает выполнение 32-разрядных приложений в среде 64-bit, т.к.
не может игнорировать наличие сотен миллионов 32-разрядных систем в мире. Попросту говоря, 32-разрядных код будет выполняться в 64-разрядной среде, а вот наоборот - нет.
Наконец, третья причина - в том, что переход на 64-bit рельсы однозначно потребует смены Си-компилятора на бесплатный MinGW со всей его громоздкостью и уменьшением скорости сборки приложений, что бывает критично на этапе отладки, когда требуетя после небольших изменений кода быстро посмотреть результат. В этом случае по скорости сборки приложений BCC далеко впереди...

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




Пост N: 737
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.03.15 09:44. Заголовок: Новый релиз библиоте..


Новый релиз библиотеки для компилятора BCC выложил, как и обещал,
на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.4.5-setup.zip

Также доступна полная сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg245-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg245_xhb10116.zip

Благодарю за внимание

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




Пост N: 4060
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.03.15 16:31. Заголовок: Спасибо ! :sm36: *..


Спасибо !

* Updated: 'Show of icons from the system library shell32.dll':
- added saving of the icon resources to disk.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo2.prg in folder \samples\Basic\ExtractIcon)
А можно сделать запись иконок других форматов, кроме 16х16 и 32х32 ?

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




Пост N: 739
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.03.15 22:56. Заголовок: Andrey пишет: А мож..


Andrey пишет:

 цитата:
А можно сделать запись иконок других форматов


Да, думаю, что это возможно, если до этого извлечь эти иконки с помощью WinApi-функции PrivateExtractIcons()
См. описание https://msdn.microsoft.com/en-us/library/windows/desktop/ms648075(v=vs.85).aspx

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




Пост N: 4061
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.03.15 23:21. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
См. описание


Неа, я не осилю... и не сделаю...

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



Пост N: 15
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 21.03.15 08:15. Заголовок: Скажите пожалуйста -..


Скажите пожалуйста - как в MiniGUI обстоят дела с UNICODE?
каковы перспективы?

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




Пост N: 549
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.04.15 17:23. Заголовок: gfilatov2002 правил..


gfilatov2002
правильно, ли я понял, что используемые в меню image, подвисают в воздухе
(утечка памяти), т.к. на них не делаются DeleteObject(...).
c_menu.c (line 337):
HB_FUNC( MENUITEM_SETBITMAPS )
хендлеры image:
HBITMAP himage1;
HBITMAP himage2;
после LoadImage(...) не запоминаются в массивах MiniGui, чтобы освободится при
разрушении окна.
т.е. использовать main\context menu надо (лучше) без image ?
или я что то не увидел\не так понял ?


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




Пост N: 742
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.04.15 20:37. Заголовок: SergKis Вы абсолютн..


SergKis
Вы абсолютно правы.
Видимо, оригинальный автор библиотеки посчитал, что главное меню приложения существует все время работы, и будет разрушаться автоматически, когда приложение закрывается.

SergKis пишет:

 цитата:
использовать main\context menu надо (лучше) без image ?


Насколько я знаю, такой проблемы не существует при использовании MENUSTYLE EXTENDED
При использовании стандартного меню надо учитывать следующее:

 цитата:
Значки выбора и сброса отметки должны быть одноцветными. Система использует Булев оператор И (AND), чтобы комбинировать значки меню так, чтобы белая часть стала прозрачной, а черная часть становилась цветом пункта меню. Если Вы используете цветные точечные рисунки (значки), результаты могут быть непредсказуемые.



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




Пост N: 550
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.04.15 23:33. Заголовок: gfilatov2002 пишет:...


gfilatov2002 пишет:
 цитата:
... что главное меню приложения ...


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


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





Пост N: 169
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 14.04.15 11:27. Заголовок: Ошибка в xHarbour


После установки версии 2.4.5 xHarbour у меня появилась ошибка в h_tbrowse.prg.
При компиляции примера из ..\miniGui\SAMPLES\Advanced\TsBrowse\Compile.bat:

Error: Unresolved external '_HB_FUN_HB_HOUR' referenced from D:\MINIGUI\XLIB\TSBROWSE.LIB|h_tbrowse
Error: Unresolved external '_HB_FUN_HB_MINUTE' referenced from D:\MINIGUI\XLIB\TSBROWSE.LIB|h_tbrowse
Error: Unresolved external '_HB_FUN_HB_SEC' referenced from D:\MINIGUI\XLIB\TSBROWSE.LIB|h_tbrowse


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




Пост N: 743
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 14.04.15 11:37. Заголовок: krutoff пишет: появ..


krutoff пишет:

 цитата:
появилась ошибка в h_tbrowse.prg


Вы правы!
Эта ошибка уже исправлена в новой сборке, которая выйдет на следующей неделе
А пока рекомендую использовать библиотеку tsbrowse из предыдущей сборки (отличия минимальные).

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




Пост N: 574
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.04.15 19:07. Заголовок: SergKis пишет:правил..


SergKis пишет:
 цитата:
правильно, ли я понял, что используемые в меню image, подвисают в воздухе
(утечка памяти), т.к. на них не делаются DeleteObject(...).


gfilatov2002 пишет:
 цитата:
Вы абсолютно правы


для исправления ситуации предлагаю:
Скрытый текст


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




Пост N: 744
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 16.04.15 10:10. Заголовок: SergKis пишет: для ..


SergKis пишет:

 цитата:
для исправления ситуации предлагаю


Благодарю за Ваше предложение!
Я уже сделал подобные исправления для новой сборки (хотя немного упростил код с учетом того, что в качестве image2 передается пустая строка).

Текущий changelog для справки можно посмотреть ниже
Скрытый текст


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




Пост N: 745
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.04.15 10:53. Заголовок: Новый релиз библиоте..


Новый релиз библиотеки для компилятора BCC выложил, как и обещал,
на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.4.6-setup.zip

Также доступна полная сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg246-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg246_xhb10120.zip

Благодарю за внимание

P.S. Отдельная благодарность Андрею Верченко за постоянную финансовую поддержку

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




Пост N: 4128
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.04.15 12:31. Заголовок: Пере собрал нескольк..


Пере собрал несколько программ.
Полёт - нормальный...

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



Пост N: 232
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 24.04.15 16:28. Заголовок: Аналогично . Только ..


Аналогично . Только шрифт стал мельче ..... тот который по умолчанию (в GUI)



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




Пост N: 747
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.04.15 12:01. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил beta 3 для следующей сборки 2.4.7.
Финальный релиз запланирован на конец мая
Скрытый текст

Поздравляю всех с наступающими праздниками!

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




Пост N: 4153
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.05.15 18:38. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Поздравляю всех с наступающими праздниками!



Присоединяюсь ! С прошедшими праздниками и наступающим 9-мая !!!

Вопрос по ходу за одно (мож кто ответит...):
у объекта LABEL после показа можно как то поменять TOOLTIP ?


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




Пост N: 748
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.05.15 14:42. Заголовок: Andrey пишет: у объ..


Andrey пишет:

 цитата:
у объекта LABEL после показа можно как то поменять TOOLTIP ?


Попробуй

 цитата:
Form_1.Label_1.Tooltip := "New tip !"



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




Пост N: 4154
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.05.15 18:52. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Form_1.Label_1.Tooltip := "New tip !"


Не работает !

Form_1.Label_1.Tooltip := "New tip !" + CRLF + "stroka 2!"
Или в подсказке не работает CRLF ?

Определяю вначале формы, выполняется функция расчёта, пытаюсь заменить, что то меняется, но потом сообщение всё равно первоначальное !

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




Пост N: 4786
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.05.15 19:09. Заголовок: Andrey пишет: Или в..


Andrey пишет:

 цитата:
Или в подсказке не работает CRLF ?


А без него пашет ?

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




Пост N: 4155
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.05.15 20:15. Заголовок: Dima пишет: А без н..


Dima пишет:

 цитата:
А без него пашет ?


Да, сейчас проверил, пашет без него... Я сразу делал с CRLF, из-за этого и подумал что не работает...

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



Пост N: 238
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 12.05.15 13:09. Заголовок: После обновления Min..


После обновления MiniGUI обнаружил бяку :
организовываю рамку (FRAME )
а размер шрифта для CAPTION - как не меняй - всё-равно мелкий - точек примерное 3-5 в высоту .

PS: оказывается при инициализации указание высоты шрифта никак не учитывается , необходимо уже после инициализации принудительно задать : WIN1.FRAME_1.FONTSIZE:=10 ....






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




Пост N: 626
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.05.15 12:54. Заголовок: gfilatov2002 Можно ..


gfilatov2002
Можно ли добавить в TsBrowse ?
h_tbrowse.prg:
...
METHOD LButtonDown( nRowPix, nColPix, nKeyFlags ) CLASS TSBrowse // line 6485
...
 
ElseIf lFooter

lMChange := ::lMChange
::lMChange := .F.

If ::aColumns[ nAtCol ]:bFLClicked != Nil

Eval( ::aColumns[ nAtCol ]:bFLClicked, uPar1, uPar2, ::nAt , Self ) // добавить

If ::oWnd:hCtlFocus != Nil .and. ::oWnd:hCtlFocus != ::hWnd
Return 0
EndIf

EndIf

::lMChange := lMChange
::DrawFooters()

ElseIf lSpecHd .and. ::lEditableHd

lMChange := ::lMChange
::lMChange := .F.
If ::aColumns[ nAtCol ]:bSLClicked != Nil

Eval( ::aColumns[ nAtCol ]:bSLClicked, uPar1, uPar2, ::nAt , Self ) // добавить
...

при lHeader есть
Eval( ::aActions[ nAtCol ], Self, uPar1, uPar2 )
а в этих местах нет.


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




Пост N: 750
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.05.15 12:27. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно ли добавить в TsBrowse ?


Благодарю за подсказку. Уже добавил эти изменения

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




Пост N: 4179
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.05.15 12:42. Заголовок: Григорий ! А почему ..


Григорий !
А почему при использовании функции \MiniGUI\SAMPLES\Advanced\INET_CHECKER
нужно обязательно указывать библиотеку calldll ?
Если забудешь указать, программа всё равно собирается и функция IsConnected() всегда выдает F

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




Пост N: 752
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.05.15 12:54. Заголовок: Andrey пишет: функц..


Andrey пишет:

 цитата:
функции \MiniGUI\SAMPLES\Advanced\INET_CHECKER


Этот пример уже исправлен в новой сборке и больше не требует использования библиотеки calldll
Новая сборка запланирована к выходу на следующей неделе...

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




Пост N: 753
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 27.05.15 10:49. Заголовок: Новый релиз библиоте..


Новый релиз библиотеки для компилятора BCC выложил, как и обещал,
на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.4.7-setup.zip

Также доступна полная сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg247-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg247_xhb10127.zip

Благодарю за внимание

Замечание. Поскольку замутил большой проект с амерами, выход новых сборок в ближайшем будущем НЕ планируется...

Спасибо: 3 
Профиль
santy





Пост N: 328
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 27.05.15 12:35. Заголовок: Поздравляю Григорий,..


Поздравляю Григорий, а Вы переживали

Всё что делается, делается к лучшему. Удачи в новом проэкте.

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




Пост N: 4207
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.05.15 14:01. Заголовок: santy пишет: Удачи ..


santy пишет:

 цитата:
Удачи в новом проэкте.


Присоединяюсь !

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




Пост N: 4241
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.06.15 11:36. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Этот пример уже исправлен в новой сборке и больше не требует использования библиотеки calldll



Не работает !
Собрал свой пример без calldll и пишет что инет не доступен.
Подсоединил опять calldll - заработало.

Григорий, посмотрите пожалуйста ещё MODAL окно, не работают ограничивающие размеры...
Пост N: 4233 http://clipper.borda.ru/?1-1-0-00000427-000-220-0-1433857394

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




Пост N: 755
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.06.15 13:14. Заголовок: Andrey пишет: посмо..


Andrey пишет:

 цитата:
посмотрите пожалуйста ещё MODAL окно, не работают ограничивающие размеры


Посмлтрел пример в папке samples\Basic\MinMaxSize для MODAL окна - все работает нормально

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




Пост N: 756
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.06.15 13:17. Заголовок: Andrey пишет: Собра..


Andrey пишет:

 цитата:
Собрал свой пример


Речь шла о переработанном примере в папке INET_CHECKER, который сейчас не использует библиотеку calldll

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




Пост N: 4245
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.06.15 13:30. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Речь шла о переработанном примере в папке INET_CHECKER, который сейчас не использует библиотеку calldll


Понял. Спасибо !

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




Пост N: 4246
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.06.15 13:48. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Посмлтрел пример в папке samples\Basic\MinMaxSize для MODAL окна - все работает нормально


Пример работает.
Я его модифицировал немножко... ... он перестал работать ... https://cloud.mail.ru/public/7oL2/QXYYUuyyu
Что не так делаю ?

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




Пост N: 757
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.06.15 20:44. Заголовок: Andrey пишет: он пе..


Andrey пишет:

 цитата:
он перестал работать


Благодарю за пример - уже исправил старую опечатку при обработке модальных окон
До выхода новой сборки с исправлением используйте присвоение, как это сделано в примере samples\Basic\MinMaxSize

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




Пост N: 758
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 16.06.15 22:41. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил сегодня beta 3 для следующей сборки 2.4.8.
Финальный релиз запланирован на следующей неделе
Скрытый текст




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




Пост N: 4267
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.06.15 17:07. Заголовок: Григорий, подскажи п..


Григорий, подскажи пожалуйста решение для Пост N: 4257
http://clipper.borda.ru/?1-1-0-00000427-000-220-0
У меня не получается понять и примеров по нему нет, кроме 2х...

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




Пост N: 759
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.06.15 17:19. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как изменить цвета для него ?


Для этого элемента управления используются только системные цвета, которые назначаются внутри Си-кода

 цитата:
SetTextColor( pdis->hDC, GetSysColor( COLOR_WINDOWTEXT ) );
SetBkColor( pdis->hDC, GetSysColor( COLOR_WINDOW ) );


Использование пользовательских цветов не предусмотрено

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




Пост N: 4268
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.06.15 18:13. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Использование пользовательских цветов не предусмотрено


Спасибо ! Хоть легче стало...

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




Пост N: 4910
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.06.15 13:52. Заголовок: gfilatov2002 В упор..


gfilatov2002
В упор не вижу библы BosTaurus под MINGW , что делать ?

PS
Прикрутил сам.

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




Пост N: 760
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.06.15 19:47. Заголовок: Dima пишет: не вижу..


Dima пишет:

 цитата:
не вижу библы BosTaurus под MINGW , что делать ?


Все верно. Эту библиотеку под MINGW можно взять в этом форке минигуи
http://sourceforge.net/projects/hbpidew/

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




Пост N: 4911
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.06.15 21:32. Заголовок: gfilatov2002 Понял ..


gfilatov2002
Понял , не понял пока одного , для чего выкладывать обрезанную версию под MINGW если есть полная ?


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




Пост N: 762
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.06.15 23:01. Заголовок: Dima пишет: для чег..


Dima пишет:

 цитата:
для чего выкладывать обрезанную версию под MINGW


Библиотека BosTaurus является сопутствующей (не основной) для минигуи, поэтому для уменьшения установочного файла она не была включена в поставку для компилятора MINGW Добавление этой либы самостоятельно - довольно простая задача
Но если есть потребность, я могу добавить ее в поставку на постоянной основе. Пишите...

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




Пост N: 4915
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.06.15 23:15. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Но если есть потребность, я могу добавить ее в поставку на постоянной основе.


Вопрос не в этом
Я просто ожидал что сборка под BCC и MINGW будет одинакова , по меньшей мере в плане библиотек.

PS
Xharbour сборку не копал но судя по тому что она "компактная" в ней тоже нет всего того что есть в
сборке под BCC , о либах я. С примерами все ясно.

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




Пост N: 763
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.06.15 10:05. Заголовок: Новый релиз библиоте..


Новый релиз библиотеки для компилятора BCC выложил, как и обещал,
на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.4.8-setup.zip

Также доступна полная сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg248-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg248_xhb10128.zip

Благодарю за внимание

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




Пост N: 4304
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.06.15 15:54. Заголовок: Пересобрал несколько..


Пересобрал несколько проектов. Полёт нормальный !

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




Пост N: 4305
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.06.15 10:31. Заголовок: Григорий, смотрю что..


Григорий, смотрю что в новом релизе нет примера из Прием-передача данных5.7z между программами ?
Классный пример же, можно присоединить к любой программе и записывать действия пользователя или делать обмен между своими программами.

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




Пост N: 5127
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.07.15 17:09. Заголовок: gfilatov2002 METHOD..


gfilatov2002
METHOD ReSize
Для правильной установки автоширины

было
 
AEval( ::aColSizes, {|n| nTotPix += n } )


стало
 
AEval( ::aColumns, {|n| IF( n:lVisible, nTotPix += n:nWidth, nil ) } )
do events


*******************************************
Что бы курсор не мигал при достижении верхней/нижней
видимой границы бровса.

METHOD GoUp
было
 
If ! ::lHitTop

If ! ::lAppendMode
::DrawLine()
EndIf


стало
 
If ! ::lHitTop

If ! ::lAppendMode .and. ::nRowPos > 1
::DrawLine()
EndIf


METHOD GoDown
было
 

If ! ::lHitBottom

If ! ::lAppendMode .and. ! ::lIsTxt
::DrawLine()
EndIf

стало
 
If ! ::lHitBottom

If ! ::lAppendMode .and. ! ::lIsTxt .and. ::nRowPos < nLines
::DrawLine()
EndIf



Сырец c_TBrowse.c
HARBOUR HB_FUN_TSBRWSCROLL ()


было
 
rct.bottom -= ( ( rct.bottom - rct.top ) % nHeightCell );


стало
 
rct.bottom -= ( ( rct.bottom - rct.top ) % nHeightCell );

if( iRows > 0 )
rct.bottom -= nHeightCell;
else
rct.top += nHeightCell;


************************************************************
Тот же сырец.
void DrawBitmap
Что бы BMP был прозрачным в бровсе

было
 
dwRaster = SRCCOPY;


стало
 
dwRaster = SRCAND;


**********************************************************
Теперь глюк , METHOD PageUp
Поймать его сложно.
Но если (кол-во записей-1) делится на цело на кол-во строк
что помещаются на экран , то его видно.
Пролистываем несколько страниц вниз а затем жмем и держим
PageUP , глюк на лицо.


было
 
If nSkipped == 0
::lHitTop := .T.
Else

If -nSkipped < nLines

nRecNo := If( ::lIsDbf, ( ::cAlias )->( RecNo() ), ::nAt )



стало
 
If nSkipped == 0
::lHitTop := .T.
Else

If -nSkipped < nLines .or. ::nAt == 1

nRecNo := If( ::lIsDbf, ( ::cAlias )->( RecNo() ), ::nAt )


**********************************************************
правки от SergKis
добавление символьного имени колонки для возможности обращения по нему
 
TSCOLUMN
DATA cName INIT "" // Имя колонки


изменение метода GetColumn() TSBROWSE для поддержки символьного имени
METHOD GetColumn( nCol ) CLASS TSBrowse

Default nCol := 1

IF hb_IsString( nCol )
nCol := Max( AScan( ::aColumns, {|oCol| Upper(oCol:cName)==Upper(nCol) } ), 1)
RETURN ::aColumns[ nCol ] // returns a Column object
ENDIF

If nCol < 1
nCol := 1
ElseIf nCol > Len( ::aColumns )
nCol := Len( ::aColumns )
EndIf

Return ::aColumns[ nCol ] // returns a Column object

изменение метода LoadFilds() TSBROWSE для автоматического назначения имен колонок по имени поля
добавить в метод строку
ATail( ::aColumns ):cName := FieldName( nE )

изменение метода SetColSize() - для понимания символьного имени
METHOD SetColSize( nCol, nWidth ) CLASS TSBrowse

Local nI, nSize

If ValType( nCol ) == "A"
For nI := 1 To Len( nCol )
nSize := If( ValType( nWidth ) == "A", nWidth[ nI ], nWidth )
::aColumns[ nCol[ nI ] ]:nWidth := nSize
::aColSizes[ nCol[ nI ] ] := IF(::aColumns[ nCol[ nI ] ]:lVisible, ::aColumns[ nCol[ nI ] ]:nWidth, 0)
Next
Elseif ValType( nCol ) == "C"
nI := ASCAN( ::aColumns, { |oCol| UPPER( oCol:cName ) == Upper(nCol) })
::aColumns[ nI ]:nWidth := nWidth
::aColSizes[ nI ] := IF(::aColumns[ nI ]:lVisible, ::aColumns[ Ni ]:nWidth, 0)
Else
::aColumns[ nCol ]:nWidth := nWidth
::aColSizes[ nCol ] := IF(::aColumns[ nCol ]:lVisible, ::aColumns[ nCol ]:nWidth, 0)
EndIf

If ::lPainted
::Refresh( .T. )
EndIf

Return Self

*************************************************************************************************
изменение метода KeyDown()
добавиnm код перед Otherwise в основной do case чтобы по ENTER и SPACE вызывался код дабл клика мышкой
Case !::lCellbrw .And. (nKey == 13 .Or. nKey == 32 )
If ::bLDblClick != Nil
Eval( ::bLDblClick )
EndIf

Otherwise

--------------------------------------------------------------
PS
С уважением Has ,SergKis , Dima



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




Пост N: 770
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 14.07.15 21:26. Заголовок: Has ,SergKis , Dima ..


Has ,SergKis , Dima

Благодарю за эти изменения
Попробую включить эти правки в следующую сборку (под Вашу ответственность )

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




Пост N: 5128
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.07.15 21:32. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Попробую включить эти правки в следующую сборку


хуже чем было не станет , плотно тестили )))

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




Пост N: 771
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.07.15 12:31. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил сегодня RC 3 для следующей сборки 2.4.9.
Финальный релиз запланирован на следующей неделе

Dima
Не все изменения в TSBrowse были одобрены и вошли в новую сборку
Скрытый текст


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




Пост N: 5129
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.07.15 12:40. Заголовок: gfilatov2002 Понял...


gfilatov2002
Понял. По поводу починки C модуля. Смотрю этого нет.
Обратите внимание
https://cloud.mail.ru/public/HtfA/HnzaTizqW
в собранном EXE курсор при достижении верхней/нижней границы , когда ездим клавишами вверх/вниз
то есть зажали и держим. В моем EXE мерцания курсора нет. В актуальной есть.
А если колонок сделать больше то курсор будет мигать как мигалка у Гаи (© Has)

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




Пост N: 4382
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.07.15 16:08. Заголовок: Григорий, при больши..


Григорий, при больших разрешениях экрана 1680x900 ..... 1920x1080
Фонт на кнопках и еще кое где - очень мелкий. А в меню нормальный.
Можно по умолчанию увеличить фонт на большое разрешение экрана ?
Если нельзя, то и фиг с ним...
Вот так выглядит форма:


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




Пост N: 772
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.07.15 16:29. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно по умолчанию увеличить фонт на большое разрешение экрана ?


Попробуй менять размер шрифта при старте программы в зависимости от разрешения экрана
с помощью команды SET FONT TO <имя шрифта> , <размер шрифта>

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




Пост N: 4383
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.07.15 19:51. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Попробуй менять размер шрифта при старте программы


Это понятно.
Просто меню само подстраивается под разрешение, его нормально видно. А кнопки и остальные объекты нет.

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




Пост N: 5130
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.07.15 20:17. Заголовок: Andrey пишет: Прост..


Andrey пишет:

 цитата:
Просто меню само подстраивается под разрешение


Меню подстраивает сама Винда (о горизонтальном я) а не Minigui.
Нет разве ?
Ты же размер шрифта в горизонтальном меню средствами Минигуи
не сменишь ;)

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




Пост N: 773
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.07.15 20:54. Заголовок: Dima пишет: Ты же р..


Dima пишет:

 цитата:
Ты же размер шрифта в горизонтальном меню средствами Минигуи
не сменишь


В следующей сборке такая возможность появится
См. Пост N: 771 выше на этой странице

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




Пост N: 5131
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.07.15 21:23. Заголовок: gfilatov2002 Ну нак..


gfilatov2002
Ну наконец то
Давно пора.

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




Пост N: 5132
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.07.15 21:53. Заголовок: Dima пишет: Сырец c..


Dima пишет:

 цитата:
Сырец c_TBrowse.c
HARBOUR HB_FUN_TSBRWSCROLL ()

было

rct.bottom -= ( ( rct.bottom - rct.top ) % nHeightCell );

стало

rct.bottom -= ( ( rct.bottom - rct.top ) % nHeightCell );

if( iRows > 0 )
rct.bottom -= nHeightCell;
else
rct.top += nHeightCell;



Григорий я не хочу быть назойливым , просто сделайте ну скажем 100-200 колонок (не шибко широких) и курсор на всю строку
и увидите мерцание как на елочной гирлянде :)
Исключительно о езде вниз / вверх говорю (GoUP/ GoDown) при достижении видимых границ бровса нижнего
или верхнего.
Уже пол форума это увидело , что мерцать будет и после сборки RC3)))
Там лишнее скролится в окне , отсюда и мерцание.

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




Пост N: 774
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.07.15 22:53. Заголовок: Dima пишет: Исключи..


Dima пишет:

 цитата:
Исключительно о езде вниз / вверх говорю (GoUP/ GoDown) при достижении видимых границ бровса


Да, мерцание становится меньше, но обрати внимание после этого изменения на отображение восьмой колонки "без доставки" в твоем примере ниже

#include "minigui.ch" 
//#include "common.ch"
#include "TSBrowse.ch"



//REQUEST HB_CODEPAGE_RU1251, HB_CODEPAGE_RU866, HB_LANG_RUWIN
//REQUEST HB_LANG_RUWIN
//REQUEST HB_LANG_RU866

//SET CODEPAGE TO RUSSIAN
//HB_LANGSELECT( "RU" )

Proc main
Public HighWindow_MyApl:=GETDESKTOPREALHEIGHT()
Public WidthWindow_MyApl:=GETDESKTOPREALWIDTH()
Public aFont := {}

set date to german


DEFINE FONT Font_1 FONTNAME "Times New Roman" SIZE 14
DEFINE FONT Font_2 FONTNAME "Times New Roman" SIZE 11

AADD( aFont, GetFontHandle( "Font_1" ) )
AADD( aFont, GetFontHandle( "Font_2" ) )

DEFINE WINDOW MAGAZIN AT GetDesktopRealTop(),GetDesktopRealLeft() ;
WIDTH WidthWindow_MyApl ;
HEIGHT HighWindow_MyApl ;
TITLE "TEST" ;
MAIN ;
NOMAXIMIZE NOSIZE

DEFINE STATUSBAR OF MAGAZIN
STATUSITEM "1" WIDTH 0 FONTCOLOR BLACK
STATUSITEM "2" WIDTH 230 FONTCOLOR BLACK
STATUSITEM "3" WIDTH 230 FONTCOLOR BLACK
STATUSITEM "4" WIDTH 230 FONTCOLOR BLACK
DATE WIDTH 80
CLOCK WIDTH 75
KEYBOARD WIDTH 80
END STATUSBAR

//ON KEY ESCAPE OF MAGAZIN ACTION DoMethod("MAGAZIN","Release")

Magaz_po("MAGAZIN")


//ON KEY ESCAPE OF MAGAZIN ACTION DoMethod("MAGAZIN","Release")
END WINDOW
DoMethod("MAGAZIN","Activate")

return
************************
Func Magaz_po(cforma)
local i := 0
local aDatos := {}

for i := 1 to 1000
AADD( aDatos, {" ", ntoc(i), ntoc(i) + "_123", dtoc(date()),dtoc(date()),"Поставщик - " + ntoc(i), (10000-i) * i/3,str(random(100)),"0.12","123.00","Иванов",dtoc(date()),time() } )
end

public oBrw
DEFINE TBROWSE oBrw AT 17,0 ;
OF MAGAZIN WIDTH MAGAZIN.WIDTH-2*GetBorderWidth() ;
HEIGHT MAGAZIN.HEIGHT-GetTitleHeight()-GetTitleHeight() -;
GetProperty("MAGAZIN", "StatusBar", "Height") -2*GetBorderHeight();
; //ENUMERATOR нумерация колонок в header
GRID ;
FONT "Lucida Console" SIZE 12

END TBROWSE

oBrw:SetArray( aDatos,.t. )
oBrw:nWheelLines := 1
oBrw:nClrLine := COLOR_GRID
oBrw:lNoChangeOrd := TRUE
oBrw:lCellBrw := TRUE
// oBrw:lNoVScroll:= TRUE
// oBrw:lNoHScroll:= TRUE




for i := 1 To oBrw:nColCount()
oBrw:aColumns:lFixLite := TRUE
oBrw:aColumns:lEdit := TRUE
end


oBrw:nHeightCell += 6
oBrw:nHeightHead += 12
oBrw:HideColumns( 11, .T. )
oBrw:HideColumns( 12, .T. )
oBrw:HideColumns( 13, .T. )


oBrw:aColumns[ 1 ]:cHeading :="*"
oBrw:aColumns[ 1 ]:nWidth :=15

oBrw:aColumns[ 2 ]:cHeading :="№"+CRLF+"склада"
oBrw:aColumns[ 3 ]:cHeading :="№"+CRLF+"накладной"
oBrw:SetColSize( 3, 80 )


oBrw:aColumns[ 4 ]:cHeading :="накладной"
oBrw:aColumns[ 5 ]:cHeading :="оплаты"
oBrw:AddSuperHead( 4, 5, "Дата")
oBrw:aColumns[ 4 ]:nAlign :=DT_CENTER
oBrw:aColumns[ 5 ]:nAlign :=DT_CENTER
oBrw:SetColSize( 4, 80 )

oBrw:SetColSize( 5, 80 )


oBrw:aColumns[ 6 ]:cHeading :="Поставщик"
oBrw:SetColSize( 6, 200 )

oBrw:aColumns[ 7 ]:cHeading :="с доставкой"
oBrw:aColumns[ 8 ]:cHeading :="без"+CRLF+"доставки"
oBrw:aColumns[ 9 ]:cHeading :="доставки"
oBrw:aColumns[ 10 ]:cHeading :="продажная"
oBrw:SetColSize( 7, 90 )
oBrw:SetColSize( 8, 90 )
oBrw:SetColSize( 9, 90 )
oBrw:SetColSize( 10, 90 )


oBrw:aColumns[ 7 ]:nAlign :=DT_RIGHT
oBrw:aColumns[ 8 ]:nAlign :=DT_RIGHT
oBrw:aColumns[ 9 ]:nAlign :=DT_RIGHT
oBrw:aColumns[ 10 ]:nAlign :=DT_RIGHT



oBrw:AddSuperHead( 7, 10, "Сумма")

oBrw:nAdjColumn := 6


oBrw:aColumns[ 11 ]:cHeading :="пользователь"
oBrw:aColumns[ 12 ]:cHeading :="дата"
oBrw:aColumns[ 13 ]:cHeading :="время"
oBrw:AddSuperHead( 11, 13, "Создана")


oBrw:SetColor( { 1 }, { { || CLR_BLACK } },1 ) // цвет курсора

obrw:lCanSelect:=.t.


oBrw:SetColor( { 6 }, { { |a,b,c| IF( c:nCell == b, { Rgb( 66, 255, 236 ), Rgb( 111, 183, 155 ) } , { Rgb( 220, 220, 220 ), Rgb( 220, 220, 220 ) }) } } ) // фон курсора

//oBrw:ChangeFont( { |a,b,c| IF(c:nAt == c:nLogicPos(), aFont[1], aFont[2]) } ,, )
oBrw:bOnDraw := {|| MAGAZIN.Title := "Дырка: "+ntoc(GetHole())+" nRowCount():"+ntoc(obrw:nRowCount()) , oBrw:DrawFooters() }
//oBrw:nHeightHead +=Gethole()

//sTBrwHeight( oBrw )
obrw:display()

return nil
*****************************
FUNCTION sTBrwHeight( oBrw ) // уст. реальный размер TBrowse
LOCAL nHeightCell := oBrw:nHeightCell
LOCAL nHeightHead := oBrw:nHeightHead
LOCAL nHeightFoot := oBrw:nHeightFoot
LOCAL nHeightSpecHd := oBrw:nHeightSpecHd
LOCAL nHeightSuper := oBrw:nHeightSuper
LOCAL nLineStyle := oBrw:nLineStyle
LOCAL nRowHeight := oBrw:nRowCount() * nHeightCell
LOCAL nBrwH := GetwindowHeight(oBrw:hWnd)
LOCAL nDelta

nHeight := nHeightSuper + ;
nHeightHead + ;
nHeightSpecHd + ;
nRowHeight + ;
nHeightFoot +1

IF ! oBrw:lNoHScroll
nDelta := nBrwH - nHeight
IF nDelta > 0 .and. nHeightCell > nDelta
nHeight += nHeightCell - nDelta - 2
ENDIF
ENDIF

SetProperty(oBrw:cParentWnd, oBrw:cControlName, 'Height', nHeight)

RETURN nHeight

*****************
Func GetHole()
local WorkHeight := oBrw:nHeight-oBrw:nHeightHead-oBrw:nHeightSuper-;
oBrw:nHeightFoot-oBrw:nHeightSpecHd-if(!oBrw:lNoHScroll,16,0)



RETURN WorkHeight-Int(WorkHeight/oBrw:nHeightCell)*oBrw:nHeightCell

***************
#pragma BEGINDUMP

#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include "hbapi.h"

HB_FUNC (GETDESKTOPREALTOP)
{
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 );

hb_retni(rect.top);

}
HB_FUNC (GETDESKTOPREALLEFT)
{
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 );

hb_retni(rect.left);

}

HB_FUNC (GETDESKTOPREALWIDTH)
{
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 );

hb_retni(rect.right - rect.left);

}

HB_FUNC (GETDESKTOPREALHEIGHT)
{
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 );

hb_retni(rect.bottom - rect.top);
}


HB_FUNC ( FINDWINDOW )
{
hb_retnl( ( LONG ) FindWindow( 0, hb_parc( 1 ) ) );
}


#pragma ENDDUMP


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




Пост N: 5133
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.07.15 23:07. Заголовок: Но там не только это..


Но там не только это название не влезло по ширине в хидер , что без правки что с ней.
Ширину колонки можно и нужную задать. В примере это не было целью.
Но мысль я думаю Вы уже поняли.

gfilatov2002 пишет:

 цитата:
но обрати внимание после этого изменения на отображение восьмой колонки "без доставки"


Все нормально с ней. Хидер на месте да и данные в таблице. Нет ?

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




Пост N: 775
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 16.07.15 00:20. Заголовок: Dima пишет: данные..


Dima пишет:

 цитата:
данные в таблице


Нажми стрелку вниз и следи за данными в этой колонке.
Во всех строках выше нижней будет дублирование данных одной и той же ячейки.
Для устранения этой проблемы и требуется дополнительная перерисовка в текущем коде...

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




Пост N: 5134
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.07.15 08:41. Заголовок: gfilatov2002 Собрал..


gfilatov2002
Собрал этот пример. Проблемы не увидел.
Ездил долго.
Можете выложить свой EXE (этого примера) , хочу его пощупать !?
В колонке 8 стоит str(random(100)) , так что да, данные могут и дублироваться в строках.
Стоит его заменить на что то не рандомное и проблемы нет.
И все же жду EXE , если не сложно.


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




Пост N: 608
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.07.15 11:56. Заголовок: мерцание как на ело..



 цитата:
мерцание как на елочной гирлянде :)



Дополню, причина мерцания в логике алгоритма - строка с курсором постоянно перекрашивается :

Как стандартно отрабатывается :GoDown() когда курсор в последней строке.
1. Курсор в последней строке , она раскрашена в соответствии с :SetColor( {5,6} … )
2. К позиции курсора ( в последней строке ) применяется метод :DrawLine() в результате чего вся строка перекрашивается установленными цветами :SetColor( {1,2} … )
Т.е. строка курсора сменила цвет.
3. Производится вызов скрола ВСЕГО окна бровса вверх на высоту одной строки.
В этот момент строка курсора по прежнему соответствует :SetColor( {1,2} … )
4. К позиции курсора ( в последней строке ) применяется метод :DrawSelect() в результате чего вся строка перекрашивается установленными цветами :SetColor( {5,6} … )
Видим, что между 1 и 4 строка курсора МЕНЯЕТ цвет , отсюда и мигания


Как предлагается отрабатываеть :GoDown() когда курсор в последней строке.
1. Курсор в последней строке , она раскрашена в соответствии с :SetColor( {5,6} … )
2. Производится вызов скрола окна бровса БЕЗ последней строки вверх на высоту одной строки. В этот момент строка курсора по прежнему остается :SetColor( {5,6} … )
3. К строке ::nRowPos – 1 применяется метод :DrawLine() для обновления данных
4. К позиции курсора ( в последней строке ) применяется метод :DrawSelect() для обновления данных
Видим, что между 1 и 4 строка курсора НЕ МЕНЯЕТ цвет

PS при :GoUp() все зеркально



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




Пост N: 5135
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.07.15 12:13. Заголовок: Дополню , так как з..


Дополню , так как забыл о правке еще одной в методе GoDown()

было
 
If lTranspar //V90
::Paint() //V90
Else //V90
::nRowPos := nLines
::TSBrwScroll( 1 )
EndIf //V90


Стало
 
If lTranspar //V90
::Paint() //V90
Else //V90
::nRowPos := nLines
::TSBrwScroll( 1 )
::Skip(-1)
::DrawLine( ::nRowPos -1 ) // добавил 10.07.2015
::Skip(+1)
EndIf //V90



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




Пост N: 776
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 16.07.15 13:20. Заголовок: Dima пишет: забыл о..


Dima пишет:

 цитата:
забыл о правке еще одной


Эта правка решает проблему с дублированием данных в 8-й колонке при движении вниз по таблице.
Принимается с благодарностью за настойчивость

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




Пост N: 5136
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.07.15 13:25. Заголовок: gfilatov2002 Cишник..


gfilatov2002
Cишник тоже надо поправить , Has выше написал для чего.
Сорри что дергаю

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




Пост N: 777
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 16.07.15 13:56. Заголовок: Dima пишет: Cишник ..


Dima пишет:

 цитата:
Cишник тоже надо поправить


Да, уже сделал (я рассматривал эти правки а одном пакете)
Теперь все изменения выглядят в changelog так:

 цитата:
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- correction of calculation of total column width in the Method ReSize;
- minor correction in the Method GoUp;
- conspicuous reducing of cursor blinking in the Method GoDown;
- correction of a rare bug in the Method PageUp;
- used SRCAND raster in the C-function DrawBitmap();
- added handling of <Enter>/<Space> keys similar to LDblClick action;
- added the new TSColumn variable cName for optional column name.
Contributed by users from the Russian HMG forum.


Если есть замечания к этому тексту - пишите...

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




Пост N: 5137
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.07.15 15:00. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Если есть замечания к этому тексту - пишите...


Все в порядке !
Ждем RC3 (Bcc и MinGW).

ЗЫ
Будут еще полезняхи от users from the Russian HMG forum , работаем над этим ;)


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




Пост N: 762
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.07.15 15:59. Заголовок: gfilatov2002 пишет:...


gfilatov2002 пишет:
 цитата:
... - added the new TSColumn variable cName for optional column name.


Может стоит добавить метод для получения номера колонки по имени cName в TsBrowse, типа
METHOD nColumn( cName ) ...
а то получается cName есть, а добыть по нему номер колонки нет, надо городить что то дополнительно


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




Пост N: 609
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.07.15 16:37. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может стоит добавить метод для получения номера колонки по имени



Согласен

правда там весь огород в одну строку получился
METHOD nColumn( cName ) INLINE MAX( AScan( ::aColumns, {|oCol| UPPER(oCol:cName) == UPPER( cName ) } ), 1 )



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




Пост N: 763
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.07.15 22:04. Заголовок: Haz пишет:правда там..


Haz пишет:
 цитата:
правда там весь огород в одну строку получился
METHOD nColumn( cName ) INLINE MAX( AScan( ::aColumns, {|oCol| UPPER(oCol:cName) == UPPER( cName ) } ), 1 )


Огород - это когда в каждый проект сувать
FUNCTION nColumn( oBrw, cName )
RETURN MAX( AScan( oBrw:aColumns, {|oCol| UPPER(oCol:cName) == UPPER( cName ) } ), 1 )


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




Пост N: 5138
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.07.15 22:19. Заголовок: Haz пишет: + SergKis..


Haz пишет: + SergKis пишет: :)

 цитата:
правда там весь огород в одну строку получился


Действительно почему бы не добавить , мелочь а приятно да и полезно.
Вроде даже в Xbrowse FW такого нет (могу ошибаться , так как слез с него...).

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




Пост N: 610
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.07.15 11:12. Заголовок: SergKis пишет: Огор..


SergKis пишет:

 цитата:
Огород - это когда в каждый проект сувать



Да я за не хочу в каждый проект

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




Пост N: 778
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.07.15 11:21. Заголовок: Dima пишет: почему ..


Dima пишет:

 цитата:
почему бы не добавить


Добавил метод METHOD nColumn( cName ), и теперь требуется небольшой пример для проверки/демонстрации этих изменений

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




Пост N: 611
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.07.15 11:46. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
теперь требуется небольшой пример для проверки/демонстрации этих изменени



когда нужно ? сделаем !

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




Пост N: 779
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.07.15 12:09. Заголовок: Haz пишет: когда ну..


Haz пишет:

 цитата:
когда нужно ?


До понедельника терпит...

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




Пост N: 612
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.07.15 14:14. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Добавил метод METHOD nColumn( cName ),



У меня как INLINE его добавить не вышло , описал обычным вызовом

Григорий , еще дополнение

CLASS TSBROWSE
добавить переменную ( позволит ловить строку в которой курсор )
DATA lDrawSelect AS LOGICAL INIT .F.

в методе DrawSelect() ее переключать
перед
lSelected := ::lCanSelect .and. ( AScan( ::aSelected, If( ::lIsDbf, ( ::cAlias )->( RecNo() ), ::nAt ) ) ) > 0
добавить
::lDrawSelect := TRUE

перед
return Self
добавить
::lDrawSelect := FALSE

*****************************************************

Пример использование будет в примере )
oBrw:ChangeFont( { || IF(oBrw:lDrawSelect, aFont[2], aFont[1]) } ,, ) - меняем шрифт в строке курсора на жирный









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




Пост N: 780
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.07.15 14:31. Заголовок: Haz пишет: добавить..


Haz пишет:

 цитата:
добавить переменную


Принимается

Haz пишет:

 цитата:
использование будет в примере


Уже интересно

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




Пост N: 614
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.07.15 15:11. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Уже интересно



тут лежит
http://files.icq.net/get/u5MzLxXRzQVfYBkIbGxT9M55a8f0ac1be

PS Пример собран на библиотеке с учетом всех предложенных изменений

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




Пост N: 781
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.07.15 16:47. Заголовок: Haz пишет: Пример с..


Haz пишет:

 цитата:
Пример собран на библиотеке


Благодарю за пример - работает отлично!
Я его уже отформатировал и включил в новую сборку


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




Пост N: 4386
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.07.15 17:20. Заголовок: Haz пишет: Пример с..


Haz пишет:

 цитата:
Пример собран на библиотеке с учетом всех предложенных изменений


Пример КЛАССНЫЙ !

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




Пост N: 4387
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.07.15 19:21. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Я его уже отформатировал и включил в новую сборку


Наверно ОЧЕНЬ нужно бы поставить комментарии для:
oBrw:SetArray( aDatos,.t. )
oBrw:nWheelLines := 1
oBrw:nClrLine := COLOR_GRID
oBrw:lNoChangeOrd := TRUE
oBrw:lCellBrw := TRUE
oBrw:lNoVScroll := TRUE
oBrw:hBrush := CreateSolidBrush( 242, 245, 204 )

Не все же разбираются ...

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




Пост N: 5139
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.07.15 20:50. Заголовок: Andrey пишет: Навер..


Andrey пишет:

 цитата:
Наверно ОЧЕНЬ нужно бы поставить комментарии для:


А ты похоже не понял , про себя же написал ?
Мне понятно , хотя я на Минигуи без году неделя.
Has на моей памяти раз 5 указывал тебе , смотри сырец

Раз тебе лень , сделаю за тебя.......
Скрытый текст



Это только по логическим данным , остальное там же ... в сырце и нет смысла дублировать сюда.

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




Пост N: 4388
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.15 00:36. Заголовок: Dima пишет: Раз теб..


Dima пишет:

 цитата:
Раз тебе лень , сделаю за тебя


Дима, я понял. Просто другие новички не поймут.
В своих примерах я стараюсь комментировать что мне было непонятно.
Так как Григорий уже добавил этот пример к себе, то мои комментарии к этому примеру уже не пойдут.

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




Пост N: 616
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.07.15 11:09. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Я его уже отформатировал и включил в новую сборку


Григорий если не поздно/ не сложно , то еще два места дополнить которые ссылаются на номер колонки

1 Первой строкой в метод SetData() CLASS TSBROWSE добавить

nColumn := IF( Valtype( nColumn) == "C", ::nColumn( nColumn ), nColumn )


2 Первой строкой в функцию ComboWBlock CLASS TSCOLUMN добавить

nCol := IF( Valtype( nCol) == "C", oBrw:nColumn( nCol ), nCol )
и далее по коду после else условия if oBrw:lIsDbf перед If aData == Nil вставить

Else // editing an array uField is the array element number

uField := IF( Valtype( uField ) == "C", oBrw:nColumn( uField ), uField )

If aData == Nil


ЗЫ: можно конечно и не править , но при обращении по имени код получается громоздкий
oBrw:SetData( oBrw:nColumn("TEXT") , ComboWBlock( oBrw, oBrw:nColumn("TEXT") , oBrw:nColumn("TEXT") , aCombo ) )
вместо
oBrw:SetData( "TEXT" , ComboWBlock( oBrw, "TEXT" , "TEXT" , aCombo ) )

если чего еще выловлю - позже скину



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




Пост N: 782
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.07.15 11:34. Заголовок: Haz пишет: если не ..


Haz пишет:

 цитата:
если не поздно/ не сложно , то еще два места дополнить


Сделаю, конечно

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




Пост N: 766
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.07.15 11:51. Заголовок: Haz пишет:uField := ..


Haz пишет:
 цитата:
uField := IF( Valtype( uField ) == "C", oBrw:nColumn( uField ), uField )


что бы везде не писать проверку на valtype == C, может ее спрятать в саму nColumn и добавить
METHOD nColumn(xName, nDefCol)
DEFAULT nDefCol := 1
IF valtype(xName) == 'N'
RETURN iif( xName > 0 .and. xName <= Len( ::aColumns ), xName, nDefCol)
ENDIF
RETURN MAX( AScan( oBrw:aColumns, {|oCol| UPPER(oCol:cName) == UPPER( cName ) } ), nDefCol )

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




Пост N: 767
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.07.15 11:58. Заголовок: PS. правильней RETUR..


PS. правильней
RETURN MAX( AScan( oBrw:aColumns, {|oCol| UPPER(oCol:cName) == UPPER( xName ) } ), nDefCol )

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




Пост N: 618
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.07.15 12:20. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Сделаю, конечно



Григорий, еще поправочки

Метод ::HideColumn - аналогично
первой строкой
nColumn := IF( Valtype( nColumn) == "C", ::nColumn( nColumn ), nColumn )

или как предлагает Сергей - саму проверку == "С" спрятать в метод ::nColumn() т.к. таких проверок становится больше

Ранее предлагалось вот это
изменение метода LoadFilds() TSBROWSE для автоматического назначения имен колонок по имени поля
добавить в метод строку
ATail( ::aColumns ):cName := FieldName( nE )


Погонял поплотнее - работает только если находимся в текущем алиасе. Правильно будет так
ATail( ::aColumns ):cName := (::cAlias) -> ( FieldName( nE ))

в коде метода ::LoadFields место этой правки логично сразу после похожего кода который там уже есть
ATail( ::aColumns ):cData := ::cAlias + "->" + FieldName( nE )

PS: сижу не спеша старый проект переписываю под символьные имена колонок , визуально код становится значительно читабильнее


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




Пост N: 768
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.07.15 12:41. Заголовок: SergKis пишет:добави..


SergKis пишет:
 цитата:
добавить METHOD nColumn(xName, nDefCol)


Добавка для таких действий
IF oBrw:nColumn("NAME1", 0) > 0 // есть группа колонок
ELSE // нет группы колонок, добавим ...
ENDIF
вместо проверок через ascan

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




Пост N: 783
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.07.15 15:10. Заголовок: Haz пишет: Правильн..


Haz пишет:

 цитата:
Правильно будет так
ATail( ::aColumns ):cName := (::cAlias) -> ( FieldName( nE ))


Благодарю за поправку!

Haz пишет:

 цитата:
Метод ::HideColumn - аналогично


Сделал

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




Пост N: 784
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.07.15 10:48. Заголовок: Новый релиз библиоте..


Новый релиз библиотеки для компилятора BCC выложил, как и обещал,
на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.4.9-setup.zip

Также доступна полная сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg249-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg249_xhb10129.zip

Прошу отписаиться тех, кто скачает И ИСПОЛЬЗУЕТ в работе данную сборку

Благодарю за внимание

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




Пост N: 5147
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.07.15 13:20. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Прошу отписаиться тех, кто скачает И ИСПОЛЬЗУЕТ в работе данную сборку


Использую в своих тестах. Все нормально !
Спасибо за работу

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




Пост N: 769
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.07.15 14:16. Заголовок: gfilatov2002 Начал..


gfilatov2002
 
Начал переносить в свой проект и обратил внимание:
В добавленном куске KeyDown
Case !::lCellbrw .and. ( nKey == VK_RETURN .or. nKey == VK_SPACE ) .and. ::bLDblClick != Nil // 14.07.2015
Eval( ::bLDblClick )
в вызове хртелось бы уточнения, чем вызывали VK_RETURN или VK_SPACE

В METHOD LDblClick( nRowPix, nColPix, nKeyFlags ) имеем выполнение
...
ElseIf ::bLDblClick != Nil
Eval( ::bLDblClick, uPar1, uPar2, nKeyFlags )
EndIf
...
If ::bLDblClick != Nil .and. ::aActions == Nil
Eval( ::bLDblClick, uPar1, uPar2, nKeyFlags )
Else

имеем рассогласование вызова по параметрам

Просканировал h_tbrowse.prg CLASS TSBrowse на Eval(
оказалось в некоторых местах Self передается в блок кода, во многих нет.
Может есть смысл скорректировать Eval-ы, добавив self.


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




Пост N: 785
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.07.15 16:26. Заголовок: SergKis пишет: в вы..


SergKis пишет:

 цитата:
в вызове хртелось бы уточнения, чем вызывали


Добавил

 цитата:
Eval( ::bLDblClick, Nil, nKey, nFlags )


SergKis пишет:

 цитата:
имеем рассогласование вызова по параметрам


Да, верно. Но мы же смешали здесь мышку с клавиатурой
Вообще, хочу этот кусок заключить в
#ifdef __EXT_SELECTION__
...
#endif
т.е. код используется теми, кому он реально нужен...

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




Пост N: 770
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.07.15 16:57. Заголовок: gfilatov2002 пишет:Д..


gfilatov2002 пишет:
 цитата:
Добавил



 цитата:
Но мы же смешали здесь мышку с клавиатурой


мыша вызывает ::LDblClick(...), здесь клава и добавки Eval( ::bLDblClick, Nil, nKey, nFlags )
на мой взгляд достаточно.
А различить, что вызывало, надо в случае, если на DblClick и Return повешен вызов, а на space снять\поставить галочку или ничего.
А как насчет Self в eval(...) последним параметром к существующим ?
Eval( ::bLDblClick, Nil, nKey, nFlags, Self )
if nValue > 0 .AND. nValue <= Eval(::bLogicLen, Self) // JP 1.59
Eval(::bGoToPos, nValue, Self)
endif
и так далее


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




Пост N: 771
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.07.15 17:25. Заголовок: gfilatov2002 пишет:В..


gfilatov2002 пишет:
 цитата:
Вообще, хочу этот кусок заключить в
#ifdef __EXT_SELECTION__
...
#endif
т.е. код используется теми, кому он реально нужен...


на мой взгляд это лишнее. Можно поступить проще для Tsb:
1- завести DATA массив назначения клавиш
2- метод установки клавиш и блока кода в массив (аналогия set key в clipper)
3- метод добычи блока из массива установки
4- дефаультный метод (ф-ия) устанавливаемый в п. 1 в bUserKeyDown при использовании данной методики
пример (на функциях) кидал Dime (перенес из своего проекта Tsb) и где то у меня есть. Если это интересно ?
эта метода не затрагивает нынешнюю технологию работы с KeyDown


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




Пост N: 4393
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.07.15 04:26. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Прошу отписаиться тех, кто скачает И ИСПОЛЬЗУЕТ в работе данную сборку


Перешёл, и облом...
С цветами белиберда получается - пока нашёл у LABEL и TAB и DRAW LINE.
Подробности отправил в письме.

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




Пост N: 619
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 23.07.15 15:20. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Прошу отписаиться тех, кто скачает И ИСПОЛЬЗУЕТ в работе данную сборку



Григорий, пересобрал крупный проект, глюков не заметил

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




Пост N: 786
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.07.15 15:51. Заголовок: Haz пишет: глюков н..


Haz пишет:

 цитата:
глюков не заметил


Благодарю за Ваш отзыв
Начал работу над следующей сборкой 2.5.0

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




Пост N: 620
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 23.07.15 16:03. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Начал работу над следующей сборкой



Григорий , тогда в метод DelColumn(nPos) можно добавить такую же проверка на тип переменной nPos как и в HedeColumn() ?

ЗЫ Есть в tsb глюк , причину которого не могу выловить давно - если в ON CHANGe вставить вызов метода Refresh() то при скроле длинной таблицы стрелками вниз -вверх не отпуская кнопки , бровс виснет так что только через процессы задача рубится . Если периодически клавиши вверх-низ отпускать - то не виснет.
Похоже на переполнение какого нить стека комманд , но пока так и не понял куда копать



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




Пост N: 787
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.07.15 16:58. Заголовок: Haz пишет: в метод ..


Haz пишет:

 цитата:
в метод DelColumn(nPos) можно добавить такую же проверка на тип переменной nPos


Сделал

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




Пост N: 5148
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.07.15 17:14. Заголовок: Andrey пишет: С цве..


Andrey пишет:

 цитата:
С цветами белиберда получается - пока нашёл у LABEL


Синтаксис вроде ж не менялся....
Всегда можно посмотреть i_label.ch

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




Пост N: 788
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.07.15 20:27. Заголовок: Dima пишет: Синтакс..


Dima пишет:

 цитата:
Синтаксис вроде ж не менялся


В этой сборке действительно есть ошибка при отображении LABEL на цветном TABе.

Исправленный бинарник библиотеки я выложил для тестирования по адресу
http://hmgextended.com/files/MISC/minigui-lib.zip

Жду Ваших комментариев...

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




Пост N: 4396
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.07.15 01:57. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

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


Цвета пришли в норму !

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




Пост N: 789
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.07.15 10:26. Заголовок: Andrey пишет: Цвета..


Andrey пишет:

 цитата:
Цвета пришли в норму


Сделал "тихий" апдейт сборки 2.4.9 с этим исправлением

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




Пост N: 170
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 24.07.15 11:06. Заголовок: В TSBROWSE есть еще проблема с селектором


В TSBROWSE есть еще проблема с селектором !

У меня в бровсе добавляется лишняя колонка

Можно проверить ! Вот интересно в примерах например один и тот же код в TSBTEST.PRG работает правильно
(строка 547 )

DEFINE TBROWSE Brw_7 AT 0,0 CELLED ALIAS "Employee" Transparent Selector "Bitmaps\Arrow.bmp" ;
WIDTH nBrwWidth HEIGHT nBrwHeight ;
COLORS {CLR_BLACK, CLR_PINK} ;
MESSAGE "oBrw:bPrevEdit and oBrw:bPostEdit, can control the footer's value."

а в TSB_MDI.PRG (строка 692) если добавить такой селектор не работает и получается етот ефект с добавлением лишней колонки

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

Все остальное при переходе на етой сборки и меня без проблем ! СПАСИБО ГРИГОРИЙ !!!

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




Пост N: 621
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.07.15 11:12. Заголовок: sashaBG пишет: В TS..


sashaBG пишет:

 цитата:
В TSBROWSE есть еще проблема с селектором !


есть, но раз строка курсора теперь ловится легко через lDrawSelet можно прикрутить и свой селектор через дублирование первой колонки , изменения блока выборки и показа картинки в виде треугольника
Согласен это не выход, но хоть что то ))

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




Пост N: 794
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.07.15 10:08. Заголовок: Выпустил внеочередно..


Выпустил внеочередной релиз библиотеки с последними исправлениями обнаруженных ошибок

Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.5.0-setup.zip

Также доступна сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg250-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg250_xhb10130.zip

Благодарю за внимание

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




Пост N: 4419
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.07.15 16:38. Заголовок: Привет ! Опять с нов..


Привет !
Опять с новой версией беда - с ходу вылезла старая ошибка цветов. Только теперь серый цвет:


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




Пост N: 4424
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.07.15 14:04. Заголовок: Григорий, так как на..


Григорий, так как насчёт цветов в новой версии ?

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




Пост N: 796
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.07.15 14:22. Заголовок: Andrey пишет: как н..


Andrey пишет:

 цитата:
как насчёт цветов


Нужен тестовый пример, демонстрирующий проблему.

Вот мой тестовый пример ниже
Скрытый текст


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




Пост N: 4426
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.07.15 15:16. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Нужен тестовый пример, демонстрирующий проблему.


Я его уже посылал почтой - Tab_transfer6.prg !
Если потерялся, то могу заново выслать.


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




Пост N: 797
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.07.15 15:38. Заголовок: Andrey пишет: Tab_t..


Andrey пишет:

 цитата:
Tab_transfer6.prg


Этот пример нашел - вечером пробну

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




Пост N: 798
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.07.15 21:10. Заголовок: Andrey пишет: как н..


Andrey пишет:

 цитата:
как насчёт цветов в новой версии ?


Исправленный бинарник библиотеки я выложил для тестирования по адресу
http://hmgextended.com/files/MISC/minigui-lib.zip



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




Пост N: 4427
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.07.15 21:41. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Исправленный бинарник библиотеки я выложил для тестирования по адресу


Цвета заработали ! Спасибо БОЛЬШОЕ !

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




Пост N: 4429
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.08.15 00:31. Заголовок: Вот еще нашёл одну н..


Вот еще нашёл одну непонятку:


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




Пост N: 4433
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.08.15 19:38. Заголовок: sashaBG пишет: В TS..


sashaBG пишет:

 цитата:
В TSBROWSE есть еще проблема с селектором !
У меня в бровсе добавляется лишняя колонка



Тоже наткнулся на такую бяку:


Вот пример из \MiniGUI\SAMPLES\Advanced\Tsb_config - то же два селектора:


Как править то ?


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




Пост N: 5184
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.08.15 21:29. Заголовок: Andrey пишет: Тоже ..


Andrey пишет:

 цитата:
Тоже наткнулся на такую бяку:





Haz пишет:

 цитата:
есть, но раз строка курсора теперь ловится легко через lDrawSelet можно прикрутить и свой селектор через дублирование первой колонки , изменения блока выборки и показа картинки в виде треугольника
Согласен это не выход, но хоть что то ))



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




Пост N: 783
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.08.15 11:30. Заголовок: gfilatov2002 Григор..


gfilatov2002
Григорий, можно добавить в TSColumn парамметер cName в
Method New(..., cName)
Default cName := ""
и в соответствующие #command для колонок задание cName


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




Пост N: 802
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.08.15 16:08. Заголовок: SergKis пишет: можн..


SergKis пишет:

 цитата:
можно добавить в TSColumn парамметер cName


Ваша идея понятна
Присылайте готовую реализацию для проверки и включения в следующую сборку

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




Пост N: 784
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.08.15 11:50. Заголовок: gfilatov2002 пишет:П..


gfilatov2002 пишет:
 цитата:
Присылайте готовую реализацию


 
TSColumn.prg
~~~~~~~~~~~~
...
METHOD New( cHeading, bData, cPicture, aColors, aAlign, nWidth, ;
lBitMap, lEdit, bValid, lNoLite, cOrder, cFooting, ;
bPrevEdit, bPostEdit, nEditMove, lFixLite, a3DLook, ;
bWhen, oBrw, cData, cWhen, cValid, cPrevEdit, cPostEdit, cMsg, cToolTip, lTotal , ;
lSpinner, bUp, bDown, bMin, bMax, cError, cSpcHeading,;
cDefData, cName ) CLASS TSColumn
...

Default cHeading := "" , ;
bData := {|| Nil } , ;
cData := "{|| Nil }" , ;
...
lTotal := .F. , ; //V90
cName := ""

::cName := cName

If ValType( cHeading ) == "O"
::uBmpHead := cHeading
...

i_tsbrowse.ch
~~~~~~~~~~~~~
...
#command DEFINE COLUMN <oCol> ;
[ <dat: DATA, SHOWBLOCK> <uData> ] ;
...
[ <total: TOTAL, TOTALIZE> ] ;
[ NAME <name> ] ;
=> ;
<oCol> := TSColumn():New( ;
...
[<cMsg>], [ <cToolTip> ], [ <.total.> ], [ <"name"> ])
...
#command ADD [ COLUMN ] TO [ TBROWSE ] <oBrw> ;
[ <dat: DATA, SHOWBLOCK> <uData> ] ;
...
[ <total: TOTAL, TOTALIZE> ] ;
[ NAME <name> ] ;
=> ;
<oBrw>:AddColumn( TSColumn():New( ;
...
[<(bPostBlock)>], [<cMsg>], [ <cToolTip> ], [ <.total.> ], [ <"name"> ] ) )
...
#command ADD [ COLUMN ] TO [ TBROWSE ] <oBrw> [ DATA ] ARRAY ;
[ <el: ELM, ELEMENT> <elm> ] ;
...
[ <total: TOTAL, TOTALIZE> ] ;
[ NAME <name> ] ;
=> ;
<oBrw>:AddColumn( TSColumn():New( ;
...
[<cMsg>], [ <cToolTip> ], [ <.total.> ], [ <"name"> ]) )
...
#command ADD [ COLUMN ] TO [ TBROWSE ] <oBrw> [ DATA ] ;
<fi: oDBF, FIELD> [FIELD] <field> ;
...
[ <total: TOTAL, TOTALIZE> ] ;
[ NAME <name> ] ;
=> ;
<oBrw>:AddColumn( TSColumn():New( ;
...
[ <(bPrevBlock)> ], [<(bPostBlock)>], [<cMsg>], [ <cToolTip> ], [ <.total.> ], [ <"name"> ]))
...


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




Пост N: 803
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.08.15 12:53. Заголовок: SergKis Благодарю з..


SergKis
Благодарю за помощь
Принято с поправкой, что между [ <.total.> ] и [ <"name"> ] расположены еще 8 переменных

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




Пост N: 785
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.08.15 17:57. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:
 цитата:
между [ <.total.> ] и [ <"name"> ] расположены еще 8 переменных


пока выделял <"name"> bold-ом забыл про запятые.
Еще ошибочка при SpecHd, если нет Footer все хорошо, с Footer криво
 
METHOD DrawHeaders( lFooters ) CLASS TSBrowse
...
IF ::lDrawSpecHd
...
TSDrawCell( hWnd, ; // 1
hDC, ; // 2
0, ; // 3
nStartCol, ; // 4
aColSizes[nJ], ; // 5
cHeading, ; // 6
nAlign, ; // 7
nClrFore, ; // 8
nClrBackS, ; // 9
hFont, ; // 10
hBitMap, ; // 11
nHeightFoot, ; // 12 надо 0 вместо nHeightFoot
l3DLook, ; // 13
1, ; // 14 nLineStyle
nClrLine, ; // 15
4, ; // 16 1=Header 2=Footer 3=Super 4=Special
nHeightHead, ; // 17
nHeightFoot, ; // 18
nHeightSuper, ; // 19
nHeightSpecHd, ; // 20
lAdjBmp, ; // 21
.f., ; // 22
nVAlign, ; // 23
0, ; // 24 nVertText
nClrToS, ; // 25
lOpaque, ; // 26
If( lBrush, ;
nClrBackS:hBrush, 0 ), ; // 27
l3DText, ; // 28 3D text
nClr3dL, ; // 29 3D text light color
nClr3dS ) // 30 3D text shadow color


элемент // 12 надо 0 вместо nHeightFoot, тогда с прорисовкой SpecHd все Ok с Footer и без

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




Пост N: 804
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.08.15 20:20. Заголовок: SergKis пишет: элем..


SergKis пишет:

 цитата:
элемент // 12 надо 0 вместо nHeightFoot


Благодарю, уже поправил для новой сборки

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




Пост N: 786
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.08.15 09:50. Заголовок: gfilatov2002 А можн..


gfilatov2002
А можно еще немного изменений ?
 
TSColumn.prg
~~~~~~~~~~~~
...
CLASS TSColumn
...
DATA lOnGotFocusSelect AS LOGICAL INIT .F. // .T. - SendMessage( GetBoxHandle, EM_SETSEL, 0, -1 )
...
ENDCLASS

h_tbrowse.prg
~~~~~~~~~~~~~
...
#define EM_SETSEL 177
...

Function LoadFields( ControlName, ParentForm, lEdit, aFieldNames)
Local ix, oBrw
Default lEdit := .f.
ix := GetControlIndex (ControlName,ParentForm)
oBrw := _HMG_aControlIds [ix]
if ISARRAY(aFieldNames)
oBrw:aColSel := aFieldNames
endif
oBrw:LoadFields(lEdit)
Return oBrw // было Nil

Function SetArray( ControlName, ParentForm, Arr, lAutoCols, aHead, aSizes )
Local ix, oBrw
ix := GetControlIndex (ControlName,ParentForm)
oBrw:= _HMG_aControlIds [ix]
oBrw:SetArray(Arr, lAutoCols, aHead, aSizes)
Return oBrw // было Nil

...

METHOD Edit( uVar, nCell, nKey, nKeyFlags, cPicture, bValid, nClrFore, ;
...
DO CASE
CASE "TBTNBOX" $ Upper( oCol:oEdit:ClassName() )
oCol:oEdit:bLostFocus := Nil
CASE "TGETBOX" $ Upper( oCol:oEdit:ClassName() )
ix := GetControlIndex ( ::cChildControl, ::cParentWnd )
_HMG_InteractiveCloseStarted := .T.
if ix > 0
If oCol:lOnGotFocusSelect
If ValType(uValue) == "C"
_HMG_aControlGotFocusProcedure [ix] := {|| SendMessage( _HMG_aControlHandles [ix], EM_SETSEL, 0, If(empty(uValue), -1, Len(Trim(uValue))) ) }
ElseIf ValType(uValue) $ "ND"
_HMG_aControlGotFocusProcedure [ix] := {|| SendMessage( _HMG_aControlHandles [ix], EM_SETSEL, 0, -1 ) }
EndIf
EndIf

_HMG_aControlLostFocusProcedure [ix] := { | nKey | ::EditExit( nCell, nKey, uValue, bValid, .F. ) }
endif
if Empty( ::bLostFocus )
::bLostFocus := { || iif( _HMG_InteractiveCloseStarted, _HMG_InteractiveCloseStarted := .F., ) }
endif
ENDCASE
...

выделенным изменения

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




Пост N: 805
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.08.15 11:08. Заголовок: SergKis пишет: еще ..


SergKis пишет:

 цитата:
еще немного изменений


Добавлено с благодарностью

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




Пост N: 806
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.08.15 13:41. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил сегодня предварительный релиз для следующей сборки 2.5.1.
Финальный релиз запланирован на следующей неделе
Скрытый текст


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




Пост N: 787
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.08.15 15:43. Заголовок: gfilatov2002 Еще пр..


gfilatov2002
Еще предложение для TSBrowse
Method SetArray2(...) Скрытый текст

Пример. Demo.prg Скрытый текст


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




Пост N: 807
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.08.15 16:35. Заголовок: SergKis пишет: Еще ..


SergKis пишет:

 цитата:
Еще предложение для TSBrowse


В эту сборку уже не попадет
Уверен, что предложенные изменения - полезные, по два подобных метода в одном классе - это не перебор

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




Пост N: 788
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.08.15 18:34. Заголовок: gfilatov пишет:два п..


gfilatov пишет:
 цитата:
два подобных метода в одном классе - это не перебор


Можно было наследовать TSBrowse и менять, но тогда DEFINE разваливаются, SetArray внутри в методах встречается, его оставлять надо. Я сначала попытался удержаться в рамках SetArray, но не получилось (и он задействован в программах). У меня складывается впечатление, возможностей у TSBrowse много (но на низком уровне) и надо все строить, в каждом проекте, практически сначала или таскать код из проекта в проект - нет практически готовых решений- metodов (мне показалось для массива). Для работы с полями базы есть LoadField(...)+aColSel в DEFINE (еще не щупал), вот я и попытался для отчетов (по запросу) в массив, кирпичек побольше соорудить (в первую очередь ориентировался на себя, но улучшить желающие могут найтись, я надеюсь). Мое мнение, чем больше готовых, укрупненых решений - тем проще делать алгоритмы задачи, а то, что много методов (и даже похожих) - это такая мелочь (в сравнение с кодом VO тем более) - этим можно пренебречь.

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




Пост N: 808
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.08.15 20:45. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно было наследовать TSBrowse и менять, но тогда DEFINE разваливаются


Да, я тоже сначала подумал о субклассинге, но Вы убедили, что это создает другие проблемы...

SergKis пишет:

 цитата:
я и попытался для отчетов (по запросу) в массив


Тогда, может, стоит хотя бы переименовать метод в SetArrayForRep[ort]

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




Пост N: 789
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.08.15 23:12. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:
 цитата:
переименовать метод в SetArrayForRep[ort]


Да, вполне передает сущность

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




Пост N: 790
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.08.15 12:19. Заголовок: gfilatov2002 Подпра..


gfilatov2002
Подправленный вариант Method SetArray2(...) Скрытый текст

И назвать его можно SetArrayTo(...), на нем и корректировку делать можно, не только отчет

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




Пост N: 809
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.08.15 12:45. Заголовок: SergKis пишет: Подп..


SergKis пишет:

 цитата:
Подправленный вариант Method SetArray2(...)


Благодарю

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




Пост N: 810
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.08.15 10:30. Заголовок: Выпустил очередной р..


Выпустил очередной релиз библиотеки с последними исправлениями и дополнениями

Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.5.1-setup.zip

Также доступна сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg251-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg251_xhb10130.zip

Благодарю за внимание

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




Пост N: 4442
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.08.15 12:33. Заголовок: Собрал под новой вер..


Собрал под новой версией свои проги. Полёт нормальный !


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



Пост N: 268
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 14.08.15 00:03. Заголовок: Подскажите - это так..


Подскажите - это так и должно быть или лечится ?:

1) Есть форма с контролом TAB . и организовано несколько страниц PAGE . На первой странице - несколько строчек :
LABEL и кнопок BUTTONEX . При первоначальном выводе формы - некоторые контролы и LABELы не отображаются пока
мышкой не проведешь там где они должны быть нарисованы ....




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




Пост N: 811
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.08.15 22:49. Заголовок: Softlog86 пишет: эт..


Softlog86 пишет:

 цитата:
это так и должно быть или лечится ?


Нет, это не нормально
Лечится с помощью включения следующей строки в процедуру ON INIT:

 цитата:
InvalidateRect( Application.Handle, 0 )



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




Пост N: 812
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.08.15 22:50. Заголовок: SergKis пишет: наз..


SergKis пишет:

 цитата:
назвать его можно SetArrayTo(...)


Добавил этот код с небольшими изменениями в новую сборку

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





Пост N: 10
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 16.08.15 12:06. Заголовок: Уважаемый gfilatov2..


Уважаемый gfilatov2002 ...

где можно скачать полный перечень кодов по последней сборки, хотя бы с небольшим описание ...?

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




Пост N: 5223
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.08.15 12:41. Заголовок: Alex_Cher пишет: гд..


Alex_Cher пишет:

 цитата:
где можно скачать полный перечень кодов по последней сборки


Каких еще кодов ?

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




Пост N: 624
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.08.15 13:20. Заголовок: Каких еще кодов ? ч..



 цитата:
Каких еще кодов ?


чит кодов типа неубиваемая программа , монопольное владение процессором, самовосстановление при сбое и пр

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




Пост N: 5224
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.08.15 13:20. Заголовок: Haz пишет: чит кодо..


Haz пишет:

 цитата:
чит кодов


я думал коды запуска ракет надо

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




Пост N: 625
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.08.15 13:24. Заголовок: Alex_Cher пишет: гд..


Alex_Cher пишет:

 цитата:
где можно скачать полный перечень кодов по последней сборки, хотя бы с небольшим описание ...?



Исходники минигуи открыты , все в них. В сборку входят и сами сырцы

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




Пост N: 5227
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.08.15 16:47. Заголовок: gfilatov2002 Предла..


gfilatov2002
Предлагаю все WINAPI функции (работающие корректно) присутствующие только в примерах ,
прикрутить к основной библиотеке.


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




Пост N: 813
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.08.15 17:07. Заголовок: Dima пишет: все WIN..


Dima пишет:

 цитата:
все WINAPI функции ... прикрутить к основной библиотеке.


Этот подход сейчас используется в официальной сборке HMG.
И он привел к тому, что размер экзешника простого примера составляет свыше 3,5 MБ.
Подобный пример, собранный с помощью минигуи с компилятором MinGW, будет иметь размер около 2.2 MБ.
Поэтому сохранение компактного ядра библиотеки рассматривается как приоритетная задача в Минигуи.
А использование дополнительных функций из примеров рекомендуется только в случае необходимости.
Поэтому и ответ на Ваше предложение - отрицательный

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




Пост N: 5228
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.08.15 17:20. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Поэтому и ответ на Ваше предложение - отрицательный


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

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




Пост N: 797
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.08.15 21:19. Заголовок: gfilatov2002 Можно ..


gfilatov2002
Можно подправить некоторое места, добавив Self при вызове блока кода (выделено bold-ом) ?
 
METHOD KeyDown( nKey, nFlags ) CLASS TSBrowse
...
Case nKey == VK_CONTEXT .and. nFlags == 22872065
If ::bContext != Nil
Eval( ::bContext, ::nRowPos, ::nColPos, Self )
EndIf
Case !::lCellbrw .and. ( nKey == VK_RETURN .or. nKey == VK_SPACE ) .and. ::bLDblClick != Nil // 14.07.2015
Eval( ::bLDblClick, Nil, nKey, nFlags, Self ) // .08.
Otherwise
::SuperKeyDown( nKey, nFlags )
EndCase

Return 0
...

METHOD LDblClick( nRowPix, nColPix, nKeyFlags ) CLASS TSBrowse
...
#ifndef __EXT_SELECTION__
ElseIf ::lCanSelect .and. ::bUserKeys == Nil // Added 28.09.2012
::Selection()
#endif
ElseIf ::bLDblClick != Nil
Eval( ::bLDblClick, uPar1, uPar2, nKeyFlags, Self ) // .08.
EndIf

ElseIf nClickRow == 0 .and. ::lDrawHeaders .and. ! ::lNoChangeOrd // GF 1.71
If ::bLDblClick != Nil .and. ::aActions == Nil
Eval( ::bLDblClick, uPar1, uPar2, nKeyFlags, Self ) // .08.
Else
::SetOrder( ::nAtCol( nColPix, ! ::lSelector ) ) //V90
EndIf
ElseIf nClickRow == -2 .and. ::lDrawSpecHd .and. ::aColumns[ nCol ]:lEditSpec
...

METHOD RButtonDown( nRowPix, nColPix, nFlags ) CLASS TSBrowse
...
::DrawSelect()
bRClicked := If( ::aColumns[ nCol ]:bRClicked != Nil, ;
::aColumns[ nCol ]:bRClicked, ::bRClicked )

If bRClicked != Nil
Eval( bRClicked, uPar1, uPar2, ::nAt, Self ) //V90 .08.
Return 0 //V90
Else
Return 0
EndIf

ElseIf lHeader


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


Пост N: 1150
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 24.08.15 21:52. Заголовок: SergKis пишет: METH..


SergKis пишет:

 цитата:
METHOD LDblClick( nRowPix, nColPix, nKeyFlags )

SergKis пишет:

 цитата:
METHOD RButtonDown( nRowPix, nColPix, nFlags )


А тут разве не надо в параметрах Self указать?

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




Пост N: 798
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.08.15 23:54. Заголовок: PSP пишет:А тут разв..


PSP пишет:
 цитата:
А тут разве не надо в параметрах Self указать?


Нет. Метод уже принадлежит объекту Self. Это не функция. В блок кода параметром будет передана ссылка на объект TsBrowse для использования

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




Пост N: 799
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.08.15 00:01. Заголовок: SergKis пишет: Это н..


SergKis пишет:
 цитата:
Это не функция


В итоге, конечно, это статик функция, как конечная единица кода, но собственные свойства (DATA ..., METHOD ..., ....) доступны ей без параметров

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


Пост N: 1151
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 25.08.15 07:47. Заголовок: SergKis, thanks )..


SergKis, thanks )

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




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


SergKis пишет:

 цитата:
подправить некоторое места, добавив Self


Благодарю! Сделал, конечно

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




Пост N: 800
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.08.15 12:36. Заголовок: gfilatov2002 :sm36..


gfilatov2002

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




Пост N: 638
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 26.08.15 13:28. Заголовок: gfilatov2002 Григори..


gfilatov2002
Григорий , можно в класс TsBrowse добавить метод :GoToRec ( nRec ) ? А то Seek есть, Locate есть , а чтоб встать на нужную запись приходится ее или сикать или локатить

по сути это кусок из метода :expSeek() который просто отвечает за правильную прорисовку после перехода по DbSeek() , такой же кусок в методе :ExpLocate() .
Можно его продублировать как метод :GoToRec(), а можно и упростить :ExpSeek() и ExpLocate() заменив подобный код вызовом :GoToRec()

 
METHOD GoToRec( nRec ) CLASS TSBrowse
Local nRecNo, nLines

If ::lIsDbf
::Reset()
nRecNo := (::cAlias )->( RecNo() )
nLines := ::nRowCount()

::lValidating := .T.


( ::cAlias )->( DbGoto( nRec ) )

If nRecNo != ( ::cAlias )->( RecNo() ) .and. ::nLen > nLines

nRecNo := ( ::cAlias )->( RecNo() )
( ::cAlias )->( DbSkip( nLines - ::nRowPos ) )

If ( ::cAlias )->( EoF() )

Eval( ::bGoBottom )
::nRowPos := nLines
::nAt := ::nLogicPos()

While ::nRowPos > 1 .and. ( ::cAlias )->( RecNo() ) != nRecNo
::Skip( -1 )
::nRowPos --
EndDo
Else
( ::cAlias )->( DbGoTo( nRecNo ) )
::nAt := ::nLogicPos()
EndIf

::Refresh( .F. )
::ResetVScroll()

ElseIf nRecNo != ( ::cAlias )->( RecNo() )

nRecNo := ( ::cAlias )->( RecNo() )
Eval( ::bGoTop )
::nAt := ::nRowPos := 1

While nRecNo != ( ::cAlias )->( RecNo() )
::Skip( 1 )
::nRowPos ++
EndDo

::Refresh( .F. )
::ResetVScroll()

EndIf

If ::bChange != Nil
Eval( ::bChange, Self, 0 )
EndIf

::lHitTop := ::lHitBottom := .F.
end
Return .T.




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




Пост N: 820
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 26.08.15 15:35. Заголовок: Haz пишет: в класс ..


Haz пишет:

 цитата:
в класс TsBrowse добавить метод :GoToRec ( nRec )


Благодарю за помощь! Сделал

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




Пост N: 821
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 28.08.15 13:30. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил сегодня RC1 для следующей сборки 2.5.2.
Скрытый текст
Искренне балагодарен зв Вашу помощь в улучшении и развитии библиотеки TSBrowse

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




Пост N: 801
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.15 15:58. Заголовок: gfilatov2002 Обнару..


gfilatov2002
Обнаружил бяку с LoadsField(...) TsBrowse. Пример: Скрытый текст

искажаются заголовки, не беруться уст. width, picture
Исправил так: METHOD LoadFields( lEditable )
 
было

cHeading := If( ! ::aHeaders == Nil .and. Len( ::aHeaders ) >= nE, ::aHeaders[ nE ], ;
::Proper( ( ::cAlias )->( Field( nE ) ) ) )

стало

If ValType(::aHeaders) == "A" .and. ! empty(::aHeaders) .and. n <= Len( ::aHeaders ) // .08.
cHeading := ::aHeaders[ n ]
Else
cHeading := ::Proper( ( ::cAlias )->( Field( nE ) ) )
EndIf

было

nSize := If( ! aColSizes == Nil .and. Len( aColsizes ) >= nE, aColSizes[ nE ], Nil )
cType := aStru[ nE, 2 ]
If cType == "C"

стало

If ValType(::aColSizes) == "A" .and. ! empty(::aColSizes) .and. n <= Len( ::aColSizes ) // .08.
nSize := ::aColSizes[ n ]
Else
nSize := If( ! aColSizes == Nil .and. Len( aColsizes ) >= nE, aColSizes[ nE ], Nil )
EndIf

cType := aStru[ nE, 2 ]
If cType == "C"

было

nSize := Max( GetTextWidth( 0, Replicate( "B", Len( cHeading ) ), hFont ), nSize )
nSize += If( ! Empty( cOrder ), 14, 0 ) //V90
EndIf

cBlock := 'FieldWBlock("' + aStru[ nE, 1 ] + '",Select("' + ::cAlias + '"))'

стало

nSize := Max( GetTextWidth( 0, Replicate( "B", Len( cHeading ) ), hFont ), nSize )
nSize += If( ! Empty( cOrder ), 14, 0 ) //V90
EndIf

If ValType(::aFormatPic) == "A" .and. ! empty( ::aFormatPic ) .and. n <= Len( ::aFormatPic ) // .08.
cPicture := ::aFormatPic[ n ]
EndIf

cBlock := 'FieldWBlock("' + aStru[ nE, 1 ] + '",Select("' + ::cAlias + '"))'







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





Пост N: 171
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 31.08.15 12:37. Заголовок: On INIT


Григорий, наткнулся на такую проблемку.
Для ввода новой записи в полнооконном режиме я всегда делаю такой код
if isAppend; Go Bottom; Skip; endIf // Чтобы показало нулевые поля
Затем форму наполняю getBox'ами с параметром FIELD. В этом случае фома будет
универсальной для ввода/корректировки записи.
Так вот если при вводе новой записи в ON INIT переприсвоить значения getBox'ов, то ничего
не переприсваивается.
Нашел, где портится - при открытии окна идет цепочка процедур (h_windows.prg):
_ActivateWindow
_SetActivationFlag
_ProcessInitProcedure
_RefreshDataControls
И вот эта последняя процедура _RefreshDataControls присваивает значения из записи файла.
Можно ли в этой цепочке поставить _ProcessInitProcedure последней?



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




Пост N: 823
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.09.15 08:31. Заголовок: Выпустил очередной р..


Выпустил очередной релиз библиотеки.

Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.5.2-setup.zip

Также доступна сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg252-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg252_xhb10131.zip

Благодарю за внимание

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




Пост N: 649
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 02.09.15 15:42. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Выпустил очередной релиз библиотеки


пересобрал проект все норм

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




Пост N: 824
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.09.15 16:34. Заголовок: Haz Игорь, благодар..


Haz
Игорь, благодарю за подтверждение!

krutoff
Так задумано автором, и менять этот порядок вызовов нет смысла из соображений совместимости со старым кодом

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




Пост N: 813
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.09.15 12:32. Заголовок: gfilatov2002 Григор..


gfilatov2002
Григорий, поковырялся еще в вызовах блока кода TsBrowse. Можно добавть эти модификации (bold-ом) ?
 
METHOD DrawHeaders( lFooters ) CLASS TSBrowse
...
For nI := nBegin To nLastCol
...
nAlign := If( ValType( oColumn:nHAlign ) == "B", ;
Eval( oColumn:nHAlign, nJ, Self ), oColumn:nHAlign )
...
hBitMap := If( ValType( oColumn:uBmpHead ) == "B", Eval( oColumn:uBmpHead, nJ, Self ), oColumn:uBmpHead )
...
cHeading := If( Valtype( oColumn:cHeading ) == "B", Eval( oColumn:cHeading, nJ, Self ), oColumn:cHeading )
...
nClr3dL := If( ValType( nClr3dL ) == "B", Eval( nClr3dL, 0, nJ, Self ), nClr3dL )
nClr3dS := If( ValType( nClr3dS ) == "B", Eval( nClr3dS, 0, nJ, Self ), nClr3dS )
...
IF ::lDrawSpecHd
...
nAlign := If( ValType( oColumn:nSAlign ) == "B", Eval( oColumn:nSAlign, nJ, Self ), oColumn:nSAlign )
...
nClrFore := If( ValType( nClrFore ) == "B", Eval( nClrFore, nJ, Self ), nClrFore )
...
nClrBackS := If( ValType( nClrBackS ) == "B", Eval( nClrBackS, nJ, Self ), nClrBackS )
...
cHeading := If( Valtype( oColumn:cSpcHeading ) == "B", Eval( oColumn:cSpcHeading, nJ, Self ), oColumn:cSpcHeading )
...
hBitMap := If( ValType( oColumn:uBmpSpcHd ) == "B", Eval( oColumn:uBmpSpcHd, nJ, Self ), oColumn:uBmpSpcHd )
...
nClr3dL := If( ValType( nClr3dL ) == "B", Eval( nClr3dL, 0, nJ, Self ), nClr3dL )
nClr3dS := If( ValType( nClr3dS ) == "B", Eval( nClr3dS, 0, nJ, Self ), nClr3dS )
...
If ::lFooting .and. ::lDrawFooters
...
nClrFore := If( ValType( nClrFore ) == "B", Eval( nClrFore, nJ, Self ), nClrFore )
...
nClrBack := If( ValType( nClrBack ) == "B", Eval( nClrBack, nJ, Self ), nClrBack )
...
cFooting := If( Valtype( oColumn:cFooting ) == "B", Eval( oColumn:cFooting, nJ, Self ), oColumn:cFooting )
...
hBitMap := If( ValType( oColumn:uBmpFoot ) == "B", Eval( oColumn:uBmpFoot, nJ, Self ), oColumn:uBmpFoot )
...
nClr3dL := If( ValType( nClr3dL ) == "B", Eval( nClr3dL, 0, nJ, Self ), nClr3dL )
nClr3dS := If( ValType( nClr3dS ) == "B", Eval( nClr3dS, 0, nJ, Self ), nClr3dS )
...

METHOD DrawLine( xRow ) CLASS TSBrowse
...
For nI := nBegin To nLastCol
...
nAlign := If( ValType( nAlign ) == "B", Eval( nAlign, nJ, Self ), nAlign )
...
hBitMap := If( ValType( uBmpCell ) == "B", Eval( uBmpCell, nJ, Self ), uBmpCell )
...
nClr3dL := If( ValType( nClr3dL ) == "B", Eval( nClr3dL, ::nAt, nJ, Self ), nClr3dL )
nClr3dS := If( ValType( nClr3dS ) == "B", Eval( nClr3dS, ::nAt, nJ, Self ), nClr3dS )
...

METHOD DrawSelect( xRow ) CLASS TSBrowse
...
For nI := nBegin To nLastCol
...
nAlign := If( ValType( nAlign ) == "B", Eval( nAlign, nJ, Self ), nAlign )
...
hBitMap := If( ValType( uBmpCell ) == "B", Eval( uBmpCell, nJ, Self ), uBmpCell )
...
nClr3dL := If( ValType( nClr3dL ) == "B", Eval( nClr3dL, ::nAt, nJ, Self ), nClr3dL )
nClr3dS := If( ValType( nClr3dS ) == "B", Eval( nClr3dS, ::nAt, nJ, Self ), nClr3dS )
...


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




Пост N: 825
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.09.15 14:33. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно добавть эти модификации


Если очень нужно, то, конечно, сделаю...

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




Пост N: 815
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.09.15 15:22. Заголовок: gfilatov2002 пишет:Е..


gfilatov2002 пишет:
 цитата:
Если очень нужно, то, конечно, сделаю...


Дело в том, что при вызове блока кода без nJ, Sel не понятно, какая колонка прорисовывается и использование PUBLIC oBrw переменной в нем не самый лучший стиль программирования. Например cFooting := If( Valtype( oColumn:cFooting ) == "B", Eval( oColumn:cFooting, nJ, Self ), oColumn:cFooting ) без nJ требует от блока кода указания в какой колонке он используется, а если добавить колонку перед - придется править все правые блоки указывая новую позицию и это справедливо для всех указанных выше строк

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




Пост N: 816
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.09.15 16:22. Заголовок: PS. без nJ к oCol:cN..


PS. без nJ к oCol:cName не прицепиться

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




Пост N: 827
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.09.15 16:36. Заголовок: SergKis пишет: без ..


SergKis пишет:

 цитата:
без nJ к oCol:cName не прицепиться


Уже сделал эти исправления

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




Пост N: 817
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.09.15 17:08. Заголовок: gfilatov2002 Отличн..


gfilatov2002
Отлично. А что на счет поста N 801 с предыдущего листа

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




Пост N: 828
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.09.15 17:34. Заголовок: SergKis пишет: что ..


SergKis пишет:

 цитата:
что на счет поста N 801


Благодарю за напоминание
Пропустил эти исправления
Сейчас буду проверять и затем использовать

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




Пост N: 818
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.09.15 18:47. Заголовок: gfilatov2002 Еще пр..


gfilatov2002
Еще предложение, добавить в CLASS TSColumn переменную
DATA lValToCharEmpty AS LOGICAL INIT .F. // при .T. показывать пустую строку для пустых значений типа D,N,T,L после cValToChar(...) вместо 0, 0.00, / / , ...

добавив небольшой код (bold-ом)
 
METHOD DrawLine( xRow ) CLASS TSBrowse
...
//V90
If lCheck
Default ::aCheck := { StockBmp( 6 ), StockBmp( 7 )}
hBitMap := ::aCheck[ If( Upper( uData ) == "T", 1, 2 ) ]
nAlign := nMakeLong( DT_CENTER, DT_CENTER )
uData := ""
ElseIf oColumn:lValToCharEmpty .and. empty(uData)
uData := ""

EndIf
//end
...

METHOD DrawSelect( xRow ) CLASS TSBrowse
...
If lCheck //V90
Default ::aCheck := { StockBmp( 6 ), StockBmp( 7 ) }
hBitMap := ::aCheck[ If( Upper( uData ) == "T", 1, 2 ) ]
nAlign := nMakeLong( DT_CENTER, DT_CENTER )
uData := ""
ElseIf oColumn:lValToCharEmpty .and. empty(uData)
uData := ""

EndIf //end
...


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




Пост N: 829
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.09.15 21:15. Заголовок: SergKis пишет: Еще ..


SergKis пишет:

 цитата:
Еще предложение


Благодарю за помощь
Сделал, но только переименовал переменную в lEmptyValToChar

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




Пост N: 655
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 04.09.15 14:10. Заголовок: Григорий , еще право..


Григорий , еще правочка . В одном месте в блок bPrevEdit не передается обект. Остальные вызовы по коду OK

 
METHOD KeyDown( nKey, nFlags ) CLASS TSBrowse
...
...
If ::aColumns[ nCol ]:bPrevEdit != Nil

If ::lIsArr .and. ( ::lAppendMode .or. ::nAt > Len( ::aArray ) ) // append mode for arrays
Else // GF 16-05-2008
uVal := Eval( ::aColumns[ nCol ]:bData )
uVal := Eval( ::aColumns[ nCol ]:bPrevEdit, uVal, Self )
If ValType( uVal ) == "L" .and. ! uVal
Return 0
EndIf
EndIf

EndIf


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




Пост N: 830
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.09.15 15:16. Заголовок: Haz пишет: еще прав..


Haz пишет:

 цитата:
еще правочка


Благодарю за помощь!
Поправил...

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




Пост N: 820
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.09.15 16:54. Заголовок: Haz пишет:uVal := Ev..


Haz пишет:
 цитата:
uVal := Eval( ::aColumns[ nCol ]:bPrevEdit, uVal, Self )


Не знаю насколько это важно, но у себя я добавил еще параметр
Eval( ::aColumns[ nCol ]:bPrevEdit, uVal, Self, .T. ) // .T. - вызов из ::Edit(...) метода
uVal := Eval( ::aColumns[ nCol ]:bPrevEdit, uVal, Self .F. ) // .F. - вызов из ::KeyDown(...) метода





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




Пост N: 4518
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.09.15 12:14. Заголовок: Григорий, а можно в ..


Григорий, а можно в ядро библиотеки поставить 2 классные функции SergKis ?
GetClientWidth() и GetClientHeight()
Они прекрасно выдают правильные размеры объектов и пользоваться удобно.

Пример:
Скрытый текст


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




Пост N: 5274
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.09.15 12:54. Заголовок: Andrey Да функций м..


Andrey
Да функций много хороших и полезных с WINAPI , но вырастет ядро.
Вот что Григорий ответил на похожее предложение НО более глобальное


 цитата:

цитата:
все WINAPI функции ... прикрутить к основной библиотеке.

Этот подход сейчас используется в официальной сборке HMG.
И он привел к тому, что размер экзешника простого примера составляет свыше 3,5 MБ.
Подобный пример, собранный с помощью минигуи с компилятором MinGW, будет иметь размер около 2.2 MБ.
Поэтому сохранение компактного ядра библиотеки рассматривается как приоритетная задача в Минигуи.
А использование дополнительных функций из примеров рекомендуется только в случае необходимости.
Поэтому и ответ на Ваше предложение - отрицательный



ЗЫ
Проще самостоятельно затолкать все нужное в свою отдельную либу.

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




Пост N: 824
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.09.15 11:34. Заголовок: gfilatov2002 Предло..


gfilatov2002
Предложение немного поменять стоки местами:
 
METHOD EditExit(...)
...
Line: 4045
::lAppendMode := oCol:oEdit:lAppend
oCol:oEdit:Move( 1500,0 )
oCol:oEdit:End()
// oCol:oEdit := Nil было
::PostEdit( uValue, nCol, bValid )
oCol:oEdit := Nil
::oWnd:bValid := ::oGet
cMsg := If( ! Empty( oCol:cMsg ), oCol:cMsg, ::cMsg )
cMsg := If( Valtype( cMsg ) == "B", Eval( cMsg, Self, ::nCell ), cMsg )
::SetMsg( cMsg )
Return Nil
...
Line: 4091
oCol:oEdit:End()
// oCol:oEdit := Nil было
::oWnd:bValid := ::oGet
::PostEdit( uValue, nCol, bValid )
oCol:oEdit := Nil

cMsg := If( ! Empty( oCol:cMsg ), oCol:cMsg, ::cMsg )
cMsg := If( Valtype( cMsg ) == "B", Eval( cMsg, Self, ::nCell ), cMsg )
::SetMsg( cMsg )
...

Тогда в bValid из oCol:oEdit координаты ячейки видны нормальным образом (сейчас нет)

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




Пост N: 831
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 13.09.15 15:26. Заголовок: SergKis пишет: Пред..


SergKis пишет:

 цитата:
Предложение немного поменять


Принимается с благодарностью

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




Пост N: 825
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.09.15 21:18. Заголовок: gfilatov2002 Ткнулс..


gfilatov2002
Ткнулся в oCol:bExtEdit != Nil // external edition нет информации о ячейке (координаты).
Может стоит добавить такой метод в TsBrowse ?
 
METHOD GetCellSize( nCell, nRowPos ) CLASS TSBrowse
Local nI, oCol, nRow, nCol, nStartX := 0

Default nCell := ::nCell, ;
nRowPos := ::nRowPos

oCol := ::aColumns[ nCell ]

If ! oCol:lVisible
Return Nil
EndIf

If ::nFreeze > 0
For nI := 1 To Min( ::nFreeze , nCell - 1 )
nStartX += ::GetColSizes()[ nI ]
Next
EndIf

For nI := ::nColPos To nCell - 1
nStartX += ::GetColSizes()[ nI ]
Next

nRow := nRowPos - 1
nRow := ( nRow * ::nHeightCell ) + ::nHeightHead + ;
::nHeightSuper + ::nHeightSpecHd + If( oCol:l3DLook, 2, 0 )
nCol := nStartX + If( oCol:l3DLook, 2, 0 )
nWidth := ::GetColSizes()[ nCell ] - If( oCol:l3DLook, 2, 0 )
nHeight := ::nHeightCell - If( oCol:l3DLook, 1, -1 )

Return { nCol, nRow, nWidth, nHeight }


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




Пост N: 832
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 14.09.15 21:58. Заголовок: Просто к сведению. У..


Просто к сведению. Успешно портировал новый GUI-отладчик из HMG-кода в minigui-код.



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




Пост N: 662
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 14.09.15 23:00. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Успешно портировал новый GUI-отладчик


хотелось бы глянуть на него

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




Пост N: 4520
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.09.15 01:07. Заголовок: Давно хотелось такой..


Давно хотелось такой инструмент !!!

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





Пост N: 331
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 15.09.15 12:04. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Просто к сведению. Успешно портировал новый GUI-отладчик из HMG-кода в minigui-код.


Неплохо. Отладчик будет в новой версии?

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




Пост N: 833
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.09.15 14:46. Заголовок: santy пишет: Отладч..


santy пишет:

 цитата:
Отладчик будет в новой версии?


Да, в виде дополнительной библиотеки, поскольку не хочется в каждое приложение добавлять еще и ресурсы отладчика.
Если интересно, я могу выложить тестовый пример, который работает из-под отладчика

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




Пост N: 663
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.09.15 15:03. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Если интересно, я могу выложить тестовый пример,


интересно

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




Пост N: 834
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.09.15 19:51. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
я могу выложить тестовый пример


click here

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




Пост N: 664
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.09.15 10:39. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
click here


Григорий, кликнул here. Неплохо, только два вопроса вопроса.
1. Предполагается ли дальнейшее развитие ( т.к. точно есть что улучшать )
2. Закрыты или открыты исходники ? ( догадываюсь закрыты т.к. есть debugger.lib )

PS. Что к примеру можно улучшить. т.к. это GUI отладчик - то возможно это
1. получить и показать хендлы окон включая все дочерние окна формы ( label, getbox и т.д )
2. получить и показать классы дочерние окна формы ( static, button ...)
3. FindWindowText(). SetWindowText, GetWindowText, SetWindowLong() т.д.

PPS.Очень интересный проект отладчика GUI есть у А. Кресина, но год стоит на паузе. Или Александру не до него или проект остановлен т.к. в принципе функционал отладки есть

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




Пост N: 835
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 16.09.15 14:13. Заголовок: Haz пишет: Предпола..


Haz пишет:

 цитата:
Предполагается ли дальнейшее развитие


Да, автор продолжает работать над этим проектом. Вчера прислал мне последние изменения...

Haz пишет:

 цитата:
Закрыты или открыты исходники ?


Исходники полностью открыты (open source), но я продолжаю дорабатывать свой вариант, портированный для работы в минигуи

Благодарю за Ваше внимание

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




Пост N: 665
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.09.15 14:16. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Да, автор продолжает работать

gfilatov2002 пишет:

 цитата:
Исходники полностью открыты


Спасибо, обе новости хорошие

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




Пост N: 836
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 16.09.15 17:48. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил сегодня RC1 для следующей сборки 2.5.3.
Список изменений см. ниже
Скрытый текст

Искренне балагодарен зв Вашу помощь в улучшении и развитии библиотеки TSBrowse

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




Пост N: 837
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.09.15 09:50. Заголовок: Выпустил очередной р..


Выпустил очередной релиз библиотеки.

Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.5.3-setup.zip

Также доступна сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg253-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg253_xhb10134.zip

Обновление к этой версии рекомендуется для всех предыдущих сборок...

Благодарю за внимание

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




Пост N: 840
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 13.10.15 13:02. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил сегодня RC2 для следующей сборки 2.5.4.
Список изменений см. ниже
Скрытый текст

Ваши комментарии приветствуются

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




Пост N: 4535
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.10.15 16:18. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Выпустил сегодня RC2 для следующей сборки 2.5.4.


С нетерпением ждем !

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



Пост N: 1
Зарегистрирован: 20.10.15
ссылка на сообщение  Отправлено: 20.10.15 21:45. Заголовок: Hallo всем! Прошу ко..


Hallo всем!
Прошу консультации для начинающего: Скачал miniGUI, а при линковке примеров сообщает, что нет "minigui.lib". Причем реально ее в комплекте нет.
Скачивал с http://nova-mir.narod.ru/hb_ins1.html
свежий "hmg-2.5.3-setup".
Очень надеюсь на консультацию.


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




Пост N: 5314
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.10.15 22:35. Заголовок: mshep пишет: Скачив..


mshep пишет:

 цитата:
Скачивал с http://nova-mir.narod.ru/hb_ins1.html
свежий "hmg-2.5.3-setup".


Нормальные сборки в теме выше.

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




Пост N: 680
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.10.15 22:37. Заголовок: mshep пишет: Скачив..


mshep пишет:

 цитата:
Скачивал с http://nova-mir.narod.ru/hb_ins1.html


Скачивай с этой ветки форума. работает сразу

PS. Dima перебрось плиз эти сообщения в ветку примеров MiniGui.
Опередил таки

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




Пост N: 841
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.10.15 10:35. Заголовок: Выпустил сегодня оче..


Выпустил сегодня очередной релиз библиотеки.

Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.5.4-setup.zip

Также доступна сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg254-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg254_xhb10137.zip

Благодарю за внимание

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





Пост N: 14
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 21.10.15 12:58. Заголовок: Уважаемый gfilatov2..


Уважаемый gfilatov2002,


 цитата:
Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.5.4-setup.zip



начиная с версии 2.5.3 в файле MiniGUI.chm "WIN32-GUI Library For (x)Harbour" не работает функция поиска, конечно мелочь, но очень не удобно ...

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




Пост N: 4542
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.10.15 18:40. Заголовок: Alex_Cher пишет: на..


Alex_Cher пишет:

 цитата:
начиная с версии 2.5.3 в файле MiniGUI.chm "WIN32-GUI Library For (x)Harbour" не работает функция поиска, конечно мелочь, но очень не удобно ...


Да, да, не работает. А я думал что у меня только сбоит.
Только поиск еще раньше не работал, в предыдущих версиях...

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




Пост N: 4543
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.10.15 19:15. Заголовок: Тестирую новую верси..


Тестирую новую версию. Пример \SAMPLES\Advanced\VOLUME_INFO\DEMO2.exe - не работает:


Система Win8.1 Проф. Права Админа.

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




Пост N: 681
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.10.15 21:22. Заголовок: Andrey пишет: не р..


Andrey пишет:

 цитата:
не работает:


Andrey пишет:

 цитата:
Права Админа.



Раз есть права админа , присвой метку тома для диска С . В примере проверяется именно она
If !Empty( aInfo[1] )

...
aInfo[1] := sz2Str( lpVolName ) 


и если метка не задана - выдается это окно.
 IF(Empty(cInfo), MsgStop( "Error!" ), MsgInfo( cInfo )) 

но это не сообщение об ошибке программы
PS что именно не работает ?

PPS Для наглядности программы проверку условия лучше все же заменить на
If  aInfo[1] <> NIL 

тогда и при пустой метке будет вывод корректной информации о диске

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




Пост N: 5317
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.10.15 21:46. Заголовок: Haz пишет: Раз есть..


Haz пишет:

 цитата:
Раз есть права админа , присвой метку тома для диска С


Думаешь у него диск без метки ? :)
"Территорию" нужно метить ))


PS
Новую не тестил версию , но в предыдущей все нормально (Win7)

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




Пост N: 682
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.10.15 21:55. Заголовок: Dima пишет: Думаешь..


Dima пишет:

 цитата:
Думаешь у него диск без метки ? :)


уверен , судя по коду программы территория не помечена

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




Пост N: 4544
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.10.15 09:54. Заголовок: Haz пишет: уверен ,..


Haz пишет:

 цитата:
уверен , судя по коду программы территория не помечена



Пример \SAMPLES\Advanced\VOLUME_INFO\DEMO.exe


Что выдаёт пример \SAMPLES\Advanced\VOLUME_INFO\DEMO2.exe - написал выше.
Что заметил, то и написал. Это было и в предыдущих версиях.
Метки на диске нет - в проводнике пишется "Локальный диск (С:)"

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





Пост N: 15
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 22.10.15 09:54. Заголовок: cInfo += "Serial..


cInfo += "Serial Number :" + TAB + I2Hex( nSerNum / 65535 ) + "-" + I2Hex( nSerNum )

.. я понимаю что это серийный номер HDD, почему на некоторых компах число nSerNum отрицательное ?

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




Пост N: 842
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.10.15 10:13. Заголовок: Andrey пишет: Метки..


Andrey пишет:

 цитата:
Метки на диске нет


Простая замена

 цитата:
If !Empty( aInfo[ 1 ] )

на

 цитата:
If !Empty( aInfo[ 2 ] )


должна решить эту проблему

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




Пост N: 683
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 22.10.15 10:57. Заголовок: Andrey пишет: Что з..


Andrey пишет:

 цитата:
Что заметил, то и написал.


Андрей , все правильно сделал но еще правильнее было бы указать причину и решение
Раз уж нашел косячек и разобрался почему - кинь суда решение. Так и Григорию проще править будет
и он больше времени потратит на новый функционал , а не на исправление старых примеров.

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




Пост N: 4545
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.10.15 13:09. Заголовок: Haz пишет: но еще п..


Haz пишет:

 цитата:
но еще правильнее было бы указать причину и решение


Понял.

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



Пост N: 2
Зарегистрирован: 20.10.15
ссылка на сообщение  Отправлено: 23.10.15 13:40. Заголовок: Haz пишет: Скачивай..


Haz пишет:

 цитата:
Скачивай с этой ветки форума. работает сразу


Пасибки.....

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





Пост N: 172
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 28.10.15 12:28. Заголовок: VIRTUAL WINDOWTYPE PANEL


Кто-нибудь работал с виртуальными окнами?
У меня никак не работает VALID в GETBOX внутри такого окна.
Может кто уже натыкался на эти грабли?

Для примера воткнул в miniGui\Samples\BASIC\CONTAINERS\Panel\demo1.prg
строку вместо TEXT_4:

1. Если вставлять через DEFINE то выдет ошибку: "Error MGERROR/0 Control: Of Win_2 Not defined. Program terminated."
2. Если вставить: @ 210,10 GETBOX TEXT_4 VALUE 7 VALID This.Value>5 VALIDMESSAGE 'Value > 5'
- в этом случае любое значение проглатывает (пускал VALID через функцию - туда не попадает)




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





Пост N: 173
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 28.10.15 17:01. Заголовок: Еще один момент: Г..


Еще один момент:

Григорий, я тут нарыл одну ошибку, которая мне мешает.
В файле miniGui\SOURCE\h_controlmisc.prg есть функция FUNCTION _GetControlFree(),
которая (как я понял) при создании контрола находит в массиве удаленных контролов свободный элемент.
Если такой не находится - создается новый элемент и присваиваются все свойства.
Но свойство _HMG_StopControlEventProcedure в старом( найденом) элементе(в отличие от нового)
не переприсваивается.
Например - если выполнить по какому-то контролу StopControlEventProcedure, закрыть
форму, а потом ее снова создать, то нарываюсь на то что, все события по этому контролу уже отключены.

Предлагаю в конце процедуры _GetControlFree() перед оператором ENDIF вставить:
ELSE
_HMG_StopControlEventProcedure[k] := .F.

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




Пост N: 844
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 28.10.15 17:45. Заголовок: krutoff пишет: если..


krutoff пишет:

 цитата:
если выполнить по какому-то контролу StopControlEventProcedure, закрыть
форму, а потом ее снова создать, то нарываюсь на то что, все события по этому контролу уже отключены.


Пример - в студию

krutoff пишет:

 цитата:
_HMG_StopControlEventProcedure[k] := .F.


Это делается в функции _EraseControl()

 цитата:
#ifdef _HMG_COMPAT_ 
IF Type( '_HMG_SYSDATA[443][ i ]' ) != 'U'
_HMG_StopControlEventProcedure [ i ] := .F.
ENDIF
#endif



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





Пост N: 174
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 29.10.15 11:41. Заголовок: //Пример - в студию:..


//Пример - в студию: После 2-го вызова Формы2 событие On Lostfocus в Text_1 не вызывается
//(Еще момент: что при редактировании Титул Формы 2 становится неактивным и приходится 2 раза щелкать при закрытии в первом старте)

#include "minigui.ch"

Function Main
DEFINE WINDOW Form_1 AT 0,0 WIDTH 200 HEIGHT 200 TITLE 'StopControlEventProcedure';
MAIN FONT 'Arial' SIZE 10
@ 70,50 BUTTON runBtn CAPTION 'Вызов Формы 2' ACTION DoForm2()
END WINDOW
ACTIVATE WINDOW Form_1
RETURN Nil
*--------------------------------------------------------------------------
Function DoForm2()
DEFINE WINDOW Form_2 AT 100,100 WIDTH 200 HEIGHT 200 TITLE 'Form 2' MODAL ;
ON RELEASE StopControlEventProcedure("Text_1", "Split_1",.T.)
DEFINE SPLITBOX

DEFINE WINDOW Split_1 WIDTH 180 HEIGHT 180 ;
VIRTUAL WIDTH 200 VIRTUAL HEIGHT 200 ;
SPLITCHILD NOCAPTION

@ 20,20 TEXTBOX Text_1 VALUE 'Text_1' ON LOSTFOCUS msgInfo('LOSTFOCUS Text_1')
@120,20 TEXTBOX Text_2 VALUE 'Text_2'

END WINDOW

END SPLITBOX
END WINDOW
ACTIVATE WINDOW Form_2
Return Nil

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




Пост N: 845
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.10.15 13:46. Заголовок: krutoff пишет: Посл..


krutoff пишет:

 цитата:
После 2-го вызова Формы2 событие On Lostfocus в Text_1 не вызывается


Да, все так... Поправлю, конечно

krutoff пишет:

 цитата:
при редактировании Титул Формы 2 становится неактивным


Думаю, что это нормально, поскольку в этой форме содержится еще одно дочернее окно Split_1 в родительском окне Form_2

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





Пост N: 175
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 29.10.15 16:47. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Думаю, что это нормально, поскольку в этой форме содержится еще одно дочернее окно Split_1 в родительском окне Form_2


Спасибо, Григорий! Да, я тоже понимаю, что алгоритмически - это нормально, но визуально как бы находишься в активном окне...

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



Пост N: 21
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 06.11.15 13:54. Заголовок: VIRTUAL WINDOWTYPE PANEL


здравствуйте
у меня тоже вопрос по samples\basic\containers\panel (MiniGUI 2.4)
пытался использовать typewindow panel с virtual height как в том примере
но прокрутка (колесиком мыши) не работала
путем проб установил - прокрутка начинает работать, если в это окно поместить button, иначе - не работает
можно конечно поместить там button с нулевыми размерами, но все же...

и второе - если нажать мышью на стрелку вверх, то выполняется прокрутка окна (panel), хотя ползунок уже находится в самой верхней позиции
подскажите пожалуйста - как можно от этого избавиться?

пример ниже

Скрытый текст


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




Пост N: 846
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.11.15 15:05. Заголовок: alexandr11 пишет: е..


alexandr11 пишет:

 цитата:
если нажать мышью на стрелку вверх, то выполняется прокрутка окна (panel), хотя ползунок уже находится в самой верхней позиции


Поправил эту бяку для вертикального и горизонтального сдвигов.
Благодарю за наглядный пример


 цитата:
как можно от этого избавиться?


Ждите ноябрьскую сборку в конце месяца...

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



Пост N: 22
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 06.11.15 16:15. Заголовок: Поправил эту бяку ..



 цитата:

Поправил эту бяку



спасибо, Григорий

а что с первой бякой (не работает прокрутка)?

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




Пост N: 847
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.11.15 17:53. Заголовок: alexandr11 Мне каже..


alexandr11
Мне кажется, что тут дело в том, что LABEL - это статический элемент управления.
Поставьте в это окно вторым номером, например, CHECBOX, и прокрутка заработает

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





Пост N: 176
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 07.11.15 13:46. Заголовок: IMAGE


Столкнулся с тем, что контрол IMAGE показывает файл ICO только, если указать полное название файла (допустим "user.ico"),
а если указать ICO в файле ресурсов .RC - то IMAGE его не покажет.

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




Пост N: 849
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.11.15 14:43. Заголовок: krutoff пишет: конт..


krutoff пишет:

 цитата:
контрол IMAGE показывает файл ICO


Дело в том, что библиотека GDIPlus, которая сейчас используется как движок в элементе управления IMAGE, не дружит с ICO и CUR ресурсами.
По зато отображает PNG и TIF картинки.
Поэтому для показа на форме ICO файлов/ресурсов рекомендую использовать функцию DrawIcon( hWnd, w, h, hIcon ), примеры использования которой есть в папке minigui\samples.

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



Пост N: 23
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 09.11.15 12:01. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Мне кажется, что тут дело в том, что LABEL - это статический элемент управления



спасибо, Григорий

я тоже так подумал

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



Пост N: 24
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 09.11.15 14:15. Заголовок: VIRTUAL WINDOWTYPE PANEL


возник еще один вопрос на эту тему
я объявляю окно PANEL со свойствами HEIGHT 100, VIRTUAL HEIGHT 3000
затем (уже во время выполнения программы) увеличиваю HEIGHT (по нажатию кнопки)
и получается, что VIRTUAL HEIGHT становится более 3000 (понимаю это по содержимому окна)

как с этим бороться?
помогите пожалуйста

пример ниже

Скрытый текст


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




Пост N: 850
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.11.15 15:15. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил сегодня RC2 для следующей сборки 2.5.5.
Список изменений см. ниже
Скрытый текст

Ваши комментарии приветствуются...

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




Пост N: 4571
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.11.15 17:15. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Ваши комментарии приветствуются...


Забыл про Tsb_config - версия 1.2 !

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




Пост N: 851
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.11.15 18:48. Заголовок: Andrey пишет: Забыл..


Andrey пишет:

 цитата:
Забыл про Tsb_config - версия 1.2


Нет, не забыл
Но оставил в примерах версию 1.0 (как более простую) с учетом предложенных исправлений

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




Пост N: 853
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.11.15 09:34. Заголовок: Выпустил сегодня оче..


Выпустил сегодня очередной релиз библиотеки.

Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-2.5.5-setup.zip

Также доступна сборка для компилятора MinGW по адресу:

http://hmgextended.com/files/CONTRIB/hmg255-mingw.exe

и компактный архив для свежей версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg255_xhb10138.zip

Благодарю за внимание

Примечание. Небольшое дополнение к файлу изменений этой сборки:

 цитата:
* New: Draw Icon command with the transparent support.
Syntax:
DRAW ICON IN WINDOW <windowname> AT <row>,<col> ;
PICTURE <filename> ;
[ WIDTH <w> ] ;
[ HEIGHT <h> ] ;
[ COLOR <rgb> ] ;
[ <transparent: TRANSPARENT> ]
Requested by Verchenko Andrey <verchenkoag@gmail.com>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Applications\UPXshell)
Note: It is an experimental feature.


Также для компилятора MinGW добвлена следующая настройка для совместимости с BCC:
ldflags=-Wl,--allow-multiple-definition


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




Пост N: 4579
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.11.15 16:56. Заголовок: Пропустил новую верс..


Пропустил новую версию...

gfilatov2002 пишет:

 цитата:
Note: It is an experimental feature.


А когда будет постоянной версией ?


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




Пост N: 854
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.11.15 17:18. Заголовок: Andrey пишет: когда..


Andrey пишет:

 цитата:
когда будет постоянной


После подтверждения от пользователей, что все работает нормально
Обычно это может занимать до 3-х месяцев

Кстати, сейчас занимаюсь портированием сборки на 64-битные рельсы
Для этого пришлось пересматривать ВЕСЬ сишный код (кроме 2-х модулей),
исправлять найденный опечатки и оптимизировать код...
В качестве 64-битного компилятора использую MinGW версии 4.8.1
Требуются тестировщики

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




Пост N: 171
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 19.11.15 23:00. Заголовок: Я записываюсь


Я записываюсь . Сейчас есть немного времени и WINDOWS 10 64bit .
Григорий , посылайте когда будет материал для тестирования . можно на office@almaleto.com

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





Пост N: 333
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 20.11.15 00:08. Заголовок: Григорий, если будет..


Григорий, если будет готовый вариант, присылайте -> lex26@ukr.net.

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




Пост N: 855
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.11.15 13:53. Заголовок: santy пишет: если ..


santy пишет:

 цитата:
если будет готовый вариант, присылайте


Благодарю за отклик!
В ближайшее время я подготовлю первую бету Minigui 64 для тестирования и пришлю ссылку на нее всем, кто заинтересовался

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




Пост N: 856
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.11.15 16:53. Заголовок: Мечты сбываются! :s..


Мечты сбываются!

Предлагаю всем желающим протестировать первую бету Minigui 64 по адресу:

http://hmgextended.com/files/CONTRIB/minigui64-beta.exe

В этот архив включены:
- Minigui 64 source and binaries;
- Harbour 64 compiler 3.2.0dev;
- MinGW 64 C-compiler 4.9.2.

Заранее благодарен за все критические отзывы

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




Пост N: 857
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.11.15 22:57. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Предлагаю всем желающим протестировать первую бету Minigui 64


Выложил очередную бета-версию по адресу:

http://hmgextended.com/files/CONTRIB/minigui64-beta.exe

Добавил в архив следующие библиотеки (с примерами использования):
- BosTaurus;
- CallDll;
- Debugger;
- WinReport.

По-прежнему ожидаю Ваши критические отзывы...

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




Пост N: 858
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 25.11.15 11:57. Заголовок: Выложил заключительн..


Выложил заключительную бета 3-версию с небольшими доработками по адресу:

http://hmgextended.com/files/CONTRIB/minigui64-beta.exe

Полный список изменений ниже
Скрытый текст

Желаю всем удачи!

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



Пост N: 25
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 26.11.15 16:24. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

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

цитата:
если нажать мышью на стрелку вверх, то выполняется прокрутка окна (panel), хотя ползунок уже находится в самой верхней позиции


Поправил эту бяку для вертикального и горизонтального сдвигов.
Благодарю за наглядный пример


цитата:
как можно от этого избавиться?


Ждите ноябрьскую сборку в конце месяца...



скачал новую сборку
действительно - вверх и влево не прокручивается (при нажатии на стрелку)
но прокручивается вниз и вправо

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

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




Пост N: 860
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 26.11.15 17:16. Заголовок: alexandr11 пишет: п..


alexandr11 пишет:

 цитата:
прокручивается вниз и вправо


Все верно - посчитал это некритичным...

alexandr11 пишет:

 цитата:
тестовый пример не удается сделать - там все нормально


Возможно, что стрелка перекрывается надписью Label, но точнее сказать, в чем причина, - сложно

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



Пост N: 26
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 27.11.15 09:45. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Возможно, что стрелка перекрывается надписью Label, но точнее сказать, в чем причина, - сложно


дело в том, что в MiniGUI 2.4 все нормально
буду искать
спасибо

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



Пост N: 27
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 27.11.15 09:49. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Все верно - посчитал это некритичным...


полностью согласен
но заказчик требует чтобы все было идеально

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




Пост N: 861
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 27.11.15 13:06. Заголовок: alexandr11 пишет: п..


alexandr11 пишет:

 цитата:
прокручивается вниз и вправо


Поправил, но при этом появилась небольшая зона нечувствительности
Тем не менее, прокрутки уже нет

alexandr11 пишет:

 цитата:
... чтобы все было идеально


Так в жизни не бывает
Во всяком случае - в нашей
Но это уже философия пошла...

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



Пост N: 28
Зарегистрирован: 17.12.14
ссылка на сообщение  Отправлено: 27.11.15 15:25. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
прокрутки уже нет


спасибо, Григорий!

PS Вы оказались правы насчет label
почему-то в MiniGUI 2.4 и MiniGUI 2.5 окно panel по-разному расположено относительно других элементов окна...

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





Пост N: 16
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 01.12.15 10:41. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
В этот архив включены:
- Minigui 64 source and binaries;
- Harbour 64 compiler 3.2.0dev;
- MinGW 64 C-compiler 4.9.2.

Заранее благодарен за все критические отзывы



.. попытался собрать что-нибудь из Minigui/Samples постоянно вылетают ошибки. Использую Borland C++ Compiler 5.5.
Что не так ..? Не ругайте строго я здесь не давно ...


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




Пост N: 701
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.12.15 10:49. Заголовок: Alex_Cher пишет: Чт..


Alex_Cher пишет:

 цитата:
Что не так ..

Alex_Cher пишет:

 цитата:
Использую Borland C++


BCC это 32 - разрядный компилер , а собрать пытаешься тестовую версию под 64 разряда и MIngw.
Возьми обычную сборку MiniGui под 32 и bcc55 - все соберется


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




Пост N: 173
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 01.12.15 11:23. Заголовок: Первые впечатления от MiniGUI64


Первые впечатления от MiniGUI64 очень хорошие !
Все работает быстрее ну BROWS - ы например .
64 битны Harbour работает быстрее , у меня в парограммах есть серверная часть где делаются всякие обработки данных
Я не делал точные замеры но мне кажется процентов на 20 быстрее чем то же самое в 32 бита.

Проблемы пока с загрузкой FastReport , но пока там еще не разбирался.

в Методе Init из FastRepH.prg

::frSystHandle := FrLoad(cOptionalPath)

::frSystHandle получает значение равное 0 и генерируется ошибка



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





Пост N: 17
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 01.12.15 14:00. Заголовок: Haz пишет: BCC это ..


Haz пишет:

 цитата:
BCC это 32 - разрядный компилер , а собрать пытаешься тестовую версию под 64 разряда и MIngw.
Возьми обычную сборку MiniGui под 32 и bcc55 - все соберется



Какой нужен компилятор чтобы собрать MiniGui под 64 ...?

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




Пост N: 5383
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.12.15 14:19. Заголовок: Alex_Cher пишет: Ка..


Alex_Cher пишет:

 цитата:
Какой нужен компилятор чтобы собрать MiniGui под 64 ...?


Он собранный уже идет.
А на вопрос ответ: MINGW

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




Пост N: 702
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.12.15 14:39. Заголовок: Dima пишет: попыта..


Alex_Cher пишет:

 цитата:
попытался собрать что-нибудь


Хочется собрать под 64 ?
Скачай сборку под 64,распакуй архив в корень C, и собирай примеры BAT файлами.
PS. Если распаковать сборку в каталог отличный от C: , то нужно пробежаться по всем BAT и подправить пути
PPS Библиотеки Minigui - уже идут в поставке , С-компилятор MINGW64 - уже идет в поставке , компилятор Harbour - уже в поставке
Весь джентельменский набор есть, распаковал и пользуй

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




Пост N: 5384
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.12.15 14:43. Заголовок: Haz пишет: Dima пиш..


Haz пишет:

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

цитата:
попытался собрать что-нибудь


А форум глючит все таки ))
Не писал я этого.

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




Пост N: 703
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.12.15 14:51. Заголовок: Dima пишет: Не писа..


Dima пишет:

 цитата:
Не писал я этого.



Исправил )))

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





Пост N: 18
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 01.12.15 14:52. Заголовок: Haz пишет: Хочется ..


Haz пишет:

 цитата:
Хочется собрать под 64 ?
Скачай сборку под 64,распакуй архив в корень C, и собирай примеры BAT файлами.
PS. Если распаковать сборку в каталог отличный от C: , то нужно пробежаться по всем BAT и подправить пути
PPS Библиотеки Minigui - уже идут в поставке , С-компилятор MINGW64 - уже идет в поставке , компилятор Harbour - уже в поставке
Весь джентельменский набор есть, распаковал и пользуй



Я конечно слабоват в этом, но все это делалось много раз... При сборки примера Hello из Minigui вылетает ошибка
в виде файла build.log -

hbmk2: Warning: Dangerous low-level option not recommended:
'ldflags=-Wl,--allow-multiple-definition' in c:\minigui\minigui.hbc:13
Harbour 3.2.0dev (r1511161432)
Copyright (c) 1999-2015, http://harbour-project.org/
gcc.exe: error: C:/Users/Alex/AppData/Local/Temp/hbmk_y9hacf.dir/hello.o: No such file or directory
gcc.exe: error: C:/Users/Alex/AppData/Local/Temp/hbmk_y9hacf.dir/hbmk_dmy93j.o: No such file or directory
hbmk2: Error: Running linker. 1
gcc.exe C:/Users/Alex/AppData/Local/Temp/hbmk_y9hacf.dir/hello.o C:/Users/Alex/AppData/Local/Temp/hbmk_y9hacf.dir/hbmk_dmy93j.o C:/minigui/Samples/hello/_temp.o -Wl,--allow-multiple-definition -mwindows -Wl,--start-group -lminigui -lhbprinter -lminiprint -ladordd -lcalldll -ltsbrowse -lhbct -lhbmisc -lhbtip -lhbziparc -lhbmzip -lminizip -lhbwin -lxhb -lmsvfw32 -lvfw32 -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -ohello.exe -Lc:/harbour/lib/win/mingw64 -Lc:/minigui/lib





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




Пост N: 704
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.12.15 15:07. Заголовок: Alex_Cher пишет: Пр..


Alex_Cher пишет:

 цитата:
При сборки примера Hello из Minigui вылетает ошибка
в виде файла build.log



Alex, что тут сказать ... точно так же все делаю и собирает . Вот все что в логе, hello.exe запускается
 
hbmk2: Warning: Dangerous low-level option not recommended:
'ldflags=-Wl,--allow-multiple-definition' in c:\minigui\minigui.hbc:13
Harbour 3.2.0dev (r1511161432)
Copyright (c) 1999-2015, http://harbour-project.org/

это все дальше ничего нет
У меня Вынь 7 x 64 , а у тебя что ?




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





Пост N: 19
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 03.12.15 12:38. Заголовок: Перевел проект на Mi..


Перевел проект на MiniGUI64, впечатления самые приятные. Массивы с более 1 млн. записей (кол-во рекламаций
по LADA за год) обрабатывает на 30-35 % быстрее. Первое с чем столкнулся при создание файла Excel вылетает
ошибка -


click here

ссылка ошибки на строку -
oWorkBook:Columns( 1):Set( 'NumberFormat', '@')


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




Пост N: 862
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 08.12.15 23:34. Заголовок: Выложил свежую бета ..


Выложил свежую бета версию с небольшими доработками по адресу:

http://hmgextended.com/files/CONTRIB/minigui64-beta.exe

Что нового:
- обновлен компилятор Harbour-64;
- добавлена библиотека HbOle;
- добавлена библиотека Hmg_Hpdf;
- другие мелкие исправления и дополнения.

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




Пост N: 864
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 14.12.15 13:11. Заголовок: Просто к сведению. З..


Просто к сведению. Завершена подготовка следующей сборки библиотеки, которая выйдет послезавтра
Полный список изменений см. ниже
Скрытый текст

Примечание. Введен временный мораторий на включение новых примеров в сборку
Парадоксально, но примеры из поставки библиотеки смотрят только подготовленные пользователи...

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




Пост N: 4610
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.12.15 18:50. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Примечание. Введен временный мораторий на включение новых примеров в сборку


А почему ? Объём диструбутива сейчас НЕ КРИТИЧЕН !
Ещё много чего непонятного в МиниГуи, да и инструментария для работы/просмотра нет.
Примеры (заготовки) очень полезны для написания своих программ.
А так придётся тыкаться вслепую, да и тем кто только осваивает нужны эти примеры.
Я многое сам делал и разбирался (хотя без помощи Григория и других -результата бы у меня не было) !
Результатами своими делюсь - не жалко, вдруг кому пригодиться.


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




Пост N: 717
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.12.15 11:21. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
примеры из поставки библиотеки смотрят только подготовленные пользователи.


Григорий , подготовленные пользователи эти примеры уже как стихи выучили наизусть
Их смотрят как раз те кто начинает знакомство с МиниГуи , или втянулся совсем недавно.
Соглашусь с тем что в примерах становится труднее разобраться или найти что либо.
Предлагаю мараторий на примеры с исходниками размером болле 5к. ( это все же примеры а не приложения )

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




Пост N: 4611
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.15 16:09. Заголовок: Haz пишет: Предлага..


Haz пишет:

 цитата:
Предлагаю мараторий на примеры с исходниками размером болле 5к. ( это все же примеры а не приложения )


Не согласен. Порой нужно видеть как другие делаю приложения, чтобы самому научиться...
А где смотреть, если пример маленький - и даёт не понятно что ?
Я с окнами (различными типами) очень долго разбирался, как сделать в своей программе.
Примеров же нет как делать главное меню и работать далее с меню. Всё методом проб и ошибок. На всё это нужно время...
Уже 3 год переношу проект, никак не могу полностью перенести на МиниГуи хоть одну из своих программ.


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




Пост N: 719
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.12.15 16:36. Заголовок: Andrey пишет: Не со..


Andrey пишет:

 цитата:
Не согласен. Порой нужно видеть как другие делаю приложения, чтобы самому научиться...


Безусловно списать проще чем самому думать, но так ничему не научишься.
В качестве подтверждения - твой свежий вопрос по TSBrowse :
- "Как поменять картинку в уже сформированной таблице ?"
Ответ есть и в исходниках и даже в примерах .....
PS Притом мараторий же временный



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