Clipper On Line • Ver Tópico - FUNCAO IMPRESSAO SYSTRAY

FUNCAO IMPRESSAO SYSTRAY

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

FUNCAO IMPRESSAO SYSTRAY

Mensagempor rogeriohfb » 05 Fev 2020 16:33

Ola
Preciso gerar um executavel no systray, para uma simples rotina de impressao, localizando um arquivo txt
numa determinada pasta.
Por onde começar ?
Obrigado
rogeriohfb
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 20
Data de registro: 23 Mar 2016 10:14
Cidade/Estado: Adamantina/SP
Curtiu: 27 vezes
Mens.Curtidas: 0 vez

FUNCAO IMPRESSAO SYSTRAY

Mensagempor Itamar M. Lins Jr. » 05 Fev 2020 18:28

Ola!
Indicando suas ferramentas de uso. Eu uso Hwgui por exemplo para fazer isso.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

FUNCAO IMPRESSAO SYSTRAY

Mensagempor Itamar M. Lins Jr. » 05 Fev 2020 18:41

Ola!
Tem várias formas, não precisa está no systray necessariamente.
http://www.linhadecodigo.com.br/artigo/2992/executar-aplicacoes-em-background-com-agendador-de-tarefas-windows.aspx

Só uma ideia!

Function main
Do while .t.
   if hb_filesexists("c:\minhapasta\arquivo.txt")
    printfileraw("c:\minhapasta\arquivo.txt")
   endif
   inkey(.5)
  If lastkey() = 27
     exit
  EndIf

    hb_vferase("c:\minhapasta\arquivo.txt")

EndDo
c:\>hbmk2 -gtcgi meudaemon.prg

opção "-gtcgi" fica sem tela!
Chamar esse programa no agendador de tarefas.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

FUNCAO IMPRESSAO SYSTRAY

Mensagempor jmsilva » 08 Fev 2020 23:38

Procura na web, por prwin3, app excelente free do amigo Vagus. Faz exatamente o que precisa. Usei por anos!
http://www.vagucs.com.br/?p=40
jmsilva
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 5
Data de registro: 29 Mar 2019 14:28
Cidade/Estado: Caraguatatuba/sp
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

FUNCAO IMPRESSAO SYSTRAY

Mensagempor rogeriohfb » 03 Mar 2020 19:53

Na verdade, preciso tratar o arquivo.txt que é gerado.
Depois eu crio o relatorio e envio....

Obrigado
rogeriohfb
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 20
Data de registro: 23 Mar 2016 10:14
Cidade/Estado: Adamantina/SP
Curtiu: 27 vezes
Mens.Curtidas: 0 vez

FUNCAO IMPRESSAO SYSTRAY

Mensagempor JoséQuintas » 03 Mar 2020 20:47

GTWVG, mas o problema seria como interromper, sem janela visível kkkk

PROCEDURE Main

   DO WHILE .T.
        IF Len( Directory( "*.txt" ) ) != 0
            // processa
      ENDIF
      Inkey(2)
   ENDDO
   RETURN

PROCEDURE HB_GTSYS
   REQUEST HB_GT_WVG_DEFAULT
   RETURN NIL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

FUNCAO IMPRESSAO SYSTRAY

Mensagempor rogeriohfb » 04 Mar 2020 20:46

Então, precisaria deixar um 'iconezinho' la no cantinho do relogio....mas nem sei como começar....rs ou choro....
rogeriohfb
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 20
Data de registro: 23 Mar 2016 10:14
Cidade/Estado: Adamantina/SP
Curtiu: 27 vezes
Mens.Curtidas: 0 vez

FUNCAO IMPRESSAO SYSTRAY

Mensagempor ANDRIL » 05 Mar 2020 08:53

