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 [только новые]


Andrey
постоянный участник




Пост N: 3724
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.14 18:48. Заголовок: Как мне до создания ..


Как мне до создания окна MAIN показать окно CHILD (или другое)
с сообщением типа - "Подождите, создаю базы..." ?

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




Пост N: 429
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.11.14 20:41. Заголовок: Andrey пишет:с сообщ..


Andrey пишет:
 цитата:
с сообщением типа - "Подождите, создаю базы..." ?


может подойдет схема из BASIC\WAIT_WINDOW\*.* с MAIN NOSHOW и окном сообщения в ON INIT, а после всех дел MAIN перевести в show.

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




Пост N: 4268
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.11.14 20:53. Заголовок: Andrey У тебя склер..


Andrey
У тебя склероз ?
Ты этот вопрос уже задавал. Поиск на форуме по слову SPLASH или пример MiniGUI\SAMPLES\BASIC\SPLASHDEMO_3

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


Пост N: 467
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 15.11.14 21:03. Заголовок: Примеры WAIT_WINDOW..


Примеры
WAIT_WINDOW_FOX
TimedMsgBox

посмотри

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




Пост N: 3725
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.14 22:36. Заголовок: Dima пишет: У тебя ..


Dima пишет:

 цитата:
У тебя склероз ?


Vlad04 пишет:

 цитата:
посмотри



А прочитать внимательно можно ?
Andrey пишет:

 цитата:
Как мне до создания окна MAIN показать окно



Если нельзя это делать - так напишите что НЕЛЬЗЯ !

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




Пост N: 3726
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.14 22:40. Заголовок: SergKis пишет: с MA..


SergKis пишет:

 цитата:
с MAIN NOSHOW и окном сообщения в ON INIT, а после всех дел MAIN перевести в show.


Да я знаю про этот вариант, просто принципиально понять хочу.
Если нет MAIN окна, то выводить другие окна нельзя получается ?

Т.е. такой код никогда не будет работать:

Show_MyInfo(.T.) // показ сообщения
Open_MyDbf
Show_MyInfo(.F.) // скрыть сообщение

DEFINE WINDOW Form_Main AT 0,0 WIDTH 720 HEIGHT 560 ;
MAIN ;
.....
END WINDOW
ACTIVATE WINDOW Form_Main
-----------------------------------

Почему тогда окна из MsgDebug(), MsgInfo() - всегда показывать можно ?


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




Пост N: 430
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.11.14 23:43. Заголовок: Andrey пишет: Show_M..


Andrey пишет:
 цитата:

Show_MyInfo(.T.) // показ сообщения
Open_MyDbf
Show_MyInfo(.F.) // скрыть сообщение


ты пропустил, сначала
CreateWindow_MyInfo()+Title+Menu+кнопки(min,max,exit)+контроы окна+...
потом
Show_MyInfo(.T.)
Open_MyDbf() // здесь возможны сообщения для окна, причем разные ...
...
и не забудь про Release, Destroy окна
а теперь сравни с DEFINE ... END WINDOW, которые ты писал
а CHILD сразу говорит дочернее, т.е. есть главное уже должно быть - это возвращаясь к твоему вопросу


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




Пост N: 3729
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.11.14 01:16. Заголовок: Andrey пишет: Как м..


Andrey пишет:

 цитата:
Как мне до создания окна MAIN показать окно CHILD (или другое)
с сообщением типа - "Подождите, создаю базы..." ?



В моёй вопросе есть ещё фраза - (или другое) !

Т.е. можно значит создать окно до MAIN ?

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



Пост N: 192
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 16.11.14 12:30. Заголовок: Всё как вы и хотели ..


Всё как вы и хотели : Запускается SPLASCH окошко ("Ждите подключение к БД и тд")
- и по завершении включает главное окно :


#include "minigui.ch"
#define WM_PAINT 15

#command DEFINE WINDOW <w> ;
[ AT <row>,<col> ] ;
[ WIDTH <wi> ] ;
[ HEIGHT <h> ] ;
PICTURE <bitmap> ;
SPLASH ;
[ DELAY <delay> ] ;
[ ON RELEASE <ReleaseProcedure> ] ;
=> ;
_DefineSplashWindow( <"w">, <row>, <col>, <wi>, <h>, <bitmap>, <delay>, <{ReleaseProcedure}> )

/*
*/
Function Main

DEFINE WINDOW Form_Main ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
TITLE 'Main Window' ;
MAIN ;
NOSHOW

END WINDOW

DEFINE WINDOW Form_Splash ;
PICTURE 'DEMO' ;
SPLASH ;
DELAY 4 ;
ON RELEASE Form_Main.Show <------ По завершении - ВКЛ - главного окна
END WINDOW

CENTER WINDOW Form_Main

ACTIVATE WINDOW ALL <------ РЕДКО ВСТРЕЧАЕТСЯ такая команда - АКТИВИЗИРОВАТЬ ВСЕ ОКНА :)

