On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
Andrey
постоянный участник




Пост N: 1929
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.11 21:36. Заголовок: Примеры из Минигуи -ошибки, вопросы..... (продолжение)


Всем привет.
Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ?
А заодно может и исправить и добавить новые....

Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах)
Предложение Григорию:
Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ?


Пример: \MiniGUI\SAMPLES\Advanced\DisplayMode - не работает под ХР и далее....


Пример: \MiniGUI\SAMPLES\Advanced\Tsb_filter - вылетает на ХР
--------------------------------------------------------------------------------
Harbour MiniGUI Errorlog File
Harbour MiniGUI Extended Edition 2.0.1 - 2011.09.21
--------------------------------------------------------------------------------
Date: 11/15/2011 Time: 22:13:24
Error BASE/1124 Argument error: LEFT

Called from LEFT(0)
Called from SCANSOFT(195)
Called from MAIN(84)


Пример: \MiniGUI\SAMPLES\BASIC\MsgEdit - не собирается...
Z:\MiniGUI\SAMPLES\BASIC\MsgEdit>call ..\..\..\batch\compile.bat demo /L shell32
Harbour 3.1.0dev (Rev. 17042)
Copyright (c) 1999-2011, http://harbour-project.org/
Compiling 'demo.prg'...
Lines 20133, Functions/Procedures 30
Generating C source output to 'demo.c'... Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
demo.c:
Error E2141 demo.prg 993: Declaration syntax error
*** 1 errors in Compile ***

C compile error.



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


gfilatov2002
moderator




Пост N: 693
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.12.14 15:36. Заголовок: Haz пишет: Грирогий..


Haz пишет:

 цитата:
Грирогий, если эта корректировка правильна, может ее внести в след версию ?


Огромное спасибо за эту корректировку!
Уже внес эти изменения в код следующей сборки, которая планируется к выходу на следующей неделе

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




Пост N: 694
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.12.14 15:42. Заголовок: Andrey пишет: обход..


Andrey пишет:

 цитата:
обход всех форм, считывание Label, FRAME, BUTTONEX и сброс их в файл.


Уточнение: обход всех ОТКРЫТЫХ форм
Посмотри пример из папки samples\Basic\Form_Controls с обходом для текущей формы

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




Пост N: 3799
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.12.14 17:12. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
обход всех ОТКРЫТЫХ форм



Нет. Хочу обход ВСЕХ форм программы !

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




Пост N: 383
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 05.12.14 17:31. Заголовок: Andrey пишет: Нет. ..


Andrey пишет:

 цитата:
Нет. Хочу обход ВСЕХ форм программы



Это как ? т.е. считать контролы формы даже не загруженной в память ?
Что то мне подсказывает, что в тут без парсера исходного текста не обойтись, ну или на крайняк декомпилятора P-Code.
Иного способа узнать о формах и контролах модуля, который еще может даже и не выволняться - не вижу.


PS. хотя может я и ошибаюсь ...


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




Пост N: 445
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.12.14 18:26. Заголовок: Haz пишет:PS. хотя м..


Haz пишет:
 цитата:
PS. хотя может я и ошибаюсь ...


 

FOR i := 1 TO Len( _HMG_aFormNames )
IF _HMG_aFormType[ i ]=='Y'
AAdd(aNames, _HMG_aFormNames[ i ] )
ENDIF
hForm := _HMG-aFormHandle[ i ]
а дальше как в примере по handle все контролы
NEXT



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




Пост N: 3801
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.12.14 18:41. Заголовок: SergKis пишет: FOR..


SergKis пишет:

 цитата:
FOR i := 1 TO Len( _HMG_aFormNames )
IF _HMG_aFormType[ i ]=='Y'
AAdd(aNames, _HMG_aFormNames[ i ] )
ENDIF
hForm := _HMG-aFormHandle[ i ]
а дальше как в примере по handle все контролы
NEXT


Ура ! Значит можно !

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




Пост N: 446
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.12.14 18:46. Заголовок: Andrey пишет:Ура ! З..


Andrey пишет:
 цитата:
Ура ! Значит можно !


првильно hForm := _HMG-aFormHandles[ i ]

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




Пост N: 3837
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.12.14 23:26. Заголовок: Во многих примерах М..


Во многих примерах МиниГуи встречаю PlayExclamation() - а музыки нет !
Это для чего ?

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




Пост N: 3839
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.12.14 08:45. Заголовок: И еще вопрос: Очень ..