Se não for usar algo nativo para Tray como tem a HWGUI, tente com o aplicativo KStray em anexo com ele voce consegue colocar seu aplicativo na bandeja do relógio. Execute ele no prompt e veja a linha de comando que precisa passar, monte um bat e coloque na pasta iniciar do Windows.
Anexos
KSTray.zip
(291.23 KiB) Baixado 138 vezes
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar de usuário

ANDRIL
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1270
Data de registro: 06 Jul 2004 00:44
Curtiu: 12 vezes
Mens.Curtidas: 46 vezes

FUNCAO IMPRESSAO SYSTRAY

Mensagempor Vander » 06 Mar 2020 01:40

Uso para avisar as contas a pagar no dia com exibição de tempos em tempos, pode servir para uma ideia e alterar para impressão.
PRG (é de 212 ainda mal escrito mas ainda uso como esta.)
#include "fivewin.ch"
#include "struct.ch"
//---------------------------
#Define LET_TITU     nRGB( 115,230,255 )
#Define FUN_TITU     nRGB( 000,104,189 )
//---------------------------
#define NIM_ADD     0 //
#define NIM_DELETE  2 //
#define NIM_MODIFY  1 //   Para TaskAddIcon
#define NIF_ICON    2 //
#define NIF_MESSAGE 1 //
#define NIF_TIP     4 //
STATIC oWndTray, oTray, oTrayIcon, lQuitTray := .F., lTaskWork := .F.
//--------------------
FUNCTION Main()
PUBLIC hBorland := LoadLibrary( "bwcc32.dll" )
PUBLIC hWorkRes := LoadLibrary( "workres.dll" )
PUBLIC hFivewin := LoadLibrary( "fwctrls.dll" )
//---------------------------------------------
   IF FindWindow( 0, "Contas a pagar" ) > 0
      RETURN NIL
   ENDIF
//------------------------------ PAGAR
   IF !FILE('..\DADOSVLN\PAGAR.DBF')
      aStr := {}
      AADD(aStr,{'NOMCREDOR','C',050,000})  // NOME
      AADD(aStr,{'TIPODOCUM','N',004,000})  // SITUAÇÃO
      AADD(aStr,{'VLTODEBIT','N',007,002})  // VALOR TOTAL
      AADD(aStr,{'VALORPAGO','N',007,002})  // VALOR PAGO
      AADD(aStr,{'VENCIMENT','D',008,000})  // DATA DO VENCIMENTO
      DBCREATE('..\DADOSVLN\PAGAR.DBF',aStr)
   ENDIF
   If !Neterr()
      IF FILE('..\DADOSVLN\PAGAR.DBF')
         USE ..\DADOSVLN\PAGAR
         GO TOP
         DO WHILE !EOF()
            IF VLTODEBIT = 0
               DELETE
            ENDIF
            SKIP
         ENDDO
      ENDIF
   ENDIF
   PACK
   CLOSE DATABASE
//---------------------------
   IF !FILE('TEMPO.DBF')
      aStr := {}
      AADD(aStr,{'TEM_AVISO','N',003,000})
      DBCREATE('TEMPO.DBF',aStr)
      CLOSE DATABASE
      USE TEMPO
      APPE BLAN
      REPLACE TEM_AVISO WITH 999
      CLOSE DATABASE
   ENDIF
//---------------------------
   IF !FILE('CONTATMP.DBF')
      aStr := {}
      AADD(aStr,{'TNOMCREDOR','C',050,000})  // NOME
      AADD(aStr,{'TTIPODOCUM','N',004,000})  // SITUAÇÃO
      AADD(aStr,{'TVLTODEBIT','N',007,002})  // VALOR TOTAL
      AADD(aStr,{'TVALORPAGO','N',007,002})  // VALOR PAGO
      AADD(aStr,{'TVENCIMENT','D',008,000})  // DATA DO VENCIMENTO
      DBCREATE('CONTATMP.DBF',aStr)
      CLOSE DATABASE
   ENDIF
