On-line: Pasha, Haz, гостей 1. Всего: 3 [подробнее..]
АвторСообщение
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 
Профиль
Ответов - 301 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]


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




Пост N: 2537
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.01.13 12:32. Заголовок: Avf пишет: Можно, н..


Avf пишет:

 цитата:
Можно, например, так
while .t.



Нельзя так. Это на форме редактируется.



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




Пост N: 67
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.01.13 14:35. Заголовок: Andrey пишет:Подскаж..


Andrey пишет:
 цитата:
Подскажите, как можно проверить ввод 2-х паролей


Примерно так:Скрытый текст


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




Пост N: 2538
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.01.13 20:36. Заголовок: SergKis пишет: Прим..


SergKis пишет:

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


Спасибо БОЛЬШОЕ !
Очень подробно и с разъяснениями !!! Просто супер !

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




Пост N: 2539
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.01.13 10:48. Заголовок: Не нравиться порядок..


Не нравиться порядок написания программ в МиниГуи... уж очень растянуто получается...
Подскажите можно ли как то уменьшить или изменить это ?

Вот например:
Скрытый текст


На более читаемую версию:
Скрытый текст


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




Пост N: 2540
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.01.13 13:38. Заголовок: И еще вопрос вдогонк..


И еще вопрос вдогонку к предыдущему сообщению.

Видимость объектов на форме какая (допустим Label_1 )?
Это Public переменная или другая ?
В любом месте только одного модуля PRG можно обращаться к Form_1.Label_1.Value или в других модулях PRG тоже можно обращаться к объектам объявленных ранее ?

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




Пост N: 2545
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.01.13 01:26. Заголовок: Подскажите пожалуйст..


Подскажите пожалуйста, как в GRID'e можно сделать заголовки в 2-3 строчки ?
HEADERS { '№;№','1-строка;2-строка'..... } знак ";" как в TBROWSE() для Харбора не прокатывает...

Пробовал { '№'+CHR(13)+CHR(10)+'№', '1-строка'+CHR(13)+CHR(10)+'2-строка' ... } тоже не работает....


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




Пост N: 68
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.01.13 20:53. Заголовок: Andrey пишет:Видимос..


Andrey пишет:
 цитата:
Видимость объектов ...


Пока существует окно (не разрушено), существуют и контролы его и они всегда доступны.
Хранятся данные в переменных _HMG_... (см. i_var.ch).
Скрытый текст



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




Пост N: 2547
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.01.13 22:53. Заголовок: SergKis пишет: Пока..


SergKis пишет:

 цитата:
Пока существует окно (не разрушено), существуют и контролы его и они всегда доступны.


Т.е. доступны в любых PRG файлах данной программы, как Public переменные ?

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




Пост N: 70
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.01.13 14:59. Заголовок: Andrey пишет:как Pub..


Andrey пишет:
 цитата:
как Public переменные ?


Да как Public переменные. См. h_init.prg:
Procedure Init
...
Public _HMG_SYSDATA [ _HMG_SYSDATA_SIZE ]
...
Повторю пример функции (вчера пропустил пропажу [ i ] и ошибку): Скрытый текст


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




Пост N: 2550
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.01.13 23:42. Заголовок: Подскажите, как можн..


Подскажите, как можно на форме сделать мигающую надпись типа "Выбор здесь !" ?
MiniGUI\SAMPLES\BASIC\BLINK - не совсем красивый... цветами бы разными перерисовывался...

Или периодически всплывающее окошко с интервалом 5-10 сек. ?

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




Пост N: 72
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.01.13 13:34. Заголовок: Andrey пишет: как мо..


Andrey пишет:

 цитата:
как можно на форме сделать мигающую надпись


Примерно так: Скрытый текст



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




Пост N: 2552
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.01.13 16:33. Заголовок: SergKis пишет: Прим..


SergKis пишет:

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


Спасибо БОЛЬШОЕ !!!
Что-то медленно мигает, да и 2 цвета всего... и нет цикличности...

Скрытый текст


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




Пост N: 73
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.01.13 17:41. Заголовок: Andrey пишет:Что-то ..


Andrey пишет:
 цитата:
Что-то медленно мигает


Так INTERVAL 2000 - это две секунды (1000 * 2), надо задать как надо.

 цитата:
2 цвета всего


