Форум » Для флейма » С Днем Советской Арм.. » Ответить

С Днем Советской Арм..

ММК: С Днем Советской Армии!!! С Праздником МУЖИКИ! FW ( наверное по этому случаю ) добавил в бровс еще одну выгрузку или две, если о HTML не говорил .. - New METHOD ToCSV( [cFile], [aCols], [lHeaders], [cTrue], [cFalse] )--> cFile/cCsvText 1. cFile (Optional): If specified, CSV text is written to this file and filename with full path is returned. Otherwise CSV text is returned. 2. aCols (Optional): Defaults to all oBrw:VisibleCols(). If provided, can be an array of column objects/ numbers/ headers/ 3. lHeaders (Optional): Defaults to .T.. If .f., headers are not written to the CSV 4. cTrue (Optional): Text to be written when the value is logical .t. 5. cFalse(Optional): Text to be written when the value is logical .f. И видимо обратив внимание на беспокойство Андрея добавил функцию загрузки XML в бровс :)) * New function XBrowseXML( cXmlFile ) to browse any XML file. и т.д. и т.п . Здоровья всем!!!

Ответов - 25, стр: 1 2 All

Andrey: ММК пишет: С Днем Советской Армии!!! С Праздником МУЖИКИ! Присоединяюсь ! ММК пишет: И видимо обратив внимание на беспокойство Андрея добавил функцию загрузки XML в бровс :)) Да я обратную операцию пытаюсь сделать. Если не сложно, то собери пример демонстрирующий эту функцию. Очень интересно посмотреть и по тестить на это.

gfilatov2002:

Pasha: Поздравляю всех со 100-летием создания Красной Армии, днем Советской Армии, и днем Защитника Отечества !


ММК: Andrey пишет: Да я обратную операцию пытаюсь сделать. Извините :) Andrey пишет: Если не сложно, то собери пример демонстрирующий эту функцию. Очень интересно посмотреть и по тестить на это. А здесь все просто. Думаю и переводить не надо . This function uses TXmlDocument class of (x)Harbour and can display only such xml files that can be read by this class. Вы легко в этом разберетесь. Есть более интересный пример ( на мой взгляд ). Пр-ка читает форум , выбирает примеры и показывает их с привязкой к автору, теме ,ключевому слову и т.д. И в то же время может выполнять такую же операцию на локальном диске. Вот Вам идея которая при соответствующей доработке может быть помощником классификации примеров и для FW и для этого форума :)) Download : http://www.pflegeplus.com/DOWNLOADS/Forum7.zip и сама тема - http://forums.fivetechsupport.com/viewtopic.php?f=3&t=35170

Andrey: ММК СПАСИБО !

Andrey: Кнопочки классные ! А можно код привести таких кнопочек ? Интересен синтаксис FW.

ММК: Andrey пишет: А можно код привести таких кнопочек ? Интересен синтаксис FW. А синтаксис практически такой же , как и в минигуи. Все команды FW имеют два основных варианта : 1. Весь "дизайн" делается руками в пр-ме 2. Используется дизайнер форм На примере "кнопочек" первый вариант - @ <nRow>, <nCol> SBUTTON [<oBtn>] ; [ <caption: PROMPT, CAPTION, TITLE> <cPrompt> ] ; [ <of:OF, WINDOW, DIALOG> <oWnd> ] ; [ <resource: NAME, RESNAME, RESOURCE> <aResource,...> ] ; [ <file: FILE, FILENAME, DISK> <aFile,...> ] ; [ SIZE <aSize,...> ] ; [ <lPixel: PIXEL, PIXELS> ] ; [ ACTION <uAction,...> ] ; [ <default: DEFAULT> ] ; [ FONT <oFont> ] ; [ MESSAGE <cMsg> ] ; [ TOOLTIP <cToolTip> ] ; [ <help:HELP, HELPID, HELP ID> <nHelpId> ] ; [ WHEN <uWhen> ] ; [ VALID <uValid> ] ; [ <border: BORDER, NOBORDER, NOBOX, LOOK W97, W97, NOBOXTR> ] ; [ <lCancel: CANCEL> ] ; [ <lAdjust: ADJUST > ] ; [ <color: COLOR, COLORS> <aColors,...> ] ; [ TEXT [POSITION] <nCaptPos> ] ; [ <lOpaque: BITMAP OPAQUE, OPAQUE> ] ; [ <shape: RECT, ROUND, ROUNDRECT, BITMAP, OFFICE, XP, CRYSTAL, SUNSET> ] ; [ BRUSH <oBrush> ] ; [ MENU [ACTION] <uMenu,...> ] ; И для второго варианта - REDEFINE SBUTTON [<oBtn>] ; [ ID <nId> ] ; [ <caption: PROMPT, CAPTION, TITLE> <cPrompt> ] ; [ <of:OF, WINDOW, DIALOG> <oWnd> ] ; [ <resource: NAME, RESNAME, RESOURCE, RESOURCES> <aResource,...> ] ; [ <file: FILE, FILENAME, DISK> <aFile,...> ] ; [ <action:ACTION, EXEC, ON CLICK> <uAction,...> ] ; [ <help:HELP, HELPID, HELP ID> <nHelpId> ] ; [ MESSAGE <cMsg> ] ; [ WHEN <uWhen> ] ; [ VALID <uValid> ] ; [ <border: BORDER, NOBORDER, NOBOX, LOOK W97, W97, NOBOXTR> ] ; [ TOOLTIP <cToolTip> ] ; [ FONT <oFont> ] ; [ <lCancel: CANCEL> ] ; [ <color: COLOR, COLORS> <aColors,...> ] ; [ TEXT [POSITION] <nCaptPos> ] ; [ <lOpaque: BITMAP OPAQUE, OPAQUE> ] ; SHAPE <cShape> ; [ BRUSH <oBrush> ] ; [ MENU [ACTION] <uMenu,...> ] ; [ <lAdjust: ADJUST > ] ;