//---------------------------
   USE CONTATMP
   ZAP
   CLOSE DATABASE
//---------------------------
   DEFINE ICON oTrayIcon RESOURCE "PAGA"
   DEFINE WINDOW oWndTray TITLE "Contas a pagar" ICON oTrayIcon FROM 600, 600 TO 601, 601
   oWndTray:bTaskBar := { | nWParam, nLParam | TaskBar( nWParam, nLParam ) }
   oWndTray:bResized := { | nSizeType | DoTaskBar( nSizeType ) }
   ACTIVATE WINDOW oWndTray ON INIT Initialize() VALID QuitTray()
RETURN NIL
//---------------------------
FUNCTION Initialize()
   USE CONTATMP  ALIAS CONTE NEW
   USE TEMPO     ALIAS MINUT NEW
//------------------------------ PAGAR
   USE ..\DADOSVLN\PAGAR    ALIAS PAGAR SHARED new
   INDEX ON NOMCREDOR                         tag NOCRE   TO ..\INDICVLN\PAGAMENT  // NOME
   INDEX ON VENCIMENT                         tag VENDB   TO ..\INDICVLN\PAGAMENT  // VENCIMENTO
   GO TOP
/////////////////
   tem := 0
   do while !eof()
      IF VENCIMENT < DATE() +1
         tem++
      endif
      skip
   enddo
   if tem = 0
      quit
   endif
   GO TOP
/////////////////
   SELECT MINUT
   IF TEM_AVISO = 999
      MSGINFO("Configure o Intervalo de Lembrete.","-$$ NÃO LEMBRAR $$-" )
   ENDIF
//---------------------------
   TMP := MINUT->TEM_AVISO * 60000
//---------------------------
   SET EXCL  ON
   SET EXACT ON
   SetHandleCount( 200 )
   REQUEST DBFCDX
   RDDSETDEFAULT("DBFCDX")
   REQUEST HB_CODEPAGE_PT850
   HB_SETCODEPAGE( "PT850" )
   SET DECIMALS TO 2
   SET CENTURY ON
   SET DELETED ON
   SET DATE TO FRENCH
   SET EPOCH TO 1990
   SET 3DLOOK ON
   set dbflockscheme to 2            // PARA ABRIR EM 2 SISTEMAS AO MESMO TEMPO
   nResHoriz := oWndTray:nHorzRes() // retorna a resolucao horizontal
   nResVert  := oWndTray:nVertRes()  // retorna a resolucao vertical
   (oWndTray:Minimize(),ajt(tmp))
RETURN NIL
//--------------------------- VERIFICAR TEMPO
FUNCTION ajt(tempo)
  DEFINE TIMER oTimer OF oWndTray                 INTERVAL tempo ACTION cpar()
  oTimer:activate()
RETURN NIL
//---------------------------
function cpar()
  hWnd:=FindWindow(0, [-$$ CONTAS PARA HOJE $$-] )
   IF hWnd # 0
     RETURN Nil
   ENDIF
//---------------------------
  SELECT CONTE
//---------------------inicio-----------------------------------------------------------------
  zap
   SELECT PAGAR
   GO TOP
   DO WHILE !EOF()
      IF VENCIMENT < DATE() +1
         xTNOMCREDOR := NOMCREDOR   // NOME
         xTVLTODEBIT := VLTODEBIT   // VALOR TOTAL
         xTVALORPAGO := VALORPAGO   // VALOR PAGO
         xTVENCIMENT := VENCIMENT   // DATA DO VENCIMENTO
         SELECT CONTE
         APPE BLAN
         REPLACE TNOMCREDOR WITH xTNOMCREDOR  // NOME
         REPLACE TVLTODEBIT WITH xTVLTODEBIT  // VALOR TOTAL
         REPLACE TVALORPAGO WITH xTVALORPAGO  // VALOR PAGO
         REPLACE TVENCIMENT WITH xTVENCIMENT  // DATA DO VENCIMENTO
      ENDIF
      SELECT PAGAR
      SKIP
   ENDDO
   SELECT CONTE
   GO TOP