Можно сделать:
 
aColor : {{255,0,0}, {...}, ...} // цифры цвета взять с MS Paint режим Edit colors, поля {Red,Green,Blue}
Добавить:
Static nPos := 0
nPos += 1
IF nPos > len(aColor); nPos := 1
ENDIF
aFc := aColor [ nPos ]
...
Можно текст не менять, а менять цвет букв, бегая по циклу текста и массиву цветов, можно переставлять Label:
SetProperty(cWndName, cControlName, "Row", 70) // MyWnd.MyLabel.Row := 100
SetProperty(cWndName, cControlName, "Col", 10) // MyWnd.MyLabelCol := 10
или придумать что то еще.


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




Пост N: 2553
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.01.13 19:25. Заголовок: SergKis пишет: цифр..


SergKis пишет:

 цитата:
цифры цвета взять с MS Paint режим Edit colors, поля {Red,Green,Blue}


Я по вашим ранним рекомендациям поступил, взял цвета с i_color.ch

Вот готовый результат :
Скрытый текст

Спасибо БОЛЬШОЕ за подсказку !!!

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




Пост N: 74
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.01.13 20:17. Заголовок: Andrey пишет:взял цв..


Andrey пишет:
 цитата:
взял цвета с i_color.ch


ОТЛИЧНО !!! А цвета взять с MS Paint - это дополнение к i_color.ch (если нужны разнообразные оттенки).
Используя TIMER, надо приостанавливать его выполнение в вызовах своих функций для блокирования повторного выполнения TIMER (это особенно важно при дисковых операциях). Пример:
Function MyWndTimer()
SetProperty("MyWnd", "MyWndTimer", "Enabled", .F.)
...
SetProperty("MyWnd", "MyWndTimer", "Enabled", .T.)
Return


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




Пост N: 2554
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.01.13 20:20. Заголовок: SergKis пишет: Испо..


SergKis пишет:

 цитата:
Используя TIMER, надо приостанавливать его выполнение в вызовах своих функций для блокирования повторного выполнения TIMER (это особенно важно при дисковых операциях)


Спасибо большое ! Я бы не додумался ...

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




Пост N: 2555
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.01.13 20:26. Заголовок: А как реализовать во..


А как реализовать вот такую трехцветную форму ?


Это еще при том что на ней будут кнопки, списки, лабел и т.д.
Нашел вот только это: SAMPLES\BASIC\WindowBackground
DEFINE BKGBRUSH <brush> SOLID IN [ WINDOW ] <form> - similar to window Backcolor property
DEFINE BKGBRUSH <brush> HATCHED IN [ WINDOW ] <form>
DEFINE BKGBRUSH <brush> PATTERN IN [ WINDOW ] <form>

Я так понимаю, нужно залить одним цветом, а потов в OnInit() докрасить ?
Типа:
LOCAL aColor1 := {251, 250, 174} ; aYX1 := {0,0,210,Координата-Ширины-Окна-как-Узнать?}
LOCAL aColor2 := {255, 0, 255}
LOCAL aColor3 := {178, 227, 137} ; aYX3 := {300,0,Координата-Высоты-Окна-как-Узнать?,Координата-Ширины-Окна-как-Узнать?}

DEFINE WINDOW Form_7 ;
...... ;
BACKCOLOR aColor2 ;
..... ;
ON INIT MyFormCOLOR(aColor1,aYX1, aColor3, aYX2)

....................
FUNCTION MyFormCOLOR(aColor1,aYX1, aColor3, aYX2)

// Координата-Высоты-Окна-как-Узнать? - Форма же не инициализирована, т.е. её еще нет !!!
// Координата-Ширины-Окна-как-Узнать?}


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




Пост N: 75
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.01.13 13:11. Заголовок: Andrey пишет:А как р..


Andrey пишет:
 цитата:
А как реализовать вот такую трехцветную форму


Как-то так:
 
#include "minigui.ch"

Function Main()
Local i,j,y,x,w,h,t
Local cWnd,hWnd,nCliW,nCliH
Local cLblN1,nLblW1,nLblH1,nLblY1,nLblX1,aLblC1
Local cLblN2,nLblW2,nLblH2,nLblY2,nLblX2,aLblC2
Local cLblN3,nLblW3,nLblH3,nLblY3,nLblX3,aLblC3

