Автор | Сообщение |
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.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
Andrey
|
| постоянный участник
|
Пост N: 5035
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.08.16 12:44. Заголовок: Dima пишет: Andrey ..
Dima пишет: Неудобен. Нет вывода массива, и т.д., т.е. нужно ручками преобразовывать в строку нужные тебе переменные. А в функции MsgLog() это делается автоматом... И не задумываешься, что делать, написал MsgLog("aDim=", aDim) и всё. Я эту функцию тащу в каждый свой проект. Даже небольшой пример и то удобней с ней отлаживать. Вот и хотелось бы иметь встроенную функцию MsgLog(), как и MsgDebug() !
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1126
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.08.16 13:38. Заголовок: Andrey пишет Может п..
Andrey пишет цитата: | Может поместишь в библиотекуфункцию SergKis - MsgLog() ? |
| тогда другой вариант Скрытый текст
FUNCTION MLogFile( cFile ) // Получить \ установить имя файла вывода ф-ии MLog(...) LOCAL cOld STATIC MLog_File := "_MsgLog.txt" cOld := MLog_File If cFile != NIL; MLog_File := cFile EndIf RETURN cOld FUNCTION MLog( ... ) // Сначала идет CRLF (первый параметер .T.\.F.) потом данные вывода LOCAL i, k LOCAL aParams := hb_aParams() LOCAL nParams := len(aParams) LOCAL hFile, cFile := MLogFile(), xVal, cTp, lCrLf := .T. hFile := iif( File(cFile), FOpen(cFile, 2) , FCreate(cFile) ) IF hFile < 1; RETURN .F. ENDIF FSeek( hFile, 0, 2) IF nParams > 0 k := 1 If hb_IsLogical(aParams[1]) k := 2 lCrLf := aParams[1] EndIf If lCrLf FWrite( hFile, CRLF, 2 ) EndIf FOR i := k TO nParams xVal := aParams[ i ] cTp := ValType( xVal ) IF cTp == 'C' ; xVal := iif(Empty(xVal), "'"+"'", trim(xVal)) ELSEIF cTp == 'N' ; xVal := hb_ntos(xVal) ELSEIF cTp == 'L' ; xVal := iif(xVal, ".T.", ".F.") ELSEIF cTp == 'D' ; xVal := hb_DtoC(xVal, 'DD.MM.YYYY') ELSEIF cTp == 'A' ; xVal := "ARRAY[" + hb_NToS( Len(xVal) ) + "]" ELSEIF cTp == 'H' ; xVal := "HASH[" + hb_NToS( Len(xVal) ) + "]" ELSEIF cTp == 'B' ; xVal := "'" + "B" + "'" ELSEIF cTp == 'T' ; xVal := hb_TSToStr(xVal, .T.) ELSEIF cTp == 'U' ; xVal := 'NIL' ELSE ; xVal := "'" + cTp + "'" ENDIF FWrite(hFile, xVal + Chr(9) ) NEXT ELSE FWrite( hFile, CRLF, 2 ) ENDIF FClose( hFile ) RETURN .T. в комплекте с: #command ? [<explist,...>] => MLog( .T., <explist> ) #command ?? [<explist,...>] => MLog( .F., <explist> ) #command ?a [<arr>] => aEval( <arr>, {|xv,ne| MLog(.T., ne, xv), MLog() }) #command ?v [<arr>] => aEval( <arr>, {|xv,ne| MLog(.T., ne, iif( Valtype(xv)=="A", hb_valtoexp(xv), xv )), MLog() }) использовать ? nKey, chr(nKey), cKey, cTxt, aDim ?a aDim ?v aDim ...
|
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1127
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.08.16 13:52. Заголовок: Andrey пишет Я эту ф..
Andrey пишет цитата: | Я эту функцию тащу в каждый свой проект |
| А сделать общую для всех проектов lib и туда складывать полезное и одинаково используемое пробовал ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5036
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.08.16 14:58. Заголовок: SergKis пишет: А сд..
SergKis пишет: цитата: | А сделать общую для всех проектов lib и туда складывать полезное и одинаково используемое пробовал ? |
| Нет. Люблю держать всё в исходниках. Очень редко использую свои Lib. Но это дело вкуса...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1128
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.08.16 15:42. Заголовок: Andrey пишет Очень р..
Andrey пишет цитата: | Очень редко использую свои Lib |
| тогда положи в ch файл и подключай в исходнике
|
|
|
Dima
|
| |
Пост N: 5942
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.08.16 16:20. Заголовок: Andrey пишет: Может..
Andrey пишет: цитата: | Может поместишь в библиотеку функцию SergKis - MsgLog() |
| Почему бы нет , я за
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5046
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.08.16 17:58. Заголовок: Вопрос по ходу созда..
Вопрос по ходу создания кода на МиниГуи. Нужны периодически делать разные менюшки. Всегда делаю ручками. Устал... Времени тратиться куча. Кто на чём делает менюшки, типа вот такую надо ?
|
|
|
Петр
|
| постоянный участник
|
Пост N: 1249
Зарегистрирован: 09.10.06
|
|
Отправлено: 12.08.16 18:35. Заголовок: Andrey пишет: Кто н..
Andrey пишет: цитата: | Кто на чём делает менюшки, типа вот такую надо ? |
| А где там меню?
|
|
|
Dima
|
| |
Пост N: 5963
Зарегистрирован: 17.05.05
|
|
Отправлено: 12.08.16 19:36. Заголовок: Петр пишет: А где т..
Петр пишет: +1
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5066
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.09.16 19:06. Заголовок: SergKis пишет: тог..
SergKis пишет: цитата: | тогда другой вариант FUNCTION MLogFile( cFile ) // Получить \ установить имя файла вывода ф-ии MLog(...) LOCAL cOld STATIC MLog_File := "_MsgLog.txt" cOld := MLog_File If cFile != NIL; MLog_File := cFile EndIf RETURN cOld |
| Что то сменить имя файла вывода не получается. Постоянно выводит _MsgLog.txt
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1197
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.09.16 19:42. Заголовок: Andrey используй ..
Andrey используй SET LOGFILE TO "_debug.txt" ? ...,... это уже в МиниГуи есть и глянь FUNCTION _SetGetLogFile( cFile ) и FUNCTION _LogFile( lCrLf, ... ) сам же просил
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5067
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.09.16 20:05. Заголовок: SergKis пишет: сам ..
SergKis пишет: Да не знал, что Григорий так быстро вставил в эту версию. А как быть с #command ? [<explist,...>] => _LogFile( <explist> ) #command ?a [<arr>] => aEval(<arr>, {|xv,ne| _LogFile( ne, xv ) }) #command ?v [<arr>] => aEval(<arr>, {|xv,ne| _LogFile( ne, iif(valtype(xv) == "A", hb_valtoexp(xv), xv )) }) У меня первый параметр вывода пропадает...
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5068
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.09.16 20:10. Заголовок: Сделал так: #command..
Сделал так: #command ? [<explist,...>] => _LogFile( .t.,<explist> ) #command ?a [<arr>] => aEval(<arr>, {|xv,ne| _LogFile( .t., ne, xv ) }) #command ?v [<arr>] => aEval(<arr>, {|xv,ne| _LogFile( .t., ne, iif(valtype(xv) == "A", hb_valtoexp(xv), xv )) })
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1198
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.09.16 20:24. Заголовок: Andrey пишет Сделал ..
Andrey пишет в i_ini.ch и так все нормально #command ? [<explist,...>] => _LogFile( .T., <explist> ) #command ?? [<explist,...>] => _LogFile( .F., <explist> ) #command ?a [<arr>] => aEval( <arr>, { |xv, ne| _LogFile( .T., ne, xv ), _LogFile() } ) #command ?v [<arr>] => aEval( <arr>, { |xv, ne| _LogFile( .T., ne, iif( Valtype(xv)=="A", hb_valtoexp(xv), xv ) ), _LogFile() } )
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5069
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.09.16 22:33. Заголовок: SergKis пишет: в i_..
SergKis пишет: цитата: | в i_ini.ch и так все нормально |
| А я через свой mydefines.ch делал...
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5108
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.09.16 22:34. Заголовок: Всем привет ! Решил..
Всем привет ! Решил добавить на кнопки (объект BUTTONEX ) вызов контекстного меню. Не получается, выдаёт ошибку: Error BASE/1132 Переполнение массива: Неверное количество аргументов Called from _ENDMENU(530) Called from METRO_BUTTON(382) Called from (b)ADDITION_MAINFORMS(161) Called from AEVAL(0) Called from ADDITION_MAINFORMS(161) Called from (b)MAIN(96) Called from (b)_DEFINESPLASHWINDOW(134) По коду у меня это выглядит так: Скрытый текст DEFINE BUTTONEX &cObject PARENT &cForm ...... END BUTTONEX DEFINE CONTEXT MENU CONTROL &cObject cInfo1 := cCaption cInfo2 := "Object: "+cObject MENUITEM cInfo1 MENUITEM cInfo2 SEPARATOR MENUITEM "Запуск старой программы" ACTION { || MsgDebug(cObject) } SEPARATOR MENUITEM "Запуск новой программы" ACTION { || MsgDebug(cObject) } SEPARATOR MENUITEM "Выход из меню" ACTION {|| Tone(100,0.1) } END MENU // строка 382
| Если убрать DEFINE CONTEXT MENU CONTROL &cObject ... то всё работает нормально ! Что за ошибка такая ? Как преодолеть её ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5109
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.09.16 00:12. Заголовок: Разгадал загадку... ..
Разгадал загадку... Достаточно было поставить - DEFINE CONTEXT MENU CONTROL &cObject OF &cForm Хотя на маленьком примере можно и не ставить OF &cForm ... и без него работает...
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5110
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.09.16 01:10. Заголовок: По доке: Enable and ..
По доке: Enable and disable Context Menu Control SET CONTEXT MENU CONTROL <cControlName> OF <cParentName> ON | OFF Что то не работает... SET CONTEXT MENU CONTROL "oBut_6" OF 'Form_Main' OFF Всё равно по правой кнопки мышки появляется контекстное меню...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1008
Зарегистрирован: 11.02.10
|
|
Отправлено: 29.09.16 10:21. Заголовок: Andrey пишет: Что т..
Andrey пишет: цитата: | Что то не работает... SET CONTEXT MENU CONTROL "oBut_6" OF 'Form_Main' OFF |
| А если попробовать записать без кавычек SET CONTEXT MENU CONTROL oBut_6 OF Form_Main OFF
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5111
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.09.16 15:40. Заголовок: Понял. Спасибо ! :s..
Понял. Спасибо !
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|