Return Nil

/*
*/
Procedure _DefineSplashWindow( name, row, col, width, height, cbitmap, nTime, Release )
Local aBmpSize := BmpSize( cbitmap )

DEFAULT row := 0, col := 0, width := aBmpSize[1], height := aBmpSize[2], nTime := 2

DEFINE WINDOW &name ;
AT row, col ;
WIDTH width HEIGHT height ;
CHILD TOPMOST ;
NOSIZE NOMAXIMIZE NOMINIMIZE NOSYSMENU NOCAPTION ;
ON INIT _SplashDelay( name, nTime ) ;
ON RELEASE Eval( Release )

@ 0,0 IMAGE Image_1 ;
PICTURE cbitmap ;
WIDTH width ;
HEIGHT height

END WINDOW

IF EMPTY(row) .AND. EMPTY(col)
CENTER WINDOW &name
ENDIF

SHOW WINDOW &name

Return

/*
*/
Procedure _SplashDelay( name, nTime )
Local iTime := Seconds()

SendMessage( GetFormHandle(name), WM_PAINT, 0, 0 )

Do While Seconds() - iTime < nTime
Do Events
EndDo

DoMethod( name, 'Release' )

Return


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




Пост N: 3731
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.11.14 16:13. Заголовок: Andrey пишет: Всё к..


Andrey пишет:

 цитата:
Всё как вы и хотели



Я хотел поменьше кода и не такой геморой с передачей/возвратом....

//Показать окно
// Создать базы
//скрыть окно

// А потом уж
DEFINE WINDOW Form_Main ;
MAIN ;

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




Пост N: 3786
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.14 22:41. Заголовок: Вопрос к Григорию, н..


Вопрос к Григорию, насчет кнопок !

Есть в рабочем примере такая конструкция:
DEFINE BUTTONEX &cObject
PARENT &cForm
..........
HANDCURSOR .T.
ONMOUSEHOVER ( SetProperty(ThisWindow.Name, cObject, "ICON", cResIco2), SetProperty(ThisWindow.Name, cObject, "fontcolor", aFontColorInvert ) )
ONMOUSELEAVE ( SetProperty(ThisWindow.Name, cObject, "ICON", cResIco) , SetProperty(ThisWindow.Name, cObject, "fontcolor", aFontColor) )
END BUTTONEX

Пытаюсь сделать то же самое, только без DEFINE:
@ nButtY,nWinWidth-20-nLenButt BUTTONEX BUTTON_4 WIDTH nLenButt HEIGHT nHButt ;
CAPTION "Выход" ;
ICON "iExit48x1" ;
FONTCOLOR aFontColor ;
BACKCOLOR MAROON ;
SIZE nFBSize BOLD ;
NOHOTLIGHT NOXPSTYLE HANDCURSOR ;
ONMOUSEHOVER ( SetProperty( ThisWindow.Name, "BUTTON_4", "ICON", "iExit48x2" ) ) ;
ONMOUSELEAVE ( SetProperty( ThisWindow.Name, "BUTTON_4", "ICON", "iExit48x1" ) ) ;
ACTION ( aRetColor := {} , aUslColor:= {}, ThisWindow.Release )

Не собирается, выдает ошибку:
Form_color.prg(120) Error E0030 Syntax error "syntax error at '@'"

Где неправильно делаю ?

И как правильно заменить в SetProperty( ThisWindow.Name, "BUTTON_4", ...) - BUTTON_4 на аналогичное,
короткое название ?
ThisWindow.Name - _HMG_THISFORMNAME
?????? - _HMG_THISCONTROLNAME
Где то встречал, но сейчас не нашёл.

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




Пост N: 692
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.11.14 23:47. Заголовок: Andrey пишет: ONMOU..


Andrey пишет:

 цитата:
ONMOUSEHOVER ( SetProperty( ThisWindow.Name, "BUTTON_4", "ICON", "iExit48x2" ) ) ;
ONMOUSELEAVE ( SetProperty( ThisWindow.Name, "BUTTON_4", "ICON", "iExit48x1" ) ) ;


Для такой команды синтаксис д.б. с пробелом

 цитата:
ON MOUSEHOVER ( SetProperty( ThisWindow.Name, "BUTTON_4", "ICON", "iExit48x2" ) ) ;
ON MOUSELEAVE ( SetProperty( ThisWindow.Name, "BUTTON_4", "ICON", "iExit48x1" ) ) ;


Andrey пишет:

 цитата:
короткое название ?


This.Name пробовал

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




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


gfilatov2002 пишет:

 цитата:
This.Name пробовал


Ну точно помню что видел такую конструкцию, лазил даже в i_this.ch - там не нашёл.

Спасибо БОЛЬШОЕ за помощь !!!


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




