Hola, mira se comprendes... Se necesitar de los DIALOGOS, avisame.
#Include "FiveWin.Ch"
#Include "BtnGet.Ch" // Classe Que Inclui BotÆo em Get
#Include "CorGet.Ch" // Cores Nos Gets
#Include "SSay.Ch" // SAY'S Transparentes precisa desta .ch
#Define SW_SHOWNA 8 // &H8
#Define SW_SHOW 5 // &H5
#DEfine SW_HIDE 0 // &H0
#Define CLR_LGRAY nRGB( 230, 230, 230 )
#Define CLR_LGREEN nRGB( 190, 215, 190 )
#Define CLR_VERMELHO nRGB( 255, 000, 000 ) //--> Vermelho Para a Letra
#Define CLR_AMARELO nRGB( 255, 255, 000 ) //--> Amarelo Para o Fundo
//-> Para Centraliza‡Æo dos Textos - Controle dos Centrimetros
#Define PAD_LEFT 0
#Define PAD_RIGHT 1
#Define PAD_CENTER 2
STATIC lDesligaBtnImp := .F. //-> BotÆo de ImpressÆo Desativado
STATIC lDisableBtnGra := .F. //-> BotÆo de Grava‡Æo Desativado
STATIC nOpcaoRadio := 2 //-> Op‡Æo do Radio da Pesquisa
STATIC nOpcTipoCur := 1 //-> Op‡Æo do Radio do TIPO DE CURSO
//---------------------------------------------------------------------------//
FUNCTION NOTIFICA( lAppend, oDbfTabela, oDbfCadDig, oDbfTurmas, oDbfVendedor, ;
oDbfEmpresa )
LOCAL oDlg, oLbx, oFont, iDcor, oIco, oSay, oFnt, oBrush
LOCAL oImagem, oHand, oNotifica, oSaida
LOCAL oRadMenu
MEMVAR XNOMEC
MEMVAR oNome_Busca
XNOMEC := SPACE(40)
//-------------------Abretura dos Bancos de Dados------------------------//
//-> Banco de Dados Tabela.Dbf - Pre‡os e outros
IF NetUse( "TABELA", .T. ) // Falso ‚ Exclusivo .T. ‚ Shared
OrdListAdd( "TABELA", "CODIGO", "DESCRICAO", "PRECOS" ) // Ordem dos Indices.
OrdDescend( ,,.F. ) // - Decrescente
DATABASE oDbfTabela // - Como Escrevemos em Ingles
oDbfTabela:Load()
oDbfTabela:GoTop()
oDbfTabela:SetBuffer( .T. )
ELSE
MsgStop( "Banco de Dados TABELA Bloqueado", "Cuidado!" )
RETURN NIL
ENDIF
//-> Banco de Dados dos Alunos
IF NetUse( "CADDIG", .T. ) // Falso ‚ Exclusivo .T. ‚ Shared
OrdListAdd( "CADDIG", "MATRICULA", "NOME", "CODIGO", "TURMA", "CIC_CPF" ) // Ordem dos Indices.
OrdDescend( ,,.F. ) // - Decrescente
DATABASE oDbfCadDig // - Como Escrevemos em Ingles
oDbfCadDig:Load()
oDbfCadDig:GoTop()
oDbfCadDig:SetBuffer( .T. )
ELSE
MsgStop( "Banco de Dados CADDIG Bloqueado", "Cuidado!" )
RETURN NIL
ENDIF
// Banco de Dados Das Turmas
IF NetUse( "TURMAS", .T. ) // Falso ‚ Exclusivo .T. ‚ Shared
OrdListAdd( "TURMAS", "NTURMA", "NCURSO" ) // Ordem dos Indices.
OrdDescend( ,,.F. ) // Decrescente
DATABASE oDbfTurmas // Como Escrevemos em Ingles
oDbfTurmas:Load()
oDbfTurmas:GoTop()
oDbfTurmas:SetBuffer( .T. )
ELSE
MsgStop( "Banco de Dados TURMAS Bloqueado", "Cuidado!" )
RETURN NIL
ENDIF
//-> VENDEDOR.DBF
IF NetUse( "VENDEDOR", .T. ) // Falso ‚ Exclusivo .T. ‚ Shared
OrdListAdd( "VENDEDOR", "CODIGO", "NOME" ) // Ordem dos Indices.
OrdDescend( ,,.F. ) // - Decrescente
DATABASE oDbfVendedor // - Como Escrevemos em Ingles
oDbfVendedor:Load()
oDbfVendedor:GoTop()
oDbfVendedor:SetBuffer( .T. )
ELSE
MsgStop( "Banco de Dados VENDEDOR Bloqueado", "Cuidado!" )
RETURN NIL
ENDIF
//-> EMPRESA.DBF
IF NetUse( "EMPRESA", .T. ) // Falso ‚ Exclusivo .T. ‚ Shared
DATABASE oDbfEmpresa // Como Escrevemos em Ingles
oDbfEmpresa:Load()
oDbfEmpresa:GoTop()
oDbfEmpresa:SetBuffer( .T. )
ELSE
MsgStop( "Banco de Dados EMPRESA Bloqueado", "Cuidado!" )
RETURN NIL
ENDIF
// Como Escrevemos em Ingles
SELECT ( oDbfTabela:cAlias ) // Seleciona o Alias
oDbfTabela:SetOrder( 2 ) // Ordenado Por Descri‡Æo
oDbfTabela:GoTop()
// Caixa de Dialogo -----------------------------------------------------//
DEFINE BRUSH oBrush FILE "COMPAR.BMP"
DEFINE CURSOR oHand RESOURCE "Dedo"
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 0, -10 BOLD
DEFINE FONT oFont NAME "Arial" SIZE 08, 18 BOLD
// Um Öcone no Lado Esquerdo da Tela
DEFINE ICON OICO FILE ".\BRASIL__.BMP"
DEFINE DIALOG oDlg RESOURCE "BROWSE_NOTIFICACAO_INICIAL" ;
ICON oIco ;
BRUSH oBrush TRANSPARENT
oDlg:lHelpIcon := .F.
oDlg:bRClicked = { || MsgInfo( OemToAnsi( "BotÆo Direito " + CRLF+ ;
"NÆo Est Ativo" ), ;
( OemToAnsi( "Informa‡Æo " ) ) ) }
//--- Melhoria visual nos say's
For IDCor=401 TO 404
REDEFINE SENSITIVE SAY ID iDcor ;
COLOR CLR_HRED OF oDlg ;
UPDATE ;
BOX RAISED ;
CENTER ;
FONT oFnt
Next IDCor // By Ednaldo Rolim - Yes!
//-----------------------------------------------------------------------//
//-> Para Trocar o Indice da ListBox Para Busca da Conta
REDEFINE RADIO oRadMenu VAR nOpcaoRadio ID 201, 202 OF oDlg ;
COLOR CLR_BROWN, CLR_LGREEN ;
ON CHANGE( TROCA_INDICE( nOpcaoRadio, oDbfTabela, oLbx ), ;
oLbx:GoTop(), oLbx:SetFocus(), oLbx:Refresh(), ;
XNOMEC := SPACE(40), xFocus( oNome_Busca ), ;
oNome_Busca:bGotFocus := { || oNome_Busca:SetPos( 1 ), Nil } )
//-----------------------------------------------------------------------//
Set( _SET_INSERT, ! Set( _SET_INSERT ) )
// Get Para Fazer a Busca do Aluno na ListBox
REDEFINE GET oNome_Busca VAR XNOMEC PICTURE "@K!" ;
ID 20 OF oDlg ;
FONT oFont ;
COLORS CLR_VERMELHO, CLR_AMARELO ;
ON CHANGE( Conteudo( oNome_Busca, nKey, oDlg, oLbx, XNOMEC, ;
oDbfTabela ) )
//-----------------------------------------------------------------------//
// ListBox dos Alunos Est No Arquivo.RES Recurso Browse ID 101
REDEFINE LISTBOX oLbx FIELDS ;
xPadL( AllTrim( Str( ( oDbfTabela:cAlias )->COD ) ), 2 ) , ;
( oDbfTabela:cAlias )->DESC ;
HEADERS ( OemToAnsi( "C¢digo " ) ) , ;
( OemToAnsi( "Descri‡Æo do Curso " ) ) ;
FIELDSIZES 100, 300 ;
COLOR CLR_BROWN, CLR_LGREEN ;
FONT oFont ;
CURSOR oHand ;
UPDATE ;
ID 101 ;
OF oDlg ;
ON DBLCLICK( Click() , ;
GETNOTIFICA( .T., oDbfTabela, oDbfCadDig, ;
oDbfTurmas, oDbfVendedor, ;
oDbfEmpresa ), ;
oLbx:SetFocus() )
//--------------------Pesquisa Incremental-------------------------------//
// Neste Caso, Vai Fazer a Pesquisa Incremental
oLbx:bKeyDown := { | nKey | FAZ_PESQUISA( nKey, ;
( oDbfTabela:cAlias ), oLbx, oSay, ;
oLbx:SetFocus(), oLbx:Refresh() ), ;
IF ( nKey = VK_RETURN, ;
( Click(), GETNOTIFICA( .T., oDbfTabela, ;
oDbfCadDig, ;
oDbfTurmas, ;
oDbfVendedor, ;
oDbfEmpresa ), ;
oLbx:SetFocus() ), ;
IF ( nKey = VK_INSERT, ;
( Click(), ;
oLbx:SetFocus(), oLbx:Refresh() ), ;
IF ( nKey = VK_DELETE, ;
( Click(), ;
oLbx:SetFocus(), oLbx:Refresh() ), ) ) ) }
//---------------------------------------------------------------------
oLbx:nClrBackHead := CLR_LGREEN // Cor do Fundo do Cabe‡alho
oLbx:nClrBackFocus := CLR_HRED // Cor do Cursor Em Cima do Ötem
oLbx:nClrForeFocus := CLR_AMARELO // cor da letra da barra ativa
oLbx:nClrForeHead := CLR_HRED // Cor nos Headers - Cabe‡alhos
oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ;
CLR_LGREEN, CLR_LGRAY ) }
oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar qual coluna?
oLbx:nLineStyle := 3 // Estilo das linhas nos dados da Browse
oLbx:lCellStyle := .T. // S¢ Pinta a celula que o cursor estÂ
oLbx:aJustify := { .F., .F., .T. }
oLbx:lMChange := .F. // Desabilita Mousemove
oLbx:SetFocus() // Refocus on The Browse
oLbx:Refresh() // Estabiliza o Browse/Listbox
//---------------------Botäes do Cadastro de Clientes--------------------//
//-> Que Chama GETNOTIFICA()
REDEFINE BUTTON oNotifica ID 301 OF oDlg ;
ACTION( Click(), GETNOTIFICA( .T., oDbfTabela, oDbfCadDig, ;
oDbfTurmas, oDbfVendedor, ;
oDbfEmpresa ), ;
oLbx:SetFocus() )
oNotifica:cToolTip := ( OemToAnsi( "Gerar a Notifica‡Æo Inicial Para ImpressÆo" ) )
// Este Recurso, Traz o Icone de Saida Para o Menu Principal.
REDEFINE BUTTON oSaida ID 302 OF oDlg ;
ACTION( Click(), oDlg:End() ) CANCEL
oSaida:cToolTip := ( OemToAnsi( "Saida - Exit - Cancelar" ) )
SET FONT OF oNotifica TO oFont
SET FONT OF oSaida TO oFont
SET FONT OF oLbx TO oFont
ACTIVATE DIALOG oDlg CENTERED
DbCloseAll()
Release All
oFont:End()
oFnt:End()
oBrush:End()
Set( _SET_INSERT, ! Set( _SET_INSERT ) )
RETURN NIL
//-> Para Trocar o Indice do Aluno - Para Busca Incremental
STATIC FUNCTION TROCA_INDICE( nOpcaoRadio, oDbfTabela, oLbx )
IF nOpcaoRadio == 2
SELECT ( oDbfTabela:cAlias )
oDbfTabela:SetOrder( 2 ) //-> Por Nome do Curso
ELSEIF nOpcaoRadio == 1
SELECT ( oDbfTabela:cAlias )
oDbfTabela:SetOrder( 1 ) //-> Por C¢digo do Curso
ENDIF
RETURN NIL
//---------------Gerenciamento dos Alunos------------------------------------//
FUNCTION GETNOTIFICA( lAppend, oDbfTabela, oDbfCadDig, oDbfTurmas, ;
oDbfVendedor, oDbfEmpresa )
FIELD NOME, END, EMAIL, TEL, COD, DESC, TURMA, SALA, DE, A, HRINI, HRTER
FIELD FONE
LOCAL oDlg, oFont, IDCor, oFnt, oBrush, oImprimir, oSaida, oGroup
LOCAL oImpressora //-> Para Gerar o Arquivo.PDF
LOCAL lThemed := IsAppThemed() //-> Busca na Classe o Tema do XP
LOCAL cPrinter := If( lThemed, "Printer", "Printer2" )
LOCAL nGet := Array(20) //-> Get's da Notifica‡Æo
LOCAL oRadMenu
MEMVAR XNOMEEMP, XPORTARIA, XENDERECO, XTELEFONE, XEMAIL, XOFICIO, XNOMECUR
MEMVAR XCOD, XTURMA1, XDE1, XA1, XHRINI1, XHRTER1, XSALA1
MEMVAR XDIRETOR, XCREDENCIAL, XDATALISTA, XCOFICIO, XCOMPTURM
MEMVAR XNOMEDIRE, XCREDENCI
MEMVAR XNOMEC
MEMVAR oNome_Busca
MEMVAR nRecNo
//-> Bancos de Dados
nRecNo := ( oDbfTabela:cAlias)->( RecNo() )
oDbfTabela:GoTo( nRecNo )
XCOD := ( oDbfTabela:cAlias )->COD //-> C¢digo do Curso
XNOMECUR := ( oDbfTabela:cAlias )->DESC //-> Descri‡Æo do Curso
XNOMEDIRE := LEFT(FONE,30)
XCREDENCI := SUBSTR(FONE,31,10)
XDIRETOR := XNOMEDIRE
XCREDENCIAL := XCREDENCI
SELECT ( oDbfEmpresa:cAlias ) // Seleciona o Alias
oDbfEmpresa:GoTop()
XNOMEEMP := ( oDbfEmpresa:cAlias)->NOME
XPORTARIA := [Portaria DETRAN Nº. 2280 de 18/12/2006 ]
XENDERECO := ( oDbfEmpresa:cAlias)->END
XTELEFONE := ( oDbfEmpresa:cAlias)->TEL
XEMAIL := ( oDbfEmpresa:cAlias)->EMAIL
XCOFICIO := [ ] //-> Digitara Manha/Tarde - Final de Semana
XCOMPTURM := [ ] //-> Digitara Manha/Tarde - Final de Semana
XOFICIO := [ ] //-> Busca na Turma o C¢digo ela Digita por extenso
XTURMA1 := 0
XDE1 := CTOD( " / / " )
XA1 := CTOD( " / / " )
XHRINI1 := SPACE(05)
XHRTER1 := SPACE(05)
XSALA1 := 0
XDATALISTA := "SÃO PAULO " + ", " + ;
LTRIM( STR( DAY( DATE() ) ) ) + ;
" de " + ;
OEMTOANSI(CMONTH( DATE() )) + ;
" de " + ;
STR( YEAR( DATE() ) ) + ;
"."
// Caixa de Dialogo -----------------------------------------------------//
DEFINE BRUSH oBrush FILE "COMPAR.BMP"
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 0, -10 BOLD
DEFINE FONT oFont NAME "Arial" SIZE 08, 18 BOLD
DEFINE DIALOG oDlg RESOURCE "DLG_NOTIFICACAO_INICIAL" ;
BRUSH oBrush TRANSPARENT
oDlg:lHelpIcon := .F.
oDlg:bRClicked = { || MsgInfo( OemToAnsi( "BotÆo Direito " + CRLF+ ;
"NÆo Est Ativo" ), ;
( OemToAnsi( "Informa‡Æo " ) ) ) }
//--- Melhoria visual nos say's
For IDCor=401 TO 420
REDEFINE SENSITIVE SAY ID iDcor ;
COLOR CLR_BLACK OF oDlg ;
UPDATE ;
BOX RAISED ;
CENTER TRANSPARENT ;
FONT oFnt
Next IDCor // By Ednaldo Rolim - Yes!
//-> Cor no Group Box da Dialog
REDEFINE GROUP oGroup ID 501 COLOR CLR_VERMELHO, CLR_AMARELO OF oDlg ;
FONT oFnt TRANSPARENT
//-> µrea dos Get's------------------------------------------------------//
//-> Nome da Empresa
REDEFINE GET nGet[1] VAR XNOMEEMP PICTURE "@K!" ;
WHEN( .F. ) ;
ID 20 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> N£mero da Portaria... Get Aberto Para Poder Trocar-Minusculo
REDEFINE GET nGet[2] VAR XPORTARIA PICTURE "@K" ;
ID 21 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> ENDERECO da Empresa
REDEFINE GET nGet[3] VAR XENDERECO PICTURE "@K!" ;
WHEN( .F. ) ;
ID 22 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> Telefone da Empresa
REDEFINE GET nGet[4] VAR XTELEFONE PICTURE "@K!" ;
WHEN( .F. ) ;
ID 23 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> E-Mail da Empresa - Minusculo
REDEFINE GET nGet[5] VAR XEMAIL PICTURE "@K" ;
WHEN( .F. ) ;
ID 24 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> Nome do Curso
REDEFINE GET nGet[6] VAR XNOMECUR PICTURE "@K!" ;
WHEN( .F. ) ;
ID 25 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> Turma
REDEFINE GET nGet[7] VAR XTURMA1 PICTURE "@K 999999" ;
ID 26 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN ;
VALID !EMPTY( XTURMA1 ) .AND. ;
CHECA_TURMA( XTURMA1, nGet, oDbfTabela, oDbfCadDig, ;
oDbfTurmas, oDbfVendedor, ;
oDbfEmpresa )
//-> Sala do Curso
REDEFINE GET nGet[8] VAR XSALA1 PICTURE "@K" ;
WHEN( .F. ) ;
ID 27 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> OFICIO N§ //-> MATERIA em Turmas.Dbf o C¢digo do Oficio
REDEFINE GET nGet[9] VAR XOFICIO PICTURE "@K!" ;
WHEN( .F. ) ;
ID 28 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> OFICIO Por Extenso
REDEFINE GET nGet[10] VAR XCOFICIO PICTURE "@K" ;
ID 29 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
REDEFINE GET nGet[11] VAR XCOMPTURM PICTURE "@K" ;
ID 30 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> Dias...
REDEFINE GET nGet[12] VAR XDE1 PICTURE "@D 99/99/99" ;
ID 31 OF oDlg SPINNER ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN ;
VALID ( CHECA_BOTAO() )
REDEFINE GET nGet[13] VAR XA1 PICTURE "@D 99/99/99" ;
ID 32 OF oDlg SPINNER ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN ;
VALID ( CHECA_BOTAO() )
//-> Hora Inicial - XHRINI1 := HRINI
REDEFINE GET nGet[14] VAR XHRINI1 PICTURE "@K" ;
WHEN( .F. ) ;
ID 33 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> Hora Final - XHRTER1 := HRTER
REDEFINE GET nGet[15] VAR XHRTER1 PICTURE "@K" ;
WHEN( .F. ) ;
ID 34 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> XDIRETOR Nome do Diretor de Ensino
REDEFINE GET nGet[16] VAR XDIRETOR PICTURE "@K" ;
ID 35 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> XCREDENCIAL Credencial do Diretor de Ensino
REDEFINE GET nGet[17] VAR XCREDENCIAL PICTURE "@K" ;
ID 36 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//->XDATALISTA Data da Notifica‡Æo
REDEFINE GET nGet[18] VAR XDATALISTA PICTURE "@" ;
ID 37 OF oDlg ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN
//-> R dios da Op‡Æo do TIPO DE CURSO - Rodap‚ do Relat¢rio
REDEFINE RADIO oRadMenu VAR nOpcTipoCur ID 201, 202 OF oDlg ;
WHEN( lDesligaBtnImp ) ;
COLOR CLR_BLACK, CLR_LGREEN
//-> µrea dos Botäes-----------------------------------------------------//
//-> Imprimir o Formul rio
REDEFINE BUTTON oImprimir ID 301 OF oDlg ;
WHEN( lDesligaBtnImp ) ;
ACTION( Click(), IMPRIME_NOTIFICACAO( .T., oDbfTabela, ;
oDbfCadDig, ;
oDbfTurmas, ;
oDbfVendedor, ;
oDbfEmpresa, 1 ) )
oImprimir:cToolTip := ( OemToAnsi( "Imprimir a Notifica‡Æo Inicial" ) )
//-> Escolher a Impressora Para Gerar o Arquivo.Pdf Para DETRAN-SP
REDEFINE BUTTON oImpressora ID 302 OF oDlg ;
WHEN( lDesligaBtnImp ) ;
ACTION( Click(), CONFI_PRINT( .T., oDbfTabela, oDbfCadDig, ;
oDbfTurmas, oDbfVendedor, ;
oDbfEmpresa, @cPrinter, 2 ) )
oImpressora:cToolTip := ( OemToAnsi( "Selecione a Impressora " + ;
"Para Gerar o Arquivo.Pdf " ) )
// Este Recurso, Traz o Icone de Saida
REDEFINE BUTTON oSaida ID 303 OF oDlg ;
ACTION( Click(), oDlg:End() ) CANCEL
oSaida:cToolTip := ( OemToAnsi( "Saida - Exit - Cancelar" ) )
SET FONT OF oDlg TO oFont
SET FONT OF oImprimir TO oFont
SET FONT OF oImpressora TO oFont
SET FONT OF oSaida TO oFont
ACTIVATE DIALOG oDlg CENTERED
EndDialog()
oBrush:End()
oFont:End()
oFnt:End()
lDesligaBtnImp := .F.
SELECT ( oDbfTabela:cAlias ) // Seleciona o Alias
// Volto Para o Get da Busca Incremental e Limpo Tudo.
// Coloco o GET na Posi‡Æo 1 Para Nova Busca.
XNOMEC := SPACE(40)
xFocus( oNome_Busca )
oNome_Busca:bGotFocus := { || oNome_Busca:SetPos( 1 ), Nil }
RETURN NIL
//-> Chamar a Impressora DEFAULT-> PDFCreator - Para Gerar o Arquivo.PDF
//-> Agradecimentos Especiais, Jos‚ Carlos - <jcleoner> - FiveWin Brasil
STATIC FUNCTION CONFI_PRINT( lAppend, oDbfTabela, oDbfCadDig, oDbfTurmas, ;
oDbfVendedor, oDbfEmpresa, ;
cPrint, cFlag )
LOCAL oDlg, oLbx, oFont, iDcor, oIco, oSay, oFnt, oBrush, oPdfCreator, ;
oSaida
SndPlaySound( ".\Init.Wav" )
// Caixa de Dialogo -----------------------------------------------------//
DEFINE BRUSH oBrush FILE "COMPAR.BMP"
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 0, -14 BOLD
DEFINE FONT oFont NAME "Arial" SIZE 08, 16 BOLD
DEFINE DIALOG oDlg RESOURCE "DLG_ESCOLHE_PDFCREATOR" ;
BRUSH oBrush TRANSPARENT
oDlg:lHelpIcon := .F.
oDlg:bRClicked = { || MsgInfo( OemToAnsi( "BotÆo Direito " + CRLF+ ;
"NÆo Est Ativo" ), ;
( OemToAnsi( "Informa‡Æo " ) ) ) }
//--- Melhoria visual nos say's
FOR IDCor=401 TO 416
REDEFINE SENSITIVE SAY ID iDcor ;
COLOR CLR_BLACK OF oDlg ;
UPDATE ;
BOX RAISED ;
CENTER ;
FONT oFnt
NEXT IDCor // By Ednaldo Rolim - Yes!
//-> Botäes do PDFCreator
//-> Escolha Obrigat¢ria da Impressora PDFCreator
REDEFINE BUTTON oPdfCreator ID 301 OF oDlg ;
ACTION( Click(), ESCOLHER_PDFCREATOR( lAppend, oDbfTabela, ;
oDbfCadDig, ;
oDbfTurmas, ;
oDbfVendedor, ;
oDbfEmpresa, ;
cPrint, 2 ) )
oPdfCreator:cToolTip := ( OemToAnsi( "Escolha da Impressora " + ;
"PDFCreator, Op‡Æo Obrigat¢ria " ) )
// Este Recurso, Traz o Icone de Saida Para o Menu Principal.
REDEFINE BUTTON oSaida ID 302 OF oDlg ;
ACTION( Click(), oDlg:End() ) CANCEL
oSaida:cToolTip := ( OemToAnsi( "Saida - Exit - Cancelar " ) )
SET FONT OF oPdfCreator TO oFont
SET FONT OF oSaida TO oFont
ACTIVATE DIALOG oDlg CENTERED
oFnt:End()
oFont:End()
oBrush:End()
EndDialog()
RETURN NIL
//-> Status da Impressora, Obrigat¢rio: PDFCreator
STATIC FUNCTION ESCOLHER_PDFCREATOR( lAppend, oDbfTabela, oDbfCadDig, ;
oDbfTurmas, oDbfVendedor, ;
oDbfEmpresa, cPrint, cFlag )
LOCAL oPrn
PRINTER oPrn FROM USER // open oPrint object with the printer
IF EMPTY( oPrn:hDC )
SndPlaySound(".\Erro.wav" )
MsgStop( 'Impressora Não Esta Pronta !, ' +CRLF+CRLF+ ;
'Deve Estar Conectada/Instalada. ' +CRLF+CRLF+ ;
'Você Só Pode Usar a Impressora: ' +CRLF+CRLF+ ;
'<PDFCreator> Para Gerar Arquivo ' +CRLF+CRLF+ ;
'no Formato: *.PDF ' +CRLF+CRLF+ ;
'ADOBE ACROBAT READER ' )
oPrn:End()
RETURN NIL
ENDIF
//-> Escolher a Impressora PDFCreator - Para Gerar o Arquivo.PDF
cPrint := oPrn:GETMODEL()
oPrn:End()
//-> Se o Nome da Impressora For PDFCreator
IF cPrint == [PDFCreator]
SndPlaySound( ".\Init.Wav" )
//-> Vai Gerar o Arquivo.Pdf, Se a Impressora Escolhida, Foi PDFCreator
IMPRIME_NOTIFICACAO( .T., oDbfTabela, oDbfCadDig, oDbfTurmas, ;
oDbfVendedor, oDbfEmpresa, 2 )
ELSE
SndPlaySound(".\Erro.wav" )
MsgStop( OemToAnsi( "Aten‡Æo Usu rio, Para Gerar Arquivos " ) +CRLF+ ;
OemToAnsi( "no Formato do ACROBAT READER(PDF), ‚ " ) +CRLF+ ;
OemToAnsi( "Necess rio, Que Se Tenha Instalado o " ) +CRLF+ ;
OemToAnsi( "Aplicativo PDFCreator.Exe. " ) +CRLF+ ;
OemToAnsi( "E Uma Impressora Com o Nome PDFCreator" ) +CRLF+ ;
OemToAnsi( "na Pasta de Impressoras. " ) +CRLF+ ;
OemToAnsi( "Se Vocˆ J Instalou o Aplicativo: " ) +CRLF+ ;
OemToAnsi( "PDFCreator.Exe, Automaticamente, ele " ) +CRLF+ ;
OemToAnsi( "Instalou Uma Impressora Com Este Nome," ) +CRLF+ ;
OemToAnsi( "PDFCreator. " ) +CRLF+ ;
OemToAnsi( "Retorne e Escolha a Impressora: " ) +CRLF+ ;
OemToAnsi( "<PDFCreator> Para Criar o ARQUIVO.PDF." ) +CRLF+ ;
OemToAnsi( "Depois de Gerar o PREVIEW do Texto, " ) +CRLF+ ;
OemToAnsi( "<Click> no BotÆo de ImpressÆo Para " ) +CRLF+ ;
OemToAnsi( "Gerar/Criar o ARQUIVO no Formato PDF. " ) +CRLF+ ;
OemToAnsi( "Depois ‚ S¢ Enviar Para o DETRAN. " ) +CRLF+ ;
OemToAnsi( "D£vidas, Ligue: (11) 5681-4569 " ), ;
OemToAnsi( "Erro na Escolha da Impressora. " ) )
ENDIF
RETURN( .T. )
//-> Ligar o BotÆo de ImpressÆo
STATIC FUNCTION CHECA_BOTAO()
lDesligaBtnImp := .T.
RETURN( .T. )
//-> Validar a Turma do Curso------------------------------------------------//
STATIC FUNCTION CHECA_TURMA( XTURMA1, nGet, oDbfTabela, oDbfCadDig, ;
oDbfTurmas, oDbfVendedor, ;
oDbfEmpresa )
FIELD NOME, END, EMAIL, TEL, COD, DESC, TURMA, SALA, DE, A, HRINI, HRTER
FIELD MATERIA
LOCAL lRet
MEMVAR XNOMEEMP, XPORTARIA, XENDERECO, XTELEFONE, XEMAIL, XOFICIO, XNOMECUR
MEMVAR XCOD, XDE1, XA1, XHRINI1, XHRTER1, XSALA1
MEMVAR XDIRETOR, XCREDENCIAL, XDATALISTA
SELECT ( oDbfTurmas:cAlias ) //-> Seleciona o Alias
SET ORDER TO 1 //-> Por N£mero da Turma
oDbfTurmas:GoTop()
DBSEEK( XTURMA1 ) //-> N£mero da Turma
IF FOUND()
XDE1 := DE
XA1 := A
XHRINI1 := HRINI
XHRTER1 := HRTER
XSALA1 := STRZERO( SALA, 2 ) // SALA DO CURSO
XOFICIO := MATERIA // Oficio, codigo
IF XOFICIO == [ ]
MsgInfo( OemToAnsi( "Aten‡Æo Usu rio: " ) +CRLF+ ;
OemToAnsi( "o Complemento da Turma NÆo Foi" ) +CRLF+ ;
OemToAnsi( "Preenchido Corretamente ou Est em" ) +CRLF+ ;
OemToAnsi( "Branco. Verifique Por Favor! " ) +CRLF+ ;
OemToAnsi( "Menu Principal: Criar Novas Turmas." ) +CRLF+ ;
OemToAnsi( "Ex.: Final de Semana = <SD> " ), ;
OemToAnsi( "Mensagem de Erro Para o Usu rio. " ) )
ENDIF
nGet[8]:Varput( XSALA1 )
nGet[8]:Refresh()
nGet[9]:Varput( XOFICIO )
nGet[9]:Refresh()
nGet[12]:Varput( XDE1 )
nGet[12]:Refresh()
nGet[13]:Varput( XA1 )
nGet[13]:Refresh()
nGet[14]:VarPut( XHRINI1 )
nGet[14]:Refresh()
nGet[15]:VarPut( XHRTER1 )
nGet[15]:Refresh()
lRet := .T.
ELSE
MsgInfo( OemToAnsi( "Aten‡Æo Usu rio: " ) +CRLF+ ;
OemToAnsi( "NÆo Localizei Esta Turma em TURMAS.DBF" ) +CRLF+ ;
OemToAnsi( "Por Favor, Verfique se Esta Turma Foi " ) +CRLF+ ;
OemToAnsi( "Cadastrada Corretamente. Obrigado! " ), ;
OemToAnsi( "Mensagem Para o Usu rio... " ) )
//-> VAR XTURMA1
xFocus ( nGet[8] )
lDesligaBtnImp := .F.
lRet := .F.
SELECT ( oDbfTabela:cAlias ) // Seleciona o Alias
ENDIF
RETURN( lRet )
//-> µrea de ImpressÆo da NOTIFICA€ÇO INICIAL -------------------------------//
STATIC FUNCTION IMPRIME_NOTIFICACAO( lAppend, oDbfTabela, oDbfCadDig, ;
oDbfTurmas, oDbfVendedor, ;
oDbfEmpresa, cFlag )
//-> TU REPORT aqui...
RETURN NIL
// ---------------------- FIM DO PROGRAMA -----------------------------------//