Impresionante amigo.
Te felicito.
Desde luego se puede hacer todo con Fivewin.
Jose.
Impresionante amigo.
Te felicito.
Desde luego se puede hacer todo con Fivewin.
Jose.
Mui bién. Very good. Evolution now. Regards, saludos.
Gracias José
Gracias Karinha
saludos
// C:\TMETRO - BY Cesar SysCtrl Software 2021 - Muchas Gracias.
// METROWIN.PRG - Version 1.0 by Joao Santos - <!-- e --><a href="mailto:kapiabafwh@gmail.com">kapiabafwh@gmail.com</a><!-- e --> - 10/09/2021
// Comenzar a aprender en la PANTALLA TACTIL: Me Encanta Fivewin.
/* // Original:
* SysCtrl Terminal Punto de Venta
* 01-Jun-2021
* BY Cesar SysCtrl Software 2021
* en este proyecto ya no usamos connect.ini
* la connexion la controlamos desde codigo
* Special thanks To: Cesar SysCtrl Software 2021
* Modificado em: 10/09/2021 - by Joao Santos - Covid 19 - Quarentine.
*/
#Include "Ambienty.ch"
#Include "xBrowse.ch"
#Include "Metropnl.ch"
// #Include ".\includes\scs.CH"
STATIC oMetro, oTools, oWait
STATIC nClrBack := CLR_GREEN
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
ANNOUNCE RDDSYS
REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto
REQUEST DBFCDX, DBFFPT
FUNCTION Main()
LOCAL oWnd, oBar, oMetro, oBrush, cTitle := "Start", oServer, oQru, nRows
DEFINE WINDOW oWnd TITLE cTitle STYLE nOr( WS_POPUP, WS_MAXIMIZE ) ;
COLOR CLR_WHITE, CLR_GREEN ICON "TIMAO"
oMetro := MakeMetroPanel( oWnd ) // MENU
DEFINE BRUSH oBrush FILE '.\BACKUP.jpg' RESIZE UPDATE
oMetro:SetBrush( oBrush )
oBrush:End()
oMetro:bRClicked := { |r,c,f,o| msginfo( 'HWND' + NUMTOHEX( oWnd:hWnd, 8 ) ) }
ACTIVATE WINDOW oWnd MAXIMIZED ;
ON INIT( oWnd:nHeight := ScreenHeight(), oMetro:Show() )
RETURN NIL
STATIC FUNCTION MakeMetroPanel( oWnd ) // Professional Edition, yes sir!
LOCAL cTitle, oMetro, oBtn, oBtnEmp, oBtnSet, oBtnPerm, oBtnExit, oBtnLin
LOCAL oBtnRang, oBtnCli, oBtnArt, oBtnContr, oBtnStock, oBtnImp, oBtnMove
LOCAL oBtnLocal
cTitle := "SysCtrl PANEL - Via Touch Screen - Scroll Mouse Navigation - Version: 1.0"
DEFINE METROPANEL oMetro OF oWnd TITLE cTitle COLOR CLR_YELLOW, CLR_WHITE ;
ON CLICK( CIERRA_METROWIN( oWnd ) )
oMetro:lDesignMode := .T.
DEFINE METROBUTTON oBtnEmp OF oMetro ;
COLOR CLR_HBLUE, CLR_HGRAY ;
CAPTION "FiveTech" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\FiveTech.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Datos; de la; Empresa" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Empresas() )
oBtnEmp:nClrCaption := CLR_HCYAN
oBtnEmp:cToolTip := "Datos de la Empresa FiveTech"
// EM RESTO.PRG INICIO - modelo inicial
DEFINE METROBUTTON oBtnSet OF oMetro ;
COLOR CLR_WHITE,RGB( 86, 177, 14 ) ;
CAPTION "Setup" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image6.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Configuración;de;SysCtrl POS" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Configurar() )
oBtnSet:nClrCaption := CLR_BLACK
DEFINE METROBUTTON oBtnPerm OF oMetro ;
COLOR RGB( 15, 15, 15 ),RGB( 213, 177, 1 ) ;
CAPTION "Users" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image7.png" ;
SIZE 100, 100 ;
BMPALIGN "BOTTOMLEFT" ;
BODYTEXT "Control;de acceso;a los Usuarios" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Permisos() )
oBtnPerm:nClrCaption := CLR_HBLUE
oBtnPerm:cToolTip := "Control de acceso a los Usuarios"
DEFINE METROBUTTON oBtnLin OF oMetro ;
COLOR RGB( 15, 15, 15 ),RGB( 219, 239, 107 ) ;
CAPTION "Categories" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Pan_Setting.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Cátalogo;Linea;Productos" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Lineas() )
oBtnLin:nClrCaption := RGB(255,0,255)
oBtnLin:cToolTip := "Cátalogo Linea Productos"
DEFINE METROBUTTON oBtnRang OF oMetro ;
COLOR RGB( 255, 255, 128 ),RGB( 202, 7, 218 ) ;
CAPTION "Re-Arrange" ;
ALIGN "TOPCENTER" ;
BODYTEXT "By Just;Drag && Drop" ;
TEXTALIGN "MIDDLECENTER"
oBtnRang:nClrCaption := CLR_WHITE
oBtnRang:cToolTip := "By Just Drag && Drop"
DEFINE METROBUTTON oBtnCli OF oMetro ;
COLOR CLR_WHITE,RGB( 2, 174, 224 ) ;
CAPTION "Customers" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image3.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Catálogo;de;Clientes" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Clientes() )
oBtnCli:nClrCaption := CLR_MAGENTA //RGB(255,0,255)
oBtnCli:cToolTip := "Catálogo de Clientes"
DEFINE METROBUTTON oBtnArt OF oMetro ;
COLOR RGB( 15,15,15 ),RGB( 255, 255, 255 ) ;
CAPTION "Artigos" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image8.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "descripcion" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Artics() )
oBtnArt:nClrCaption := RGB( 255, 0, 255 )
oBtnArt:cToolTip := "Descripcion de Artics"
DEFINE METROBUTTON oBtnContr OF oMetro ;
COLOR RGB( 255,255,255 ),RGB( 220, 53, 69 ) ;
CAPTION "Contratos" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image13.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Cadastro; Contratos; Arrendamiento";
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Contratos() )
oBtnContr:nClrCaption := RGB(0,0,0)
oBtnContr:cToolTip := "Cadastro de Contratos y Arrendamiento"
DEFINE METROBUTTON oBtnStock OF oMetro ;
COLOR CLR_WHITE,RGB( 2, 70, 133 ) ;
CAPTION "Stock" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image2.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Control;de;Inventarios" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE
oBtnStock:nClrCaption := RGB(255,255,255)
oBtnStock:cToolTip := "Control de Inventarios"
DEFINE METROBUTTON oBtnImp OF oMetro ;
COLOR CLR_BLACK,CLR_WHITE ;
CAPTION "SysCtrl Reports" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Printer.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Centro;de;Impresión" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( msginfo("Reports") )
oBtnImp:nClrCaption := CLR_HRED
oBtnImp:cToolTip := "Centro;de;Impresión"
DEFINE METROBUTTON oBtnLocal OF oMetro ;
COLOR CLR_WHITE, RGB(255, 255, 255) ;
CAPTION "Commerce" +CRLF+ "Locales" ;
ALIGN "TOPRIGHT" ;
GROUP 2 ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image8.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 80, 80 ;
ACTION( Locales() )
oBtnLocal:nClrCaption := CLR_BLACK
oBtnLocal:cToolTip := "Commerce Locales"
// EM RESTO.PRG FIM
DEFINE METROBUTTON oBtnMove OF oMetro ;
COLOR CLR_BLACK, CLR_HRED ;
CAPTION "Salida" ;
ALIGN "TOPRIGHT" ;
GROUP 2 ;
BITMAP "c:\fwh1905\bitmaps\TOUCH.BMP" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 80, 80 ;
ACTION( CIERRA_METROWIN( oWnd ) )
oBtnMove:bOnMove := { |o,b| logfile( cFileSetExt( ExeName(), "log" ), { b:nTop, b:nLeft } ) }
@ 40,10 BTNBMP oBtnExit FILE "c:\fwh1905\bitmaps\metro\END.bmp" ;
SIZE 60, 60 PIXEL OF oMetro CENTER NOBORDER TRANSPARENT ;
ACTION( CIERRA_METROWIN( oWnd ) )
oBtnExit:cToolTip := "Salida - Exit - Cancelar"
RETURN( oMetro )
STATIC FUNCTION MetroFiles( oWnd )
LOCAL oMetro, n, oBtn
LOCAL aDir := Directory( "*.*" )
DEFINE METROPANEL oMetro OF oWnd TITLE "Files" ;
COLOR CLR_WHITE, nClrBack
for n := 1 to Min( Len( aDir ), 20 )
oMetro:AddButton( .t., nil, aDir[ n ][ 1 ],nil,nil,nil,"..\metro\files.bmp" )
next
oMetro:bRClicked := { || MsgInfo( "click" ), oMetro:SwitchTo( oMetro:oParent ) }
@ 40,10 BTNBMP oBtn FILE "c:\fwh\bitmaps\metro\metro-back-48.png","","",;
"c:\fwh\bitmaps\metro\back-black-48.png" ;
SIZE 60,60 PIXEL OF oMetro CENTER NOBORDER TRANSPARENT ;
ACTION oMetro:SwitchTo( oMetro:oParent )
RETURN( oMetro )
STATIC FUNCTION ImageFiles( oWnd )
LOCAL oMetro, aFiles, aFile, oBtn
aFiles := Directory( "..\bitmaps\AlphaBmp\*.bmp" )
DEFINE METROPANEL oMetro OF oWnd TITLE "Bitmaps" ;
COLOR CLR_WHITE, nClrBack
for each aFile in aFiles
DEFINE METROBUTTON OF oMetro ;
CAPTION aFile[ 1 ] ALIGN 'BOTTOMCENTER' ;
BITMAP "..\bitmaps\AlphaBmp\" + aFile[ 1 ] ;
BMPALIGN "TOPCENTER"
next
oMetro:bLClicked := { || msginfo( "click" ) }
@ 40,10 BTNBMP oBtn FILE "c:\fwh\bitmaps\metro\metro-back-48.png","","",;
"c:\fwh\bitmaps\metro\back-black-48.png" ;
SIZE 60,60 PIXEL OF oMetro CENTER NOBORDER TRANSPARENT ;
ACTION oMetro:SwitchTo( oMetro:oParent )
RETURN( oMetro )
FUNCTION UserConnection()
LOCAL cQry
LOCAL oDlg
LOCAL oGet[10]
LOCAL oBtn[ 10 ]
LOCAL oVar := array( 10 )
LOCAL oBrush
LOCAL oQry
LOCAL lVal := .f.
LOCAL oSay1
LOCAL oFont
LOCAL cClave1 := ""
LOCAL nCol := 75
LOCAL nSt := 55
LOCAL oImg
LOCAL cFile := ".\bmps\ScUser.jpg"
oVar[ 1 ] := space(15)
oVar[ 2 ] := space(40)
oVar[ 3 ] := space(15)
DEFINE BRUSH oBrush COLOR nRGB( 255, 255, 255 )
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12 BOLD
DEFINE DIALOG oDlg SIZE 525, 250 brush oBrush FONT oFont
oDlg:lTransparent := .t.
oDlg:cTitle := "SysCtrl Connection:"
@ 0,1 XIMAGE oImg filename cFile SIZE 70,70 NOBORDER OF oDlg
@ 10, nCol SAY "Clave Usuario :" OF oDlg pixel
@ 10, nCol+nSt GET oGet[ 1] VAR oVar[ 1 ] of oDlg SIZE 60, 12 PICTURE "@!k" PIXEL ;
VALID ( ChkUser1( oVar, oGet, oSay1 ) )
@ 25, nCol SAY "Nombre :" OF oDlg pixel
@ 25, nCol+nSt GET oGet[ 2] VAR oVar[ 2 ] of oDlg SIZE 120, 12 PICTURE "@!k" PIXEL
@ 40, nCol SAY FWString("Password:") OF oDlg pixel
@ 40, nCol+nSt GET oGet[ 3] VAR oVar[ 3 ] of oDlg SIZE 60, 12 PICTURE "@!k" ;
PIXEL PASSWORD
@ 85, 80 BTNBMP oBtn[1] PROMPT "Connect" SIZE 50, 30 OF oDlg ;
ACTION ( lVal := .t. , oDlg:end() ) RESOURCE "ACEPTAR" PIXEL TOP FLAT
@ 85, 145 BTNBMP oBtn[2] PROMPT "Cancel" SIZE 50, 30 OF oDlg ;
ACTION ( lVal := .f. , oDlg:end() ) CANCEL RESOURCE "CANCELAR" PIXEL TOP FLAT
oDlg:lHelpIcon := .f.
ACTIVATE DIALOG oDlg CENTERED ON INIT oGet[1]:SetFocus()
IF lVal
lVal := .f.
oQry := hMain["server"]:Query( "SELECT * FROM users WHERE user=" + C_SIMPLE + alltrim( oVar[ 1 ] ) + C_SIMPLE )
cClave1 := decrypt( oQry:FieldGet('pasw1') )
nRows := oQry:RecCount()
IF nRows=0
lVal := .f.
ENDIF
/*
if cstr2(cClave1) == cstr2(oVar[3])
lVal := .t.
endif
*/
oQry:end()
ENDIF
RETURN ( lVal )
FUNCTION ChkUser1( oVar, oGet, oSay1 )
LOCAL nRows, oQry
IF Empty( oVar[ 1 ] )
RETURN .t.
ENDIF
oQry := hMain["server"]:Query( "SELECT * FROM users WHERE user=" + C_SIMPLE + alltrim( oVar[ 1 ] ) + C_SIMPLE )
nRows := oQry:RecCount()
IF nRows > 0 //ya existe
oVar[2] := oQry:FieldGet('username')
hMain["user"] := oVar[1]
hMain["username"] := oVar[2]
hMain["admin"] := oQry:FieldGet('admin')
oGet[2]:disable()
oGet[2]:Refresh()
ENDIF
oQry:END()
oQry := NIL
RETURN( .T. )
FUNCTION CATALOGOUSUARIOS()
RETURN (.T.)
STATIC FUNCTION ExitTo( cExe )
IF File( cExe )
WinExec( cExe )
WndMain():End()
ELSE
MsgInfo( cExe + " not found" )
ENDIF
RETURN NIL
INIT PROCEDURE ScSets()
HB_GCALL( .F. )
/*
// Para establecer código de página a Español (Ordenación, etc..)
REQUEST HB_CODEPAGE_ESWIN
REQUEST HB_LANG_ES
HB_LANGSELECT( 'ES' )
*/
HB_LANGSELECT( 'PT' ) // Default language is now Portuguese
HB_SETCODEPAGE( "PT850" )
RDDSETDEFAULT("DBFCDX")
SET CENTURY ON
SET DATE BRITISH
SET TIME FORMAT TO "HH:MM:SS"
SET EPOCH TO YEAR( DATE() ) - 30
SET SOFTSEEK OFF
SET WRAP ON
SETCANCEL( .F. )
SET CONFIRM OFF
SET DELETED ON
SET _3DLOOK ON
SET UNIQUE OFF
SET ESCAPE OFF
SET EXACT ON
SET EXCLUSIVE OFF
SET MULTIPLE OFF
SetBalloon( .T. ) // Balloon shape required for tooltips
oSkinB = TSkinButton():New()
oSkinB:nClrBorder0_N := RGB( 249, 194, 179 )
oSkinB:nClrBorder1_N := RGB( 181, 61, 29 )
// ESTA EM: TESTSK1.PRG - VIDE: COLORS.CH - aPubGrad
// Verde Oliva... Fica good RGB(109, 135, 100) // Bordas Vermelhas.
oSkinB:aClrNormal := { { 0.2, RGB( 000, 128, 000 ), RGB( 000, 128, 000 ) }, ;
{ 0.8, RGB( 109, 135, 100 ), RGB( 109, 135, 100 ) } }
SkinButtons( oSkinB ) // MUDEI EM: 24/08/2021 - COR: VERDE OLIVA.
FW_SetUnicode( .T. )
SetGetColorFocus( CLR_LGREEN )
tGet():lDisColors := .F.
tGet():nClrTextDis := CLR_HBLUE
tGet():nClrPaneDis := CLR_SOFTYELLOW
/*
IF .NOT. File( "my_reports" )
lMkDir( "my_reports" )
ENDIF
*/
RETURN NIL
FUNCTION CIERRA_METROWIN( oWnd )
// ? [ Salida aqui - Gracias Cesar.]
IF FILE( "ENCERRA.wav" )
SndPlaySound( "ENCERRA.wav", 0 )
ENDIF
DbCommitAll()
DbUnLockAll()
DbCloseAll()
FreeResources()
Release All
SysRefresh()
HB_GCALL( .T. )
CLEAR MEMORY
PostQuitMessage( 0 )
QUIT
RETURN NIL
FUNCTION Empresas()
? [AQUI, EMPRESA...]
RETURN NIL
FUNCTION Configurar()
? [AQUI, CONFIGURAR...]
RETURN NIL
FUNCTION Permisos()
? [AQUI, PERMISOS...]
RETURN NIL
FUNCTION Lineas()
? [AQUI, LINEAS...]
RETURN NIL
FUNCTION Clientes()
? [AQUI, CLIENTES...]
RETURN NIL
FUNCTION Artics()
? [AQUI, ARTIGOS...]
RETURN NIL
FUNCTION Contratos()
? [AQUI, CONTRATOS...]
RETURN NIL
FUNCTION Locales()
? [AQUI, LOCALES...]
RETURN NIL
// FIN / END - <!-- e --><a href="mailto:kapiabafwh@gmail.com">kapiabafwh@gmail.com</a><!-- e -->muy bueno amigo
gracias
// C:\TMETRO - BY Cesar SysCtrl Software 2021 - Muchas Gracias.
// METROWIN.PRG - Version 2.0 by Joao Santos - <!-- e --><a href="mailto:kapiabafw@gmail.com">kapiabafw@gmail.com</a><!-- e --> - 10/09/2021
// Comenzar a aprender en la PANTALLA TACTIL: Me Encanta Fivewin.
/* // Original:
* SysCtrl Terminal Punto de Venta
* 01-Jun-2021
* BY Cesar SysCtrl Software 2021
* en este proyecto ya no usamos connect.ini
* la connexion la controlamos desde codigo
* Special thanks To: Cesar SysCtrl Software 2021
* Modificado em: 10/09/2021 - by Joao Santos - Covid 19 - Quarentine.
*/
#Include "Ambienty.ch"
#Include "xBrowse.ch"
#Include "Metropnl.ch"
// #Include ".\includes\scs.CH"
STATIC oWnd, oFontLarge, oFontMed, oFontUL, oFontSmall
STATIC oMetro, oTools, oWait
STATIC nClrBack := CLR_GREEN
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
ANNOUNCE RDDSYS
REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto
REQUEST DBFCDX, DBFFPT
FUNCTION Main()
// LOCAL oWnd, oBar, oMetro, oBrush, cTitle, oServer, oQru, nRows
LOCAL oBar, oMetro, oBrush, cTitle, oServer, oQru, nRows
cTitle := "PLENOIND For Windows - Skype: <!-- e --><a href="mailto:joao@pleno.com.br">joao@pleno.com.br</a><!-- e -->"
DEFINE FONT oFontLarge NAME "Segoe UI Light" SIZE 0, -60 BOLD
DEFINE FONT oFontMed NAME "Segoe UI Light" SIZE 0, -40 BOLD
DEFINE FONT oFontUL NAME "Segoe UI Light" SIZE 0, -30 UNDERLINE
DEFINE FONT oFontSmall NAME "Segoe UI Light" SIZE 0, -20 BOLD
/* WINDOW FULL - JANELA CHEIA PARA DESKTOP NAO E BOM.
DEFINE WINDOW oWnd TITLE cTitle STYLE nOr( WS_POPUP, WS_MAXIMIZE ) ;
COLOR CLR_WHITE, CLR_GREEN ICON ".\TIMAO.ico"
*/
DEFINE WINDOW oWnd TITLE cTitle ;
COLOR CLR_WHITE, CLR_GREEN ICON ".\TIMAO.ico"
oWnd:Maximize()
oMetro := MakeMetroPanel( oWnd ) // MENU
DEFINE BRUSH oBrush FILE '.\BACKUP.jpg' RESIZE UPDATE
oMetro:SetBrush( oBrush )
oBrush:End()
oMetro:bRClicked := { |r,c,f,o| msginfo( 'HWND' + NUMTOHEX( oWnd:hWnd, 8 ) ) }
/*
ACTIVATE WINDOW oWnd MAXIMIZED ;
ON INIT( oWnd:nHeight := ScreenHeight(), oMetro:Show() )
*/
ACTIVATE WINDOW oWnd MAXIMIZED ON INIT( oMetro:Show() ) ;
VALID( CIERRA_METROWIN( oWnd ) )
RETURN NIL
// menu do sistema touch
STATIC FUNCTION MakeMetroPanel( oWnd ) // Professional Edition, yes sir!
LOCAL cTitle, oMetro, oBtn, oBtnEmp, oBtnSet, oBtnPerm, oBtnExit, oBtnLin
LOCAL oBtnRang, oBtnCli, oBtnArt, oBtnContr, oBtnStock, oBtnImp, oBtnMove
LOCAL oBtnLocal
cTitle := "SysCtrl PANEL - Via Touch Screen"
DEFINE METROPANEL oMetro OF oWnd TITLE cTitle COLOR CLR_HGREEN, CLR_WHITE ;
ON CLICK( CIERRA_METROWIN( oWnd ) )
oMetro:lDesignMode := .T.
oMetro:oFont:End()
oMetro:oFont := oFontLarge // Title
DEFINE METROBUTTON oBtnEmp OF oMetro ;
COLOR CLR_HBLUE, CLR_HGRAY ;
FONT oFontSmall ;
CAPTION "FiveTech" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\FiveTech.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Datos; de la; Empresa" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Empresas() )
oBtnEmp:nClrCaption := CLR_HCYAN
oBtnEmp:cToolTip := "Datos de la Empresa FiveTech"
// EM RESTO.PRG INICIO - modelo inicial
DEFINE METROBUTTON oBtnSet OF oMetro ;
COLOR CLR_WHITE,RGB( 86, 177, 14 ) ;
FONT oFontSmall ;
CAPTION "Setup" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image6.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Configuración;de;SysCtrl POS" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Configurar() )
oBtnSet:nClrCaption := CLR_BLACK
DEFINE METROBUTTON oBtnPerm OF oMetro ;
COLOR RGB( 15, 15, 15 ),RGB( 213, 177, 1 ) ;
FONT oFontSmall ;
CAPTION "Users" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image7.png" ;
SIZE 100, 100 ;
BMPALIGN "BOTTOMLEFT" ;
BODYTEXT "Control;de acceso;a los Usuarios" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Permisos() )
oBtnPerm:nClrCaption := CLR_HBLUE
oBtnPerm:cToolTip := "Control de acceso a los Usuarios"
DEFINE METROBUTTON oBtnLin OF oMetro ;
COLOR RGB( 15, 15, 15 ),RGB( 219, 239, 107 ) ;
FONT oFontSmall ;
CAPTION "Categories" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Pan_Setting.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Cátalogo;Linea;Productos" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Lineas() )
oBtnLin:nClrCaption := RGB(255,0,255)
oBtnLin:cToolTip := "Cátalogo Linea Productos"
DEFINE METROBUTTON oBtnRang OF oMetro ;
COLOR RGB( 255, 255, 128 ),RGB( 202, 7, 218 ) ;
FONT oFontSmall ;
CAPTION "Re-Arrange" ;
ALIGN "TOPCENTER" ;
BODYTEXT "By Just;Drag && Drop" ;
TEXTALIGN "MIDDLECENTER"
oBtnRang:nClrCaption := CLR_WHITE
oBtnRang:cToolTip := "By Just Drag && Drop"
DEFINE METROBUTTON oBtnCli OF oMetro ;
COLOR CLR_WHITE,RGB( 2, 174, 224 ) ;
FONT oFontSmall ;
CAPTION "Customers" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image3.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Catálogo;de;Clientes" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Clientes() )
oBtnCli:nClrCaption := CLR_MAGENTA //RGB(255,0,255)
oBtnCli:cToolTip := "Catálogo de Clientes"
DEFINE METROBUTTON oBtnArt OF oMetro ;
COLOR RGB( 15,15,15 ),RGB( 255, 255, 255 ) ;
FONT oFontSmall ;
CAPTION "Artigos" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image8.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "descripcion" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Artics() )
oBtnArt:nClrCaption := RGB( 255, 0, 255 )
oBtnArt:cToolTip := "Descripcion de Artics"
DEFINE METROBUTTON oBtnContr OF oMetro ;
COLOR RGB( 255,255,255 ),RGB( 220, 53, 69 ) ;
FONT oFontSmall ;
CAPTION "Contratos" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image13.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Cadastro; Contratos; Arrendamiento" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( Contratos() )
oBtnContr:nClrCaption := RGB(0,0,0)
oBtnContr:cToolTip := "Cadastro de Contratos y Arrendamiento"
DEFINE METROBUTTON oBtnStock OF oMetro ;
COLOR CLR_WHITE,RGB( 2, 70, 133 ) ;
FONT oFontSmall ;
CAPTION "Stock" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image2.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Control;de;Inventarios" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE
oBtnStock:nClrCaption := RGB(255,255,255)
oBtnStock:cToolTip := "Control de Inventarios"
DEFINE METROBUTTON oBtnImp OF oMetro ;
COLOR CLR_BLACK,CLR_WHITE ;
FONT oFontSmall ;
CAPTION "SysCtrl Reports" ;
ALIGN "TOPRIGHT" ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Printer.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 100, 100 ;
BODYTEXT "Centro;de;Impresión" ;
TEXTALIGN "BOTTOMRIGHT" ;
LARGE ;
ACTION( msginfo("Reports") )
oBtnImp:nClrCaption := CLR_HRED
oBtnImp:cToolTip := "Centro;de;Impresión"
DEFINE METROBUTTON oBtnLocal OF oMetro ;
COLOR CLR_WHITE, RGB(255, 255, 255) ;
FONT oFontSmall ;
CAPTION "Commerce" +CRLF+ "Locales" ;
ALIGN "TOPRIGHT" ;
GROUP 2 ;
BITMAP "c:\fwh1905\bitmaps\PNGS\Image8.png" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 80, 80 ;
ACTION( Locales() )
oBtnLocal:nClrCaption := CLR_BLACK
oBtnLocal:cToolTip := "Commerce Locales"
// EM RESTO.PRG FIM
DEFINE METROBUTTON oBtnMove OF oMetro ;
COLOR CLR_WHITE,RGB( 86, 177, 14 ) ;
FONT oFontSmall ;
CAPTION "Salida" ;
ALIGN "TOPRIGHT" ;
GROUP 2 ;
BITMAP "c:\fwh1905\bitmaps\TOUCH.BMP" ;
BMPALIGN "BOTTOMLEFT" ;
SIZE 80, 80 ;
ACTION( CIERRA_METROWIN( oWnd ) )
oBtnMove:bOnMove := { |o,b| logfile( cFileSetExt( ExeName(), "log" ), { b:nTop, b:nLeft } ) }
@ 40,10 BTNBMP oBtnExit FILE "c:\fwh1905\bitmaps\metro\END.bmp" ;
SIZE 60, 60 PIXEL OF oMetro CENTER NOBORDER TRANSPARENT ;
ACTION( CIERRA_METROWIN( oWnd ) )
oBtnExit:cToolTip := "Salida - Exit - Cancelar"
RETURN( oMetro )
STATIC FUNCTION MetroFiles( oWnd )
LOCAL oMetro, n, oBtn
LOCAL aDir := Directory( "*.*" )
DEFINE METROPANEL oMetro OF oWnd TITLE "Files" ;
COLOR CLR_WHITE, nClrBack
for n := 1 to Min( Len( aDir ), 20 )
oMetro:AddButton( .t., nil, aDir[ n ][ 1 ],nil,nil,nil,"..\metro\files.bmp" )
next
oMetro:bRClicked := { || MsgInfo( "click" ), oMetro:SwitchTo( oMetro:oParent ) }
@ 40,10 BTNBMP oBtn FILE "c:\fwh\bitmaps\metro\metro-back-48.png","","",;
"c:\fwh\bitmaps\metro\back-black-48.png" ;
SIZE 60,60 PIXEL OF oMetro CENTER NOBORDER TRANSPARENT ;
ACTION oMetro:SwitchTo( oMetro:oParent )
RETURN( oMetro )
STATIC FUNCTION ImageFiles( oWnd )
LOCAL oMetro, aFiles, aFile, oBtn
aFiles := Directory( "..\bitmaps\AlphaBmp\*.bmp" )
DEFINE METROPANEL oMetro OF oWnd TITLE "Bitmaps" ;
COLOR CLR_WHITE, nClrBack
for each aFile in aFiles
DEFINE METROBUTTON OF oMetro ;
CAPTION aFile[ 1 ] ALIGN 'BOTTOMCENTER' ;
BITMAP "..\bitmaps\AlphaBmp\" + aFile[ 1 ] ;
BMPALIGN "TOPCENTER"
next
oMetro:bLClicked := { || msginfo( "click" ) }
@ 40,10 BTNBMP oBtn FILE "c:\fwh\bitmaps\metro\metro-back-48.png","","",;
"c:\fwh\bitmaps\metro\back-black-48.png" ;
SIZE 60,60 PIXEL OF oMetro CENTER NOBORDER TRANSPARENT ;
ACTION oMetro:SwitchTo( oMetro:oParent )
RETURN( oMetro )
FUNCTION UserConnection()
LOCAL cQry
LOCAL oDlg
LOCAL oGet[10]
LOCAL oBtn[ 10 ]
LOCAL oVar := array( 10 )
LOCAL oBrush
LOCAL oQry
LOCAL lVal := .f.
LOCAL oSay1
LOCAL oFont
LOCAL cClave1 := ""
LOCAL nCol := 75
LOCAL nSt := 55
LOCAL oImg
LOCAL cFile := ".\bmps\ScUser.jpg"
oVar[ 1 ] := space(15)
oVar[ 2 ] := space(40)
oVar[ 3 ] := space(15)
DEFINE BRUSH oBrush COLOR nRGB( 255, 255, 255 )
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12 BOLD
DEFINE DIALOG oDlg SIZE 525, 250 brush oBrush FONT oFont
oDlg:lTransparent := .t.
oDlg:cTitle := "SysCtrl Connection:"
@ 0,1 XIMAGE oImg filename cFile SIZE 70,70 NOBORDER OF oDlg
@ 10, nCol SAY "Clave Usuario :" OF oDlg pixel
@ 10, nCol+nSt GET oGet[ 1] VAR oVar[ 1 ] of oDlg SIZE 60, 12 PICTURE "@!k" PIXEL ;
VALID ( ChkUser1( oVar, oGet, oSay1 ) )
@ 25, nCol SAY "Nombre :" OF oDlg pixel
@ 25, nCol+nSt GET oGet[ 2] VAR oVar[ 2 ] of oDlg SIZE 120, 12 PICTURE "@!k" PIXEL
@ 40, nCol SAY FWString("Password:") OF oDlg pixel
@ 40, nCol+nSt GET oGet[ 3] VAR oVar[ 3 ] of oDlg SIZE 60, 12 PICTURE "@!k" ;
PIXEL PASSWORD
@ 85, 80 BTNBMP oBtn[1] PROMPT "Connect" SIZE 50, 30 OF oDlg ;
ACTION ( lVal := .t. , oDlg:end() ) RESOURCE "ACEPTAR" PIXEL TOP FLAT
@ 85, 145 BTNBMP oBtn[2] PROMPT "Cancel" SIZE 50, 30 OF oDlg ;
ACTION ( lVal := .f. , oDlg:end() ) CANCEL RESOURCE "CANCELAR" PIXEL TOP FLAT
oDlg:lHelpIcon := .f.
ACTIVATE DIALOG oDlg CENTERED ON INIT oGet[1]:SetFocus()
IF lVal
lVal := .f.
oQry := hMain["server"]:Query( "SELECT * FROM users WHERE user=" + C_SIMPLE + alltrim( oVar[ 1 ] ) + C_SIMPLE )
cClave1 := decrypt( oQry:FieldGet('pasw1') )
nRows := oQry:RecCount()
IF nRows=0
lVal := .f.
ENDIF
/*
if cstr2(cClave1) == cstr2(oVar[3])
lVal := .t.
endif
*/
oQry:end()
ENDIF
RETURN ( lVal )
FUNCTION ChkUser1( oVar, oGet, oSay1 )
LOCAL nRows, oQry
IF Empty( oVar[ 1 ] )
RETURN .t.
ENDIF
oQry := hMain["server"]:Query( "SELECT * FROM users WHERE user=" + C_SIMPLE + alltrim( oVar[ 1 ] ) + C_SIMPLE )
nRows := oQry:RecCount()
IF nRows > 0 //ya existe
oVar[2] := oQry:FieldGet('username')
hMain["user"] := oVar[1]
hMain["username"] := oVar[2]
hMain["admin"] := oQry:FieldGet('admin')
oGet[2]:disable()
oGet[2]:Refresh()
ENDIF
oQry:END()
oQry := NIL
RETURN( .T. )
FUNCTION CATALOGOUSUARIOS()
RETURN (.T.)
STATIC FUNCTION ExitTo( cExe )
IF File( cExe )
WinExec( cExe )
WndMain():End()
ELSE
MsgInfo( cExe + " not found" )
ENDIF
RETURN NIL
INIT PROCEDURE ScSets()
HB_GCALL( .F. )
/*
// Para establecer código de página a Español (Ordenación, etc..)
REQUEST HB_CODEPAGE_ESWIN
REQUEST HB_LANG_ES
HB_LANGSELECT( 'ES' )
*/
HB_LANGSELECT( 'PT' ) // Default language is now Portuguese
HB_SETCODEPAGE( "PT850" )
RDDSETDEFAULT("DBFCDX")
SET CENTURY ON
SET DATE BRITISH
SET TIME FORMAT TO "HH:MM:SS"
SET EPOCH TO YEAR( DATE() ) - 30
SET SOFTSEEK OFF
SET WRAP ON
SETCANCEL( .F. )
SET CONFIRM OFF
SET DELETED ON
SET _3DLOOK ON
SET UNIQUE OFF
SET ESCAPE OFF
SET EXACT ON
SET EXCLUSIVE OFF
SET MULTIPLE OFF
SetBalloon( .T. ) // Balloon shape required for tooltips
oSkinB = TSkinButton():New()
oSkinB:nClrBorder0_N := RGB( 249, 194, 179 )
oSkinB:nClrBorder1_N := RGB( 181, 61, 29 )
// ESTA EM: TESTSK1.PRG - VIDE: COLORS.CH - aPubGrad
// Verde Oliva... Fica good RGB(109, 135, 100) // Bordas Vermelhas.
oSkinB:aClrNormal := { { 0.2, RGB( 000, 128, 000 ), RGB( 000, 128, 000 ) }, ;
{ 0.8, RGB( 109, 135, 100 ), RGB( 109, 135, 100 ) } }
SkinButtons( oSkinB ) // MUDEI EM: 24/08/2021 - COR: VERDE OLIVA.
FW_SetUnicode( .T. )
SetGetColorFocus( CLR_LGREEN )
tGet():lDisColors := .F.
tGet():nClrTextDis := CLR_HBLUE
tGet():nClrPaneDis := CLR_SOFTYELLOW
/*
IF .NOT. File( "my_reports" )
lMkDir( "my_reports" )
ENDIF
*/
RETURN NIL
FUNCTION CIERRA_METROWIN( oWnd )
// ? [ Salida aqui - Gracias Cesar.]
IF FILE( "ENCERRA.wav" )
SndPlaySound( "ENCERRA.wav", 0 )
ENDIF
RELEASE FONT oFontLarge, oFontMed, oFontUL, oFontSmall
DbCommitAll()
DbUnLockAll()
DbCloseAll()
FreeResources()
Release All
SysRefresh()
HB_GCALL( .T. )
CLEAR MEMORY
PostQuitMessage( 0 )
QUIT
RETURN NIL
FUNCTION Empresas()
? [AQUI, EMPRESA...]
RETURN NIL
FUNCTION Configurar()
? [AQUI, CONFIGURAR...]
RETURN NIL
FUNCTION Permisos()
? [AQUI, PERMISOS...]
RETURN NIL
FUNCTION Lineas()
? [AQUI, LINEAS...]
RETURN NIL
FUNCTION Clientes()
? [AQUI, CLIENTES...]
RETURN NIL
FUNCTION Artics()
? [AQUI, ARTIGOS...]
RETURN NIL
FUNCTION Contratos()
? [AQUI, CONTRATOS...]
RETURN NIL
FUNCTION Locales()
? [AQUI, LOCALES...]
RETURN NIL
// FIN / END - <!-- e --><a href="mailto:kapiabafwh@gmail.com">kapiabafwh@gmail.com</a><!-- e -->João,
Muy bueno!
Hay un "flickering" de la imagen posterior al usar el scroll del ratón. Tal vez sea un bug de FWH
flickering, aflutter = Tremulante.
oscilante := swinging, wavering, flickering, oscillatory, floating, wobbly
Exacto Master.
No és nada que el equipo de FiveTech no pueda resolver.
Muchas gracias. Fuerte abrazo.
Regards, saludos.
ACTIVATE WINDOW oWnd MAXIMIZED ;
ON INIT( oWnd:nHeight := ScreenHeight(), oMetro:Show() )DEFINE WINDOW oWnd TITLE cTitle MDIJoão
MDI NO FUNCIONA