Dima: Andrey пишет: Кнопочки классные ! Где то я видел уже эти кнопочки в примерах Минигуи.

Haz: Dima пишет: Где то я видел уже эти кнопочки в примерах Минигуи. Если не считать чуть скругленные края , то они там везде и всякие и с картинками и с градиентом. Если же вся красота именно в этих уголках - уверен не большая проблема сделать

Andrey: ММК пишет: А синтаксис практически такой же , как и в минигуи. Приведи пожалуйста пример кнопки Exit.

ZAlex: Andrey пишет: Приведи пожалуйста пример кнопки Exit. И еще вариант: Похожие кнопочки в FW можно получить и без использования дополнительных библиотек. http://shot.qip.ru/00UXHu-3KzjldnMf/ Синтаксис: #xcommand REDEFINE BTNBMP [<oBtn>] ; [ ID <nId> ] ; [ <bar: OF, BUTTONBAR > <oBar> ] ; [ <resource: NAME, RESNAME, RESOURCE> <cResName1> ; [,<cResName2>[,<cResName3>[,<cResName4>] ] ] ]; [ <file: FILE, FILENAME, DISK> <cBmpFile1> ; [,<cBmpFile2>[,<cBmpFile3>[,<cBmpFile4>] ] ] ] ; [ <action:ACTION,EXEC,ON CLICK> <uAction,...> ] ; [ MESSAGE <cMsg> ] ; [ <adjust: ADJUST > ] ; [ WHEN <uWhen> ] ; [ <lUpdate: UPDATE> ] ; [ TOOLTIP <cToolTip> ] ; [ PROMPT <cPrompt> ] ; [ FONT <oFont> ] ; [ <lNoBorder: NOBORDER> ] ; [ <layout: CENTER, TOP, LEFT, BOTTOM, RIGHT> ] ; [ <l2007: 2007> ] ; [ <lTrans: TRANSPARENT> ] ; [ <lNoRound: NOROUND> ]; [ GRADIENT <bGradColors> ]; [ <lGDIP: GDIP, GDIPLUS> ]; => ; #xcommand @ <nRow>, <nCol> BTNBMP [<oBtn>] ; [ <resource: NAME, RESNAME, RESOURCE> <cResName1> ; [,<cResName2>[,<cResName3>[,<cResName4>] ] ] ] ; [ <file: FILE, FILENAME, DISK, BITMAP> <cBmpFile1> ; [,<cBmpFile2>[,<cBmpFile3>[,<cBmpFile4>] ] ] ] ; [ SIZE <nWidth>, <nHeight> ] ; [ ACTION <uAction,...> ] ; [ <of:OF, WINDOW, DIALOG> <oWnd> ] ; [ MESSAGE <cMsg> ] ; [ WHEN <uWhen> ] ; [ <adjust: ADJUST> ] ; [ <lUpdate: UPDATE> ] ; [ PROMPT <cPrompt> ] ; [ FONT <oFont> ] ; [ TOOLTIP <cToolTip> ] ; [ <lNoBorder: NOBORDER> ] ; [ <lFlat: FLAT> ] ; [ <layout: CENTER, TOP, LEFT, BOTTOM, RIGHT> ] ; [ <l2007: 2007> ] ; [ <lTrans: TRANSPARENT> ] ; [ <lNoRound: NOROUND> ]; [ GRADIENT <bGradColors> ]; [ COLOR <nClrFore> [,<nClrBack>] ] ; [ <pixel: PIXEL> ] ; [ <design: DESIGN> ] ; [ <lGDIP: GDIP, GDIPLUS> ]; => ; @ 50, 45 BTNBMP oBtn[1] PROMPT "Войти" RESOURCE "login" LEFT SIZE 50, 18 PIXEL 2007 NOBORDER OF oDlg ; ACTION ( ..... ) oBtn[1]:bClrGrad = { | lMouseOver | If( ! lMouseOver,; { { 0.50, 11513775, 16777215 }, ; { 0.50, 16777215, 11513775 } }, ; { { 0.50, 16761992, 16777215 }, ; { 0.50, 16777215, 16761992 } } ) } oBtn[1]:cToolTip = { "Подтвердить" + CRLF + "пароль ключа ЭЦП","Логин", 1, CLR_BLACK, 14089979 } oBtn[1]:SetColor( 0, ) @ 50, 105 BTNBMP oBtn[2] PROMPT "Отмена" RESOURCE "Exit" LEFT SIZE 50, 18 PIXEL 2007 NOBORDER OF oDlg; ACTION ( lOk := .F., oDlg:End() ) oBtn[2]:bClrGrad = { | lMouseOver | If( ! lMouseOver, ; { { 0.50, 11513775, 16777215 }, ; { 0.50, 16777215, 11513775 } }, ; { { 0.50, 16761992, 16777215 }, ; { 0.50, 16777215, 16761992 } } ) } oBtn[2]:cToolTip = { "Отмена" ,"Выход", 1, CLR_BLACK, 14089979 } oBtn[2]:SetColor( 0, )