//--------------------fim------------------------------------------------------------------
  IF RECCOUNT() > 0
     SndPlaySound("LASER.MP3")
     SndPlaySound("LASER.MP3")
     DEFINE FONT oFontAGEN12 NAME "LUCIDA CONSOLE"  SIZE 0,-(12*1.33)
     DEFINE DIALOG TEAC1 RESOURCE "TELALEMBRA" TITLE "-$$ CONTAS PARA HOJE $$-"   COLOR RGB (000,000,000),RGB (000,000,255)
     SELECT CONTE
     REDEFINE LISTBOX LICLIE FIELDS CONTE->TNOMCREDOR                            ,;  // NOME
                                    CONTE->(DTOC(TVENCIMENT))                    ,;  // DATA DO VENCIMENTO
                                    CONTE->(TRANSFORM(TVLTODEBIT,"@E 99999.99"))  ;  // VALOR TOTAL
                     ID 101 HEADERS "CREDOR","VENCIMENTO","VALOR R$" FONT oFontAGEN12 COLOR  RGB (0,0,0),RGB (208,234,233)
//--------------------------- COLORIR TABELA
     LICLIE:nClrBackHead  := FUN_TITU  // Cor do Fundo do Cabe‡alho
     LICLIE:nClrForeHead  := LET_TITU  // Cor nos Headers - Cabe‡alhos
//------------------------------
     LICLIE:nLineStyle    := 2
     LICLIE:lCellStyle    := .F.         // .T. So Pinta a celula que o cursor esta
     LICLIE:lMChange      := .F.         // Desabilita Mousemove
     LICLIE:SetFocus()                   // Refocus on The Browse
     LICLIE:Refresh()                    // Estabiliza o Browse/Listbo
//------------------------------
     LICLIE:SetFocus()
     LICLIE:Refresh()
     REDEFINE BUTTON ID 102 cancel ACTION TEAC1:End()
     REDEFINE BUTTON ID 103 cancel ACTION QuitTray()
     ACTIVATE DIALOG TEAC1 CENTERED
     oFontAGEN12:End()
    ELSE
     QuitTray()
  ENDIF
RETURN .T.
//---------------------------
FUNCTION TaskBar( nWParam, nLParam )
LOCAL aCoors := ARRAY(2)
   lTaskWork := .F.
   IF !lTaskWork
      lTaskWork := .T.
      DO CASE
         CASE nLParam == WM_RBUTTONUP // WM_LBUTTONUP
         CASE nLParam == WM_LBUTTONUP // WM_RBUTTONUP
              aCoors := GetCursorPos()
              aCoors := ScreenToClient( oWndTray:hWnd, aCoors )
              TaskMenu( aCoors[1], aCoors[2] )
      ENDCASE
      lTaskWork := .F.
     ELSEIF nLParam == WM_LBUTTONUP
      lTaskWork := .F.
   ENDIF
RETURN NIL
//---------------------------
FUNCTION DoTaskBar( nWhich )
   DEFAULT nWhich := -1
   DO CASE
      CASE nWhich == 1
           IF VALTYPE( oTray ) <> "O"
              oTray := TaskAddIcon( oWndTray, oTrayIcon, "Contas a pagar" ) // este
              oWndTray:Hide()
           ENDIF
      CASE nWhich == 0 .OR. nWhich == 2
           IF VALTYPE( oTray ) == "O"
              TaskDelIcon( oTray, oTrayIcon )
           ENDIF
           oTray := NIL
   ENDCASE
