Автор | Сообщение |
|
| постоянный участник
|
Пост 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.
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
All
[см. все]
|
|
|
| постоянный участник
|
Пост N: 3028
Зарегистрирован: 17.02.12
|
|
Отправлено: 07.02.20 11:15. Заголовок: rvu пишет Так если п..
rvu пишет цитата: | Так если пробел все равно добавлять, то с ним и так работает. Вот заменил вообще на поле БД: |
| Я предлагал разделить создание контролов и заполнение их данными в разные процедуры, т.е. DEFINE WINDOW Form1 ... Label_Crt() END WINDOW ACTION WINDOW Form1 ON INIT {|| Label_Val() } // или в ON INIT окна или ставим в :Event(1, {|| Label_Val() }), активируя сообщением ... STAT FUNC Label_Crt() ... @ 10,10 LABEL NAME VALUE ' ' WIDTH 1500 VCENTERALIGN ... RETU Nil STAT FUNC Label_Val() LOCAL cAls := 'BASECONFIG' ... This.NAME.Value := Trim( (cAls)->NAME )+' ' * Form1.NAME.Value := Trim( (cAls)->NAME )+' ' // или такую форму записи ... RETU Nil Вызывая Label_Val() повторно (изменив поле NAME) производите переотображение Label NAME Добавление пробела слева смещает текст отображения вправо на ширину пробела в пикселях, т.е. сменили координату X у лабел
|
|
|
|
| |
Пост N: 216
Зарегистрирован: 05.11.05
|
|
Отправлено: 07.02.20 11:25. Заголовок: SergKis пишет: Доба..
SergKis пишет: цитата: | Добавление пробела слева смещает текст отображения вправо на ширину пробела в пикселях, т.е. сменили координату X у лабел |
| Это понятно. SergKis пишет: цитата: | Я предлагал разделить создание контролов и заполнение их данными в разные процедуры |
| Может быть это и правильно. Будет побольше времени надо будет попробовать. Спасибо за идею!
|
|
|
|
| постоянный участник
|
Пост N: 6576
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.02.20 16:31. Заголовок: Запускаю прогу на Ми..
Запускаю прогу на МиниГуи. На форме есть таймер. DEFINE TIMER Timer_1 ; INTERVAL (StaticTimeUpdate * 100) * 1000 ACTION OperatUsers2() .... // Функция чтения всех работающих в журнале программы / заглушка Function OperatUsers2() LOCAL nSel := SELECT() ? "Timer всех работающих в программе !", TIME(), ProcNameLine(0) Form_Main.Label_0.Value := "+" + TIME() SELECT(nSel) RETURN NIL После запуска проги, в Фаре работать нельзя, отрубаются клавиши. Запускаю TeamViewer, пытаюсь набрать пароль в нём, пароль неверен. Закрываю прогу на МиниГуи - всё прекрасно начинает работать. Что то с таймером беда... Или опять я нахимичил ....
|
|
|
|
| |
Пост N: 1525
Зарегистрирован: 20.02.11
|
|
Отправлено: 21.02.20 10:25. Заголовок: hb_idleSleep() и TCNLDATA - Error BASE/1102 Неверный аргумент: UPPER</p>
я в тупике , примитивный код for n := 1 To 3 hb_IdleSleep(1) // дает на втором шаге Error BASE/1102 Неверный аргумент: UPPER</p> end не соображу причем тут слип трассер ошибки <br/></summary> Called from UPPER(0) <BR> Called from (b)TCNLDATA(737) in module: h_objects.prg <BR> Called from TCNLDATA:DEL(0) <BR> Called from (b)TCNLDATA(776) in module: h_objects.prg <BR> Called from TCNLDATA:DESTROY(0) <BR> Called from TWNDDATA:__msgDestructor(678) in module: h_objects.prg <BR> Called from HB_IDLESLEEP(0) условия такие Operating system...: Windows 7 6.1 SP1<BR> MiniGUI version....: Harbour MiniGUI Extended Edition 19.08 (32-bit)<BR> Harbour version....: Harbour 3.2.0dev (r1904111533)<BR> Harbour built on...: Apr 11 2019 19:43:19<BR> C/C++ compiler.....: Borland C++ 5.5.1 (32-bit)<BR> Multi Threading....: YES<BR> VM Optimization....: YES<BR>
|
|
|
|
| постоянный участник
|
Пост N: 3071
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.02.20 10:44. Заголовок: Haz пишет не соображ..
Haz пишет цитата: | не соображу причем тут слип |
| Идет, похоже, разрушение\destroy окна во время Sleep, которого уже нет, т.е. METHOD Destroy() INLINE ( ::Del(), ; ... и METHOD Del() INLINE ( iif( HB_ISOBJECT( ::oWin:oName ), ::oWin:oName:Del( Upper( ::cName ) ), ), ; iif( HB_ISOBJECT( ::oWin:oHand ), ::oWin:oHand:Del( ::nHandle ), ) ) ... Не знаю, не смотрел, как устроен hb_IdleSleep(...), я использую wApi_Sleep(...)
|
|
|
|
| постоянный участник
|
Пост N: 3072
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.02.20 10:46. Заголовок: PS Т.е. во время Sle..
PS Т.е. во время Sleep идет обработка сообщений очереди. Для задержки использую wApi_Sleep(...), для обработки очереди без задержки DoEvents().
|
|
|
|
| |
Пост N: 1526
Зарегистрирован: 20.02.11
|
|
Отправлено: 21.02.20 10:48. Заголовок: SergKis пишет: я ис..
SergKis пишет: цитата: | я использую wApi_Sleep(...) |
| работает
|
|
|
|
| постоянный участник
|
Пост N: 6649
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.05.20 16:25. Заголовок: Столкнулся с очередн..
Столкнулся с очередной непоняткой. Как сдвинуть дату немного вправо в объекте DATEPICKER ? На картинке вот так выглядит:
|
|
|
|
| постоянный участник
|
Пост N: 6656
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.05.20 13:24. Заголовок: Очередная засада в М..
Очередная засада в МиниГуи. Имеется GetBox , ввожу в него: "1238881818АА" "1238881818БББ" "1238881818ЯЯЯ" В отладке получаю вот это: Gbox_1 This.&(cGetBox).Value = 1238881818└└ Gbox_1 This.&(cGetBox).Value = 1238881818┴┴┴ Gbox_1 This.&(cGetBox).Value = 1238881818▀▀▀ Куда делись русские буквы АА и БББ и ЯЯЯ ? Маленькие русские буквы отлично отображаются !!! Вот код проверки: FOR nJ := 1 TO LEN(aGetBoxObj) cGetBox := aGetBoxObj[nJ] cVal := This.&(cGetBox).Value ? cGetBox, "This.&(cGetBox).Value = ",cVal ............... А сам объект формируется так: aPict := { REPL('x',18) } ...... cObj2 := "Gbox_" + HB_NtoS(nI) @ ... GETBOX &cObj2 VALUE aRcPlt[nI] ... ; PICTURE aPict[nI] .... ; ON CHANGE {|| _wSend(10, This.Index), This.Value := aRcPlt[This.Cargo] } ; ON INIT {|| This.Cargo := nI, This.Value := aRcPlt[nI] } AADD( aGetBoxObj, cObj2 ) // для проверки на русские буквы ........ // назначаем на getbox и checkbox событие (This.Object):Event(10, {|| aRcPlt[ This.Cargo ] := This.Value })
|
|
|
|
| Администратор
|
Пост N: 3942
Зарегистрирован: 23.05.05
|
|
Отправлено: 08.05.20 13:52. Заголовок: Да кодировка у дебаг..
Да кодировка у дебаггера не той системы Буква А, код в 1251 - 0xc1, в cp866 как раз отображается такой закорлючкой
|
|
|
|
| постоянный участник
|
Пост N: 6657
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.05.20 15:02. Заголовок: Pasha пишет: Да код..
Pasha пишет: цитата: | Да кодировка у дебаггера не той системы Буква А, код в 1251 - 0xc1, в cp866 как раз отображается такой закорлючкой |
| У меня в МиниГуи кодировка RU1251 Соответственно GETBOX должнен быть в RU1251 И при доп. выводе в файл получаю, беру ASC(символа) : └ 192 ┴ 193 ▀ 223 И код не работает по проверке на русские буквы ВЕРХНЕГО РЕГИСТРА: STATIC FUNCTION CheckingRussianGet( aGetBoxObj ) // Проверка на русские буквы LOCAL lRet := .T., nI, cC, nJ, cVal LOCAL cGetBox, cTbl := ' 0123456789' , cMsg := "" FOR nI := 128 TO 175 cTbl += CHR(nI) NEXT FOR nI := 224 TO 239 cTbl += CHR(nI) NEXT ? cTbl FOR nJ := 1 TO LEN(aGetBoxObj) cGetBox := aGetBoxObj[nJ] cVal := This.&(cGetBox).Value ? cGetBox, "This.&(cGetBox).Value = ",cVal FOR nI := 1 TO Len(cVal) cC := subs(cVal, nI, 1) ? nI, cC, ASC(cC), " logika[ ! cC $ cTbl ]=", ! cC $ cTbl If ! cC $ cTbl cMsg += 'Неверный символ "'+cC+'" позиция '+hb_ntos(nI) cMsg += ' строка '+hb_ntos(nJ)+";" lRet := .F. EXIT EndIf NEXT NEXT IF ! lRet cMsg += 'БУКВЫ должны быть русскими !;;' cMsg += "Исправьте, иначе поиск будет неправилен !;;" MG_Stop(cMsg, 'Ошибка') This.&(cGetBox).SetFocus DO EVENTS ENDIF RETURN lRet
|
|
|
|
|
| Администратор
|
Пост N: 3943
Зарегистрирован: 23.05.05
|
|
Отправлено: 08.05.20 15:42. Заголовок: Andrey пишет: F..
Andrey пишет: цитата: | FOR nI := 128 TO 175 cTbl += CHR(nI) NEXT FOR nI := 224 TO 239 cTbl += CHR(nI) NEXT |
| Так в cp1251 символы начинаются с кода 192. Такая проверка годится для cp866, а никак не для cp1251
|
|
|
|
| постоянный участник
|
Пост N: 6658
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.05.20 16:26. Заголовок: Pasha пишет: Так в ..
Pasha пишет: цитата: | Так в cp1251 символы начинаются с кода 192. Такая проверка годится для cp866, а никак не для cp1251 |
| А на экране строка выглядит так: [ 0123456789АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя] Pasha пишет: цитата: | Такая проверка годится для cp866, а никак не для cp1251 |
| Понял. Опять моя ошибка. СПАСИБО !
|
|
|
|
| Администратор
|
Пост N: 3944
Зарегистрирован: 23.05.05
|
|
Отправлено: 08.05.20 16:30. Заголовок: Andrey пишет: А на ..
Andrey пишет: цитата: | А на экране строка выглядит так: |
| Правильно выглядит для кодировки 866 Еще хорошо бы выдать: ? hb_cdpSelect()
|
|
|
|
| постоянный участник
|
Пост N: 6659
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.05.20 16:34. Заголовок: Pasha пишет: ? hb_c..
Pasha пишет: Выдает то что надо ! RU1251 СПАСИБО Паша ! Это я опять поторопился, когда делал. Всё спешка проклятая. Сейчас юзера выдают мне мои ошибки по спешке.
|
|
|
|
| |
Пост N: 137
Зарегистрирован: 12.06.06
|
|
Отправлено: 01.06.20 11:25. Заголовок: Для заставки в прогр..
Для заставки в программе использую функцию Paintdegrade() из примера \Minigui\Samples\Advanced\PaintDegrade\Demo.prg. Если в пример вставить строку SET PROGRAMMATICCHANGE OFF , то цветовая гамма не появляется. Это несоответствие появилось еще с версии 17.04 . Как решить эту проблему?
|
|
|
|
| moderator
|
Пост N: 1724
Зарегистрирован: 11.02.10
|
|
Отправлено: 01.06.20 11:56. Заголовок: i3t4j6 пишет: Как р..
i3t4j6 пишет: Попробуй цитата: | DEFINE WINDOW Form_Main ; AT 0, 0 ; WIDTH 600 HEIGHT 400 ; TITLE 'Ejemplo Degradado en Ventanas' ; MAIN ; ON INIT paint_it( This.Handle ) ; ON PAINT paint_it( This.Handle ) ... |
|
|
|
|
|
| |
Пост N: 138
Зарегистрирован: 12.06.06
|
|
Отправлено: 02.06.20 11:57. Заголовок: Спасибо!!! Все работ..
Спасибо!!! Все работает.
|
|
|
|
| постоянный участник
|
Пост N: 6720
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.06.20 11:50. Заголовок: Всем привет ! А есть..
Всем привет ! А есть возможность узнать какая тема для контекстного меню установлена ? Типа nThemes := SetThemes(2) ..... SetThemes(nThemes ) И ещё нужно узнать какой цвет фона установлен у HMG_Alert() ? SET MSGALERT BACKCOLOR TO ..... nVal := GetMsgAlert() Тоже для восстановления потом.
|
|
|
|
| постоянный участник
|
Пост N: 6744
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.07.20 11:14. Заголовок: Всем привет ! Очеред..
Всем привет ! Очередная китайская загадка. На форму вывожу так: ? nY, nX, nWtb1, nHTxt, cFileSbln, aBColorTxt @ nY, nX TEXTBOX TbShbl_1 VALUE cFileSbln WIDTH nWtb1 HEIGHT nHTxt ; FONTCOLOR BLACK BACKCOLOR aBColorTxt ON CHANGE {|| cFileSbln := This.TbSbln_1.Value } пробовал и так: @ nY, nX TEXTBOX TbShbl_1 VALUE cFileSbln WIDTH nWtb1 HEIGHT nHTxt ; FONTCOLOR BLACK BACKCOLOR aBColorTxt ; ON CHANGE {|| cFileSbln := Form_SetCmp.TbSbln_1.Value } // строка 192 Форму строит нормально, но при попытке ввода - вылет с ошибкой: Error MGERROR/0 Control: TbSbln_1 Of Form_SetCmp Not defined. Program terminated. --------------------------------- Stack Trace --------------------------------- Called from MSGMINIGUIERROR(100) in module: h_error.prg Called from GETPROPERTY(4856) in module: h_controlmisc.prg Called from (b)FORM_OPENCOMPSET(192) in module: aTopMenu2.prg Called from _DOCONTROLEVENTPROCEDURE(1901) in module: h_windows.prg Called from EVENTS(1912) in module: h_events.prg Called from DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(1514) in module: h_windows.prg Called from FORM_OPENCOMPSET(401) in module: aTopMenu2.prg Все переменные определены, точно такой же оператор стоит в другом окне - работает без проблем. А почему здесь не работает, что не так делаю ?
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
All
[см. все]
|
|