Andrey: Haz пишет: Если же вся красота именно в этих уголках - уверен не большая проблема сделать Да уголки не главное. Главное, как получить сам градиент + смена градиента при смене фокуса и ещё бы добавить смену иконки при смене фокуса. Сейчас делаю примерно так: [pre2] @ 5, 330 BUTTONEX BUTTON_Exit WIDTH 150 HEIGHT 40 ; CAPTION "Exit" FONTCOLOR WHITE BACKCOLOR RED ; SIZE 16 BOLD NOXPSTYLE HANDCURSOR NOTABSTOP ; TOOLTIP "Выход из программы" ; ON MOUSEHOVER { || This.Backcolor := BLACK, This.Fontcolor := YELLOW } ; ON MOUSELEAVE { || This.Backcolor := RED, This.Fontcolor := BLACK } ; ACTION { || ThisWindow.Release } [/pre2]

ММК: ZAlex пишет: Похожие кнопочки в FW можно получить и без использования дополнительных библиотек. FW для "кнопочек" имеет много возможностей. BUTTON,TBBUTTON,TRACKBAR,BUTTONBMP,BUTTONBAR,METROBUTTON,RBBTN ... Все сразу и не вспомнить, но для Андрея подойдет только TSBUTTON Andrey пишет: Приведи пожалуйста пример кнопки Exit. Завтра постараюсь выложить

Andrey: ММК пишет: Завтра постараюсь выложить И заодно - METROBUTTON !

SergKis: Andrey пишет Главное, как получить сам градиент + смена градиента при смене фокуса и ещё бы добавить смену иконки при смене фокуса. см. BASIC\ButtonEx\demo4.prg

Haz: Andrey пишет: Главное, как получить сам градиент + смена градиента при смене фокуса и ещё бы добавить смену иконки при смене фокуса. На счёт поддержки градиента в самой кнопке пока не скажу. Надо посмотреть с компа. А вот обоину подложить на кнопку можно хоть какую., с градиентом или в горошек. И менять эту обоину по фокусу. Fw безусловно более продвинут как платный продукт и мерятся тут кнопочками не в пользу MG, как в прочим и с другими контролами. Не забываем что MG от слова MINI

Dima: Опа :) C:\MiniGUI\SAMPLES\Advanced\ExpButton\