cWnd := "MyWnd"

DEFINE WINDOW &cWnd ;
AT 40, 50 ;
WIDTH 480 ;
HEIGHT 410 ;
TITLE 'Test Label box' ;
MAIN

hWnd := GetFormHandle(cWnd)
nCliW := GetClientWidth (hWnd)
nCliH := GetClientHeight(hWnd)

cLblN1 := cWnd + '_Frame_Lbl1'
nLblW1 := nCliW
nLblH1 := int(nCliH * 0.4)
nLblY1 := 0
nLblX1 := 0
aLblC1 := {251, 250, 174}

cLblN2 := cWnd + '_Frame_Lbl2'
nLblW2 := nCliW
nLblH2 := int(nCliH * 0.2)
nLblY2 := nLblY1 + nLblH1
nLblX2 := nLblX1
aLblC2 := {255, 0, 255}

cLblN3 := cWnd + '_Frame_Lbl3'
nLblW3 := nCliW
nLblH3 := nCliH - (nLblH1 + nLblH2)
nLblY3 := nLblY2 + nLblH2
nLblX3 := nLblX1
aLblC3 := {178, 227, 137}

@ nLblY1, nLblX1 LABEL &cLblN1 VALUE "" OF &cWnd ;
WIDTH nLblW1 HEIGHT nLblH1 ;
BACKCOLOR aLblC1 BORDER CLIENTEDGE

i := GetControlIndex(cLblN1, cWnd)
j := cWnd + '_Frame_Text1'
t := "Hello Frame 1"
y := _HMG_aControlRow [ i ] + 10
x := _HMG_aControlCol [ i ] + 10
w := 100
h := 24

@ y, x LABEL &( j ) VALUE t WIDTH w HEIGHT h

@ nLblY2, nLblX2 LABEL &cLblN2 VALUE "" OF &cWnd ;
WIDTH nLblW2 HEIGHT nLblH2 ;
BACKCOLOR aLblC2 BORDER CLIENTEDGE

i := GetControlIndex(cLblN2, cWnd)
j := cWnd + '_Frame_Text2'
t := "Hello Frame 2"
y := _HMG_aControlRow [ i ] + 10
x := _HMG_aControlCol [ i ] + 10
w := 100
h := 24

@ y, x LABEL &( j ) VALUE t WIDTH w HEIGHT h

@ nLblY3, nLblX3 LABEL &cLblN3 VALUE "" OF &cWnd ;
WIDTH nLblW3 HEIGHT nLblH3 ;
BACKCOLOR aLblC3 BORDER CLIENTEDGE

i := GetControlIndex(cLblN3, cWnd)
j := cWnd + '_Frame_Text3'
t := "Hello Frame 3"
y := _HMG_aControlRow [ i ] + 10
x := _HMG_aControlCol [ i ] + 10
w := 100
h := 24

@ y, x LABEL &( j ) VALUE t WIDTH w HEIGHT h

END WINDOW

ACTIVATE WINDOW &cWnd

Return

/* C функции, если их нет
HB_FUNC( GETCLIENTWIDTH )
{
RECT rect;

GetClientRect( ( HWND ) hb_parnl(1), &rect );
hb_retni( ( INT ) rect.right - rect.left );
}

HB_FUNC( GETCLIENTHEIGHT )
{
RECT rect;

GetClientRect( ( HWND ) hb_parnl(1), &rect );
hb_retni( ( INT ) rect.bottom - rect.top );
}
*/


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




Пост N: 76
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.01.13 16:01. Заголовок: Andrey пишет:Я бы не..


Andrey пишет:
 цитата:
Я бы не додумался ...


В MiniGUI.chm есть раздел Timer (Controls Command) и в конце описания (и так практически везде) есть:
 
PROPERTIES (свойства): // GetProperty(...) или SetProperty(...) используем
...
EVENTS (события): // вызываются сами в определенных местах
...
METHODS (методы): // DoMethod(...) используем
...

Здесь смотрим, что есть в компонентах и пляшем отсюда ...


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




Пост N: 2556
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.01.13 16:18. Заголовок: SergKis пишет: /* C..


Спасибо БОЛЬШОЕ !
Программа заработала..
А как бы сделать динамически эту заливку ?
А то когда форму раздвигаешь, то белый цвет появляется ....


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