RETURN NIL
//---------------------------
FUNCTION TaskMenu( nRow, nCol )
LOCAL oTrayMenu
   MENU oTrayMenu POPUP kkk
      MENUITEM "Abrir Contas"                        WHEN TaskWhen("config") ACTION PAGAMENT()
      SEPARATOR
      MENUITEM "Configurar"                          WHEN TaskWhen("config") ACTION CONFALER()
      SEPARATOR
      MENUITEM "Fechar Menu"                         WHEN TaskWhen("fecmen") ACTION NIL
      SEPARATOR
      MENUITEM "Fechar Lembrete"                     WHEN TaskWhen("fecsis") ACTION QuitTray()
   ENDMENU
   ACTIVATE POPUP oTrayMenu AT nRow, nCol OF oWndTray
RETURN NIL
//---------------------------
FUNCTION TaskWhen( cMenu )
   DO CASE
      CASE cMenu == "fecmen"
           RETURN( .T. )
      CASE cMenu == "fecsis"
           RETURN( .T. )
      CASE cMenu == "lancad"
           RETURN( .T. )
      CASE cMenu == "config"
           RETURN( .T. )
   ENDCASE
RETURN( .F. )
//---------------------------
FUNCTION QuitTray()
LOCAL oDlg, oFont, oBmp, oRad, nRad := 2, lOk := .F.
   nRad :=2
   IF !lQuitTray
       DEFINE FONT oFont Name "Arial" SIZE 0, -12 BOLD
       DEFINE DIALOG oDlg RESOURCE "Dlg_QuitTray"  COLOR  RGB (0,0,0),RGB (0,0,255)
       REDEFINE BITMAP oBmp      ID 2 RESOURCE "VLNLOGO" OF oDlg  adjust
       REDEFINE SAY              ID 1 PROMPT "Confirma o fechamento do sistema ?" OF oDlg FONT oFont COLOR  RGB (255,255,255),RGB (0,0,255)
       REDEFINE BUTTON ID 101 OF oDlg ACTION (  oDlg:bLostFocus := NIL, lOk := .T., oFont:End(), oDlg:End() )
       REDEFINE BUTTON ID 102 OF oDlg ACTION (  oDlg:bLostFocus := NIL, lOk := .F., oFont:End(), oDlg:End() )
       oDlg:bLostFocus := {|| oDlg:bLostFocus := NIL, lOk := .F., oFont:End(), oDlg:End() }
       ACTIVATE DIALOG oDlg CENTER
       IF lOk .AND. nRad == 2
          lQuitTray := .T.
          IF oTray != NIL
              TaskDelIcon( oTray )
          ENDIF
          oTrayIcon:End()
          oWndTray:End()
       ENDIF
   ENDIF
RETURN( .T. )
//---------------------------
FUNCTION TaskAddIcon( oWnd, oIcon, cToolTip )
LOCAL oNotifyIconData
   STRUCT oNotifyIconData
      MEMBER nSize          AS DWORD
      MEMBER hWnd           AS LONG
      MEMBER nId            AS LONG
      MEMBER nFlags         AS LONG
      MEMBER nCallMsg       AS LONG
      MEMBER hIcon          AS LONG
      MEMBER cToolTip       AS STRING LEN LEN( cToolTip )
   ENDSTRUCT
   oNotifyIconData:nSize        = oNotifyIconData:SizeOf()
   oNotifyIconData:hWnd         = oWnd:hWnd
   oNotifyIconData:nId          = 1
   oNotifyIconData:nFlags       = nOr( NIF_ICON, NIF_MESSAGE, NIF_TIP )
   oNotifyIconData:nCallMsg     = WM_TASKBAR
   oNotifyIconData:hIcon        = oIcon:hIcon
   oNotifyIconData:cToolTip     = cToolTip
   Shell_NotifyIcon( NIM_ADD, oNotifyIconData:cBuffer )
RETURN oNotifyIconData
//---------------------------
FUNCTION TaskDelIcon( oNotifyIconData )
   Shell_NotifyIcon( NIM_DELETE, oNotifyIconData:cBuffer )