И еще вопрос:
Очень много разрешений экрана сейчас пользователи используют.
Как бы определиться - какой размер шрифта нужно устанавливать на разные разрешения экранов ?
Т.е. для:
800х600 12-размер шрифта,
для 1024х720 14-размер шрифта
и т.д.
Но может я и не прав...

Кто какую зависимость использует ?

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




Пост N: 3848
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.12.14 16:04. Заголовок: Проехали, сделал мет..


Проехали, сделал методом подстановки от разрешения. На глаз вроде нормально.
//////////////////////////////////////////////////////////////////////
Function ModeSizeFont()
LOCAL nSize
IF GetDesktopHeight() == 600
nSize := IIF(LargeFonts(),10,12)
ELSEIF GetDesktopHeight() == 768
nSize := IIF(LargeFonts(),12,14)
ELSEIF GetDesktopHeight() == 800
nSize := IIF(LargeFonts(),14,16)
ELSEIF (GetDesktopHeight() >= 1050 .AND. GetDesktopHeight() <= 1080)
nSize := IIF(LargeFonts(),15,18)
ELSEIF GetDesktopHeight() == 1152
nSize := IIF(LargeFonts(),18,20)
ELSEIF GetDesktopHeight() >= 1200
nSize := IIF(LargeFonts(),22,24)
ELSE
nSize := 14
ENDIF
RETURN nSize


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




Пост N: 3861
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.12.14 23:20. Заголовок: Столкнулся с непонят..


Столкнулся с непоняткой.
Маленький пример из 2-3 файлов работает без ошибок.
Использую функцию FileSize(cFileTransfer)
Размер возвращает нормально.

Как собираю этот пример со своей системой, то начинаются чудеса...
FileSize() возвращает 0 Почему ?

МиниГуи последний... Чем заменить можно ?
Прогу собираю с ключом -mt (multi/single-thread Harbour VM)

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




Пост N: 4369
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.12.14 23:49. Заголовок: Andrey пишет: Прогу..


Andrey пишет:

 цитата:
Прогу собираю с ключом -mt (multi/single-thread Harbour VM)


А на фик ? Потоки используешь ?

Andrey пишет:

 цитата:

Как собираю этот пример со своей системой, то начинаются чудеса...


Может в ней чудеса ?

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




Пост N: 3862
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.12.14 23:52. Заголовок: Dima пишет: А на фи..


Dima пишет:

 цитата:
А на фик ? Потоки используешь ?



Отправка, прием файлов с инета. Без этого ключа тормоза на экране и в проге.

Dima пишет:

 цитата:
Может в ней чудеса ?



Не знаю как все, но я делаю отдельный пример потом добавляю к основной системе. Вот тогда действительно начинаются чудеса. Я уже писал об этом.
Почему то сразу не хватает библиотек, в основном модуле приходиться добавлять эти библиотеки вручную в проектный файл.
А отдельный пример даже и не требует перечисления этих библиотек.
Наверно это связанно с таблицей построения ехе-файла или что-то в этом роде, не знаю даже в чем дело, могу только предполагать.


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




Пост N: 3866
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.12.14 11:28. Заголовок: Вопрос который я зад..


Вопрос который я задавал ранее, но так и не получилось у меня.

Делаю так:
DEFINE TAB Tab_1 AT ....

PAGE ' Тест 1 '

//MsgDEBUG( Form_9.Tab_1.Row, Form_9.Tab_1.Col, Form_9.Tab_1.Width, Form_9.Tab_1.Height) - не работает

DEFINE TBROWSE oBrw9 AT ХХ+5 , ХХ+5 WIDTH ХХ-10 HEIGHT ХХ-10 ;
......
END TBROWSE

END PAGE

PAGE ' Тест 2 '
END PAGE

END TAB

MsgDEBUG( Form_9.Tab_1.Row, Form_9.Tab_1.Col, Form_9.Tab_1.Width, Form_9.Tab_1.Height) - работает !!!


Мне нужно вместо ХХ задать координаты Tab_1 !
Т.е. нужно вписать TBROWSE во вкладку PAGE ' Тест 1 '.
Как это можно сделать ?

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




Пост N: 3884
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.01.15 23:07. Заголовок: Можно ли объект RADI..


Можно ли объект RADIOGROUP сделать в ДВА столбца ?
Может у кого есть готовый пример ?

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




Пост N: 3903
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.01.15 16:53. Заголовок: Всем привет ! Есть ..


Всем привет !