Andrey: Dima пишет: Опа :) C:\MiniGUI\SAMPLES\Advanced\ExpButton\ Есть такой пример... Забыли про него. Мне тогда ещё очень не понравился синтаксис написания: [pre2]@ 26,82 BUTTONEX MenuBut2 WIDTH 80 HEIGHT 22 CAPTION 'Menu-2' ; ACTION ShowBtnDropMenu('WinMain', This.Name,HBtn2DropMenu) ; TOOLTIP 'Menu-2' DEFINE CONTEXT MENU CONTROL MenuBut2 FOR i=1 TO 4 cItemName:='MenuBut2_'+Hb_NToS(i) MENUITEM 'MenuBut2_'+Hb_NToS(i); ACTION MsgInfo(This.Name) NAME &cItemName NEXT END MENU HBtn2DropMenu := _HMG_xContextMenuHandle SET CONTEXT MENU CONTROL MenuBut2 OF WinMain OFF WinMain.MenuBut2.Cargo:='1'[/pre2] Интересно, можно ли как то это спрятать внутрь кнопки ? Или сделать типа как FW - [ GRADIENT <bGradColors> ]; ? И хочется более привычного синтаксиса: [pre2] @ 5, 10 BUTTONEX BUTTON_Color WIDTH 150 HEIGHT 46 ; CAPTION "Color" ICON "iColor32x1" FONTCOLOR BLACK BACKCOLOR ORANGE ; SIZE 16 BOLD NOXPSTYLE HANDCURSOR NOTABSTOP ; ON MOUSEHOVER {|| This.Backcolor := BLACK , This.Fontcolor := YELLOW ,; SetProperty(ThisWindow.Name, This.Name, "ICON", "iColor32x2" ) } ; ON MOUSELEAVE {|| This.Backcolor := ORANGE, This.Fontcolor := BLACK ,; SetProperty(ThisWindow.Name, This.Name, "ICON", "iColor32x1" ) } ; ACTION {|| TableColor(oBrw) } [/pre2] А вот так не компилируется:[pre2] ON MOUSEHOVER {|| This.Backcolor := BLACK , This.Fontcolor := YELLOW, This.Icon := "iColor32x2" } ; ON MOUSELEAVE {|| This.Backcolor := ORANGE, This.Fontcolor := BLACK , This.Icon := "iColor32x1" } ; [/pre2] Выдаёт ошибку: demo2.prg(99) Error E0030 Syntax error "syntax error at '.'" Haz пишет: Fw безусловно более продвинут как платный продукт и мерятся тут кнопочками не в пользу MG, как в прочим и с другими контролами. Не забываем что MG от слова MINI Да это понятно. Просто некоторые решения (как сейчас по кнопке) хочется иметь и в МиниГуи.

gfilatov2002: Andrey пишет: А вот так не компилируется: ON MOUSEHOVER {|| This.Backcolor := BLACK , This.Fontcolor := YELLOW, This.Icon := "iColor32x2" } ; ON MOUSELEAVE {|| This.Backcolor := ORANGE, This.Fontcolor := BLACK , This.Icon := "iColor32x1" } ; Благодарю за наводку Поправил эту недоработку для новой сборки... Andrey пишет: сделать типа как FW - [ GRADIENT <bGradColors> ]; ? Градиентная закраска кнопок в Минигуи доступна с конца 2016 года. Andrey пишет: хочется иметь и в МиниГуи Выслал тестовый пример с вышеописанными понравившимися кнопками по почте

Andrey: gfilatov2002 пишет: Градиентная закраска кнопок в Минигуи доступна с конца 2016 года. А я это пропустил... Буду теперь знать. Спасибо БОЛЬШОЕ Григорий !