RETURN NIL
//---------------------------
FUNCTION TaskChangeIcon( oNotifyIconData ,oIcon)
   oNotifyIconData:nFlags    = NIF_ICON
   oNotifyIconData:hIcon     = oIcon:hIcon
   Shell_NotifyIcon( NIM_MODIFY, oNotifyIconData:cBuffer )
RETURN oNotifyIconData
//---------------------------
DLL32 FUNCTION Shell_NotifyIcon( nMsg AS LONG, pNID AS LPSTR ) AS BOOL PASCAL ;
                                 FROM "Shell_NotifyIconA" LIB "shell32.dll"
//---------------------------
DLL32 FUNCTION ShellExecute( hWnd AS LONG, cOperation AS LPSTR,;
                             cFile AS LPSTR, cParams AS LPSTR,;
                             cDir AS LPSTR, nShow AS LONG ) AS LONG PASCAL ;
                             FROM "ShellExecuteA" LIB "shell32.dll"
//---------------------------
FUNCTION CONFALER()
   SELECT MINUT
   IF TEM_AVISO = 0
      xTEM_AVISO := 0
     ELSEIF TEM_AVISO = 30
      xTEM_AVISO := 1
     ELSEIF TEM_AVISO = 60
      xTEM_AVISO := 2
     ELSEIF TEM_AVISO = 120
      xTEM_AVISO := 3
     ELSEIF TEM_AVISO = 180
      xTEM_AVISO := 4
     ELSEIF TEM_AVISO = 240
      xTEM_AVISO := 5
     ELSEIF TEM_AVISO > 240
      xTEM_AVISO := 0
   ENDIF
//---------------------------
   TXTEMPO := "    Informe o Tempo em Minutos" +CRLF+;
              "Para Ser Alertado Sobre Contas" +CRLF+;
              "a Pagar Hoje Conforme Tabela."  +CRLF+CRLF+;
              " 1 = A Cada 30 Minutos"         +CRLF+;
              " 2 = A Cada  1 Hora"            +CRLF+;
              " 3 = A Cada  2 Hora"            +CRLF+;
              " 4 = A Cada  3 Hora"            +CRLF+;
              " 5 = A Cada  4 Hora"
//---------------------------
   DEFINE FONT oFontCONT11 NAME "LUCIDA CONSOLE"  SIZE 0,-(11*1.33)
   DEFINE DIALOG TELCON2T RESOURCE "CONTA3" TITLE "-$$ CONFIGURAR $$-" COLOR RGB (000,000,000),RGB (000,000,255)
   REDEFINE SAY oSAYCT PROMPT TXTEMPO        ID   1                  FONT oFontCONT11 COLOR RGB (255,255,255),RGB (000,000,255)
   REDEFINE SAY oSAYC2 PROMPT "Opção :"      ID   2                                   COLOR RGB (255,255,255),RGB (000,000,255)
   REDEFINE GET zTEM_AVISO  VAR xTEM_AVISO   ID 101 PICTURE "E@ 999" FONT oFontCONT11 VALID SALTEMPO()
   zTEM_AVISO:bGotFocus  := {|o| o:SelectAll()}
   ACTIVATE DIALOG TELCON2T CENTERED
   oFontCONT11:END()
RETURN NIL
//---------------------------
FUNCTION SALTEMPO()
SELECT MINUT
   IF xTEM_AVISO < 1
      RETURN .F.
   ENDIF
   IF xTEM_AVISO > 5
      RETURN .F.
   ENDIF
//---------------------------
   IF xTEM_AVISO = 1
      xTEM_AVISO2 := 30
     ELSEIF xTEM_AVISO = 2
      xTEM_AVISO2 := 60
     ELSEIF xTEM_AVISO = 3
      xTEM_AVISO2 := 120
     ELSEIF xTEM_AVISO = 4
      xTEM_AVISO2 := 180
     ELSEIF xTEM_AVISO = 5
      xTEM_AVISO2 := 240
   ENDIF