Есть пример \MiniGUI\SAMPLES\BASIC\Grid_4\demo2.prg
Я его модифицировал и не знаю как назначить кодовый блок цвета, чтобы как в ACHOICE логический массив позволял/запрещал выбирать элемент меню (в данном случае элемент GRIDa).
1) Как мне изменить блок кода для показа элементов с aLogic == .F./.T. ?
LOCAL bColorFore := { | Val, CellRowIndex | iif ( CellRowIndex / 2 == Int( CellRowIndex / 2 ) , ;
RGB( aColor2[1],aColor2[2],aColor2[3] ) , RGB( aColor3[1],aColor3[2],aColor3[3] ) ) }
LOCAL bColorBack := { | Val, CellRowIndex | iif ( CellRowIndex / 2 == Int( CellRowIndex / 2 ) , ;
RGB( aColor[1],aColor[2],aColor[3] ) , RGB( aColor[1],aColor[2],aColor[3] ) ) }


2) И почему то нет возврата выбора из этого меню:
ON RELEASE {|| MsgDebug( "Выбрано меню:", cRet) } // возврат из окна

Может что не так делаю ?

Вот сам пример Grid_5 - Скрытый текст


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




Пост N: 454
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.01.15 12:08. Заголовок: Andrey пишет:И почем..


Andrey пишет:
 цитата:
И почему то нет возврата выбора из этого меню:


Убери ThisWindow.Release в Test_Choice(...) и добавь во все ACTION в конце

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




Пост N: 455
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.01.15 12:13. Заголовок: Andrey пишет:Как мне..


Andrey пишет:
 цитата:
Как мне изменить блок кода для показа элементов с aLogic


также как функция Test_Choice( nVal, aLogic ), обрабатывай и возвращай массив цветов.
Вызов в:
DYNAMICFORECOLOR myFColor(...)
DYNAMICBACKCOLOR myBColor(...)


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




Пост N: 3904
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.01.15 13:04. Заголовок: SergKis пишет: Убер..


SergKis пишет:

 цитата:
Убери ThisWindow.Release в Test_Choice(...) и добавь во все ACTION в конце


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

SergKis пишет:

 цитата:
обрабатывай и возвращай массив цветов.
Вызов в:


Здесь не понял....

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




Пост N: 456
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.01.15 21:07. Заголовок: Andrey пишет:Здесь н..


Andrey пишет:
 цитата:
Здесь не понял..


DYNAMICFORECOLOR myFColor(aLogic)
DYNAMICBACKCOLOR myBColor(aLogic)
 
FUNC MyFColor(aLogic)
LOCAL aColor := { 105, 182, 34 } // bright green
LOCAL aColor2 := YELLOW
LOCAL aColor3 := BLUE
LOCAL bColorFore
LOCAL bColorFore1 := { | Val, CellRowIndex | iif ( CellRowIndex / 2 == Int( CellRowIndex / 2 ) , ; //
RGB( aColor2[1],aColor2[2],aColor2[3] ) , RGB( aColor3[1],aColor3[2],aColor3[3] ) ) } // для .F.
LOCAL bColorFore2 := { | Val, CellRowIndex | iif ( CellRowIndex / 2 == Int( CellRowIndex / 2 ) , ; //
RGB( aColor2[1],aColor2[2],aColor2[3] ) , RGB( aColor3[1],aColor3[2],aColor3[3] ) ) } // для .T.
Local xMenuNum := Form_2.Grid_2.Value

IF aLogic[xMenuNum[1]] == .F.
bColorFore := bColorFore1
ELSE
bColorFore := bColorFore2
ENDIF

RETURN { bColorFore , bColorFore, bColorFore }

FUNC MyBColor(aLogic)
LOCAL aColor := { 105, 182, 34 } // bright green
LOCAL aColor2 := YELLOW
LOCAL aColor3 := BLUE
LOCAL bColorBack
LOCAL bColorBack1 := { | Val, CellRowIndex | iif ( CellRowIndex / 2 == Int( CellRowIndex / 2 ) , ; //
RGB( aColor[1],aColor[2],aColor[3] ) , RGB( aColor[1],aColor[2],aColor[3] ) ) } // для .F.
LOCAL bColorBack2 := { | Val, CellRowIndex | iif ( CellRowIndex / 2 == Int( CellRowIndex / 2 ) , ; //
RGB( aColor[1],aColor[2],aColor[3] ) , RGB( aColor[1],aColor[2],aColor[3] ) ) } // для .T.
Local xMenuNum := Form_2.Grid_2.Value

IF aLogic[xMenuNum[1]] == .F.
bColorBack := bColorBack1
ELSE
bColorBack := bColorBack2
ENDIF

RETURN { bColorBack, bColorBack, bColorBack }

цвета в блоках кода ...1, ...2 подбирай сам.


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