Пост N: 3788
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.12.14 13:17. Заголовок: Что то не работает п..


Что то не работает переключение иконок. Вторая иконка появляется только при нажатии кнопки.
Почему ? Как исправить ?
@ nButtY,nWinWidth-20-nLenButt BUTTONEX BUTTON_4 WIDTH nLenButt HEIGHT nHButt ;
CAPTION "Выход" ;
ICON "iExit48x1" ;
BACKCOLOR MAROON ;
FONTCOLOR aFontColor ;
SIZE nFBSize BOLD ;
NOHOTLIGHT NOXPSTYLE HANDCURSOR ;
ON MOUSEHOVER ( SetProperty( ThisWindow.Name, This.Name, "ICON", "iExit48x2" ) ,;
SetProperty(ThisWindow.Name, This.Name, "fontcolor", aFontColor2 ) ) ;
ON MOUSELEAVE ( SetProperty( ThisWindow.Name, This.Name, "ICON", "iExit48x1" ) ,;
SetProperty(ThisWindow.Name, This.Name, "fontcolor", aFontColor ) ) ;
ACTION ( aRetColor := {} , aUslColor:= {}, ThisWindow.Release )




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




Пост N: 3790
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.12.14 16:29. Заголовок: А можно как то сдела..


А можно как то сделать перевод с одного языка на другой на лету программы ?
Т.е. я не хочу делать отдельный языковой файл для программы, хочу просто переводить на другой язык в момент показа формы.
Можно ли как то все сообщения программы записать в файл (включая имена переменных) ?
А потом можно сделать отдельный модуль с переводом на другой язык. Т.е. форма всегда выводиться на русском, а если установлен другой язык, то переменные на форме перечитываются на нужный язык.

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




Пост N: 4291
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.12.14 16:54. Заголовок: посмотри для примера..


посмотри для примера сырец dbedit.prg от Паши

http://clipper.borda.ru/?1-4-0-00000666-000-0-0-1417410238

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



Пост N: 118
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 03.12.14 16:55. Заголовок: Перевод...на другой язык


Кто переводить-то будет ? Перевод сильно зависит от контекста.
Отдельное слово часто невозможно перевести без контекста.
"Мир" как переведешь ? "World" или "peace" ?

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




Пост N: 444
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.12.14 17:27. Заголовок: Andrey пишет:А можно..


Andrey пишет:
 цитата:
А можно как то сделать перевод с одного языка на другой на лету программы ?


petr707 пишет:
 цитата:
Кто переводить-то будет ?


можно пойти по такому пути:
Переводчик Google

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




Пост N: 3791
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.12.14 19:23. Заголовок: Можно ли как то все ..


Dima пишет:

 цитата:
посмотри для примера сырец dbedit.prg от Паши


Посмотрел. Я примерно так же раньше делал. Потом у Григория взял в качестве примера
MiniGUI\SAMPLES\Applications\DBFview\source\DBFview.lng но это не совсем то. Я проще хочу поступить.

Можно ли как то все сообщения программы записать в файл (включая имена переменных) ?
Т.е. по кнопке обход всех форм, считывание Label, FRAME, BUTTONEX и сброс их в файл.
А уж из этого файла можно будет отдельную функцию в программе сделать.

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




Пост N: 382
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 05.12.14 13:24. Заголовок: Context MENU


Григорий, добрый день.

Есть маленький, но неприятный глючок в CONTEXT MENU, причем проявляется не всегда ( Andrey тоже писал тут про него )
Суть его в том , что после выбора пункта меню, само меню не закрывается ( только со второго раза ). У меня это проявляется при использовании контекста в TSBrowse
DEFINE CONTEXT MENU CONTROL oBrw OF Win
MENUITEM 'Добавить новую статью ' ACTION {|| ... } NAME CM_1
MENUITEM 'Удалить текущую статью' ACTION {|| ... } NAME CM_2
END MENU

иногда глюк решался забором фокуса от меню через вывод сообщения по окончании ACTION - MsgBox('что то там выполнено'), но не всегда это вписывается в логику.
Перечитав исходники MiniGui нашел в h_Events.prg такие строки:

=================[ От сюда ]=================
1400:
// Process Menus .......................................
IF HiWord( wParam ) == 0 .AND. _HMG_aControlType == "MENU"
_DoControlEventProcedure ( _HMG_aControlProcedures , i )
RETURN 0
ENDIF
=================[ До сюда ]=================

Судя по всему это и есть вызов того самого ACTION, и подумав что меню лучше закрывать ПЕРЕД этим вызовом - добавил строку

=================[ От сюда ]=================
1400:
// Process Menus .......................................
IF HiWord( wParam ) == 0 .AND. _HMG_aControlType == "MENU"
_CloseMenu()
_DoControlEventProcedure ( _HMG_aControlProcedures , i )
RETURN 0
ENDIF
=================[ До сюда ]=================

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




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