//---------------------------
   SELECT MINUT
   REPLACE TEM_AVISO WITH xTEM_AVISO2
   TELCON2T:END()
RETURN .T.
//------------------------------
FUNCTION PAGAMENT()
   SELECT PAGAR
   ORDSETFOCUS("VENDB")
   xTXTOTAL := ""
   GO TOP
   DEFINE FONT oFontcta12 NAME "LUCIDA CONSOLE" SIZE 0,-(12*1.33)
   DEFINE FONT oFontcta14 NAME "LUCIDA CONSOLE" SIZE 0,-(14*1.33)
   DEFINE DIALOG TELSEPR RESOURCE "CONTA1"  TITLE "-- RELAÇÃO DE CONTAS A PAGAR --"  COLOR RGB (255,255,255),RGB (002,077,144)
   REDEFINE SAY oSAYPG1 PROMPT xTXTOTAL ID   1  FONT oFontcta14                      COLOR RGB (255,255,255),RGB (002,077,144)
   
   REDEFINE LISTBOX oLbxsPAGA FIELDS PAGAR->NOMCREDOR             ,;
                                     PAGAR->(STRZERO(VENCIMENT-date(),4)),;
                                     PAGAR->(DTOC(VENCIMENT))     ,;
                                     PAGAR->(STR(VLTODEBIT,7,2))   ;
                        ID 101 HEADERS "CREDOR","DIAS","VENCIMENTO","VALOR R$" OF TELSEPR FONT oFontcta14  COLOR RGB (000,000,000),RGB (096,200,255)
//------------------------------ COLORIR TABELA
   oLbxsPAGA:nClrBackHead  := FUN_TITU  // Cor do Fundo do Cabe‡alho
   oLbxsPAGA:nClrForeHead  := LET_TITU  // Cor nos Headers - Cabe‡alhos
//------------------------------
   oLbxsPAGA:nLineStyle    := 2
   oLbxsPAGA:lCellStyle    := .F.         // .T. So Pinta a celula que o cursor esta
   oLbxsPAGA:lMChange      := .F.         // Desabilita Mousemove
   oLbxsPAGA:SetFocus()                   // Refocus on The Browse
   oLbxsPAGA:Refresh()                    // Estabiliza o Browse/Listbo
//------------------------------
   REDEFINE BUTTON                    ID 102 CANCEL ACTION TELSEPR:END()
   ACTIVATE DIALOG TELSEPR CENTERED ON INIT CALDIAS(oSAYPG1)
   oFontcta12:END()
   oFontcta14:END()
RETURN .T.
//------------------------------ CALCULAR DIAS E VALOR TOTAL
FUNCTION CALDIAS(o1)
   SUM VLTODEBIT TO xPHOJE FOR VENCIMENT < DATE()+1
   SUM VLTODEBIT TO xPEMES FOR MONTH(VENCIMENT) = MONTH(DATE())
   SUM VLTODEBIT TO xTOTAL
   GO TOP
   xTXTOTAL := "Valor Total Para Hoje : R$ "+STR(xPHOJE,7,2)+CRLF+;
               "Valor Total Para Este Mês : R$ "+STR(xPEMES,7,2)+CRLF+;
               "Valor Total dos Débitos : R$ "+STR(xTOTAL,7,2)
   o1:SetText(xTXTOTAL) ; O1:Refresh()
RETURN .T.


RC
/****************************************************************************

pagar.rc

produced by Borland Resource Workshop

*****************************************************************************/

#define IDC_EDIT4   101
#define IDC_PUSHBUTTON10   102
#define IDC_EDIT1   101
#define IDC_EDIT3   103
#define IDC_PUSHBUTTON8   104
#define IDC_PUSHBUTTON9   105
#define IDC_EDIT2   102
#define IDC_LISTBOX2   101
#define IDC_PUSHBUTTON5   102
#define IDC_LISTBOX1   101
#define IDC_PUSHBUTTON3   102
#define IDC_PUSHBUTTON4   103
#define IDC_PUSHBUTTON1   101
#define IDC_PUSHBUTTON2   102
#define BITMAP_1   1
#define ICON_1   1