ММК: Уверен , что Вы Андрей знаете Manuel Mercado. Это он написал TsBrows . В то же время ( более 15 лет ) он сделал еще один класс - TsButton , TSLines TSRadio TSTSay. Есть исходники, примеры. Mercado выложил все , как и для бровса. Думаю , что внедрить в МГ его будет более просто, чем бровс и более интересно ,чем просто "подтягивать" кнопки до такого же уровня. Хотя возможно и ошибаюсь :) И примеры кнопок, как обещал ... Могут быть круглые, овальные прямоугольные, размер любой @75, 15 SBUTTON oBtn PROMPT "Exit" OF oDlg ; SIZE 25, 10 PIXEL ROUND ; COLORS CLR_WHITE, { CLR_BLACK, CLR_HRED, 3 } ; ACTION oDlg:End() oBtn:cToolTip := "Boxes are transparent to other controls" На кнопке может быть градиент ( вертикальный,горизонтальный, смещенный) надписи , картинки. На следующем скрине шесть кнопок. Печать и 1.2.3.4.5 Это кнопка печати @ 68, 82 SBUTTON aCtl[ 12 ] PROMPT "OK" OF oDlg ; RESOURCE "Print" TEXT ON_BOTTOM ROUNDRECT NOBORDER ; FONT oFont[ 1 ] SIZE 26, 38 PIXEL COLORS CLR_BLACK, {nRGB( 68, 146, 107 ), CLR_WHITE, 3 } ; //nRGB( 105, 139, 34 ) ACTION fPrintBole( aCtl, aGet, nGet, nTarifa, nBoletos, nCarro, cHora ) Кнопка отрабатывает "мышь". Т.е. нет фокуса, есть, нажатие. В соответствии с чем меняется картинка на кнопке. Вот две картинки , когда фокуса нет и когда указатель мыши на кнопке. @60, 300 SBUTTON oBtn[ 4 ] OF aChild[ 1 ] FONT oFont[ 2 ] ; SIZE 74, 26 PIXELS ; RESOURCE "Lamp1", "Lamp2",, "Lamp3", "Shape3" ; SHAPE ; PROMPT "Exit" ; TEXT ON_LEFT ; ACTION aChild[ 1 ]:End(); COLORS CLR_BLACK ; TOOLTIP "End Program" ; MESSAGE 'See new "Shape" feature and 3D text (bas-relief), ' + ; 'default position, specific 3D colors' // 3D effect (raised) in text with default position, specific colors oBtn[ 4 ]:SetText( Nil, Nil, Nil, .F., CLR_LIGHT, CLR_SHADOW ) Интересный момент , когда на одной кнопке есть множественный выбор. Здесь две кнопки. На первой можно выбрать просмотр, сохранение или печать. @ 5, 30 SBUTTON oBtn[ 1 ] PROMPT aPrompt[ 1 ] PIXEL OF oDlg ; RESOURCE "VSP" FONT oFont COLOR CLR_BLUE SHAPE ; ACTION MsgInfo( "Main Action Sample 1" ) ; TOOLTIP "Test" oBtn[ 1 ]:AddHotSpot( aRVSP[ 1 ], aBVSP[ 1 ], aTVSP[ 1 ] ) oBtn[ 1 ]:AddHotSpot( aRVSP[ 2 ], aBVSP[ 2 ], aTVSP[ 2 ] ) oBtn[ 1 ]:AddHotSpot( aRVSP[ 3 ], aBVSP[ 3 ], aTVSP[ 3 ] ) Есть возможность создавать анимированные кнопки. Кнопки "каквофисе" и еще кое что :))

ММК: Забыл METROBUTTON ... DEFINE METRO oMetro ; TITLE "My FWH Metro app" ; BACKGROUND "..\bitmaps\hires\earth.bmp" ............. DEFINE METROBUTTON OF oMetro ; PROMPT "Exit" COLOR CLR_WHITE, RGB( 2, 174, 224 ) ; IMAGE "..\bitmaps\metro\exit.bmp" ; ACTION If( MsgYesNo( "Want to exit ?" ), oMetro:End(),) ACTIVATE METRO oMetro

Andrey: ММК СПАСИБО ! Для моей картинки "Пост N: 5761" можешь дать синтаксис этих кнопок ? Просто знать хочу как это выглядит в FW и сравнить с МиниГуи.

Andrey: Вот что получается для текущей версии МиниГуи: При наведении мышки на кнопку:

Andrey: Вот, теперь есть кнопки как FW. И синтаксис простой. [pre2] aGradFillEx := { { 0.5, CLR_HRED, CLR_WHITE }, { 0.5, CLR_WHITE, CLR_HRED } } aGradOverEx := { { 0.5, CLR_RED, CLR_YELLOW }, { 0.5, CLR_YELLOW, CLR_RED } } @ 468, 240 BUTTONEX BUTTON_Exit WIDTH 190 HEIGHT 46 ; CAPTION "Exit" ICON "iExit32x1" FONTCOLOR BLACK ; FLAT NOXPSTYLE HANDCURSOR ; BACKCOLOR aGradOverEx ; GRADIENTFILL aGradFillEx ; ON MOUSEHOVER ( This.Fontcolor := GRAY , This.Icon := "iExit32x2" , This.GradientFill := aGradFillEx ) ; ON MOUSELEAVE ( This.Fontcolor := BLACK , This.Icon := "iExit32x1" , This.GradientOver := aGradOverEx ) ; ACTION ThisWindow.Release[/pre2]



полная версия страницы