PAGA ICON "bmp/vln.ico"

VLNLOGO BITMAP "bmp/vlnlogo2.bmp"

Dlg_QuitTray DIALOG 6, 72, 244, 67
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE
FONT 8, "MS Sans Serif"
{
CONTROL "2", 2, "STATIC", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE | WS_GROUP, 4, 9, 48, 48
CTEXT "1", 1, 55, 9, 185, 12
PUSHBUTTON "Fechar", IDC_PUSHBUTTON1, 118, 43, 50, 14
PUSHBUTTON "Cancelar", IDC_PUSHBUTTON2, 190, 43, 50, 14
}
TELALEMBRA DIALOG 6, 15, 460, 230
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
FONT 8, "MS Sans Serif"
{
LTEXT "", -1, 5, 5, 450, 200, WS_BORDER | WS_GROUP
LISTBOX IDC_LISTBOX1, 10, 10, 440, 200, LBS_STANDARD
PUSHBUTTON "Fechar Esta Janela", IDC_PUSHBUTTON3, 205, 211, 110, 14
PUSHBUTTON "Fechar Sistema de  Lembrete", IDC_PUSHBUTTON4, 345, 211, 110, 14
}
CONTA1 DIALOG 6, 15, 586, 346
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
FONT 8, "MS Sans Serif"
{
LTEXT "", -1, 5, 5, 576, 300, WS_BORDER | WS_GROUP
LISTBOX IDC_LISTBOX2, 10, 10, 566, 300, LBS_STANDARD
PUSHBUTTON "Fechar Janela", IDC_PUSHBUTTON5, 511, 318, 70, 18
RTEXT "1", 1, 5, 310, 340, 34
}
CONTA2 DIALOG 6, 15, 282, 84
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "DIALOG_1"
FONT 8, "MS Sans Serif"
{
LTEXT "", -1, 5, 5, 272, 56, WS_BORDER | WS_GROUP
RTEXT "Credor :", -1, 10, 12, 49, 8
RTEXT "Vencimento :", -1, 10, 29, 49, 8
RTEXT "Valor : R$", -1, 10, 46, 49, 8
CONTROL "101", IDC_EDIT1, "EDIT", ES_UPPERCASE | WS_BORDER | WS_TABSTOP, 62, 10, 210, 12
CONTROL "102", IDC_EDIT2, "EDIT", ES_CENTER | WS_BORDER | WS_TABSTOP, 62, 27, 70, 12
CONTROL "103", IDC_EDIT3, "EDIT", ES_RIGHT | WS_BORDER | WS_TABSTOP, 62, 44, 56, 12
PUSHBUTTON "Salvar", IDC_PUSHBUTTON8, 168, 65, 50, 14
PUSHBUTTON "Voltar", IDC_PUSHBUTTON9, 227, 65, 50, 14
}
CONTA3 DIALOG 6, 15, 180, 156
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "DIALOG_2"
FONT 8, "MS Sans Serif"
{
LTEXT "1", 1, 5, 5, 166, 130
RTEXT "2", 2, 51, 140, 28, 8
CONTROL "101", IDC_EDIT4, "EDIT", ES_CENTER | WS_BORDER | WS_TABSTOP, 82, 138, 24, 12
PUSHBUTTON "Button", IDC_PUSHBUTTON10, 95, 196, 50, 14
}


Vander
Avatar de usuário

Vander
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 212
Data de registro: 23 Jul 2004 01:43
Cidade/Estado: João Monlevade - MG
Curtiu: 0 vez
Mens.Curtidas: 6 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 12 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro