Mister Quintas, kkkkkk, o senhor é hilário. gtwvg ou gtwvw ? Que pohhhha é essa? EU USO FIVEWIN na ÍNTEGRA. FIVEWIN É O BICHO. kkkkkkkk
Um pouco de código para vocês verem que dureza converter CLIPPER CONSOLE, para @SAY... Em WORKSHOP.exe the best, isto é muito simples e prático, a velocidade de desenvolvimento, é outro nível. Más, vamos que vamos, estou aprendendo.
Código: Selecionar todos
// INICIO EM: 11/04/2023 - Joao Santos - kapiabafwh@gmail.com
// MODIFICADO EM: 12/04/2023 MODULO: CLIENTES.PRG
#Include "Ambienty.ch"
REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto // Para ListBox
STATIC nOpcRadioClien := 1
/* TENTANDO SIMULAR MODO CONSOLE POR OUTRO PRISMA.
@ 06, 28 PROMPT "0. Institui‡Æo: Incluir, Alterar ou Excluir" ;
MESSAGE "tecle: o 1§ caracter do item desejado, [^] ou [v]"
IPDR0110() // LINHA 724 DE SISIPDR.PRG
// STATIC oWnd
FUNCTION ipdr0110()
*/
FUNCTION CLIENTES_INST( oWnd ) // CLIENTES/INSTITUICOES. Joao 08/04/2023 Covid-19
LOCAL oDlg, oGroup, oFnt, oFont, IDCor, oSaida, aGet := ARRAY(5), oLbx, ;
cAlias, oIncluir, oAlterar, oExcluir, oImprimir, nKey, aGrad, cTitle
LOCAL oCurDedo, oRadMenu, nBuscaIpdr := SPACE(06) //[ ] //0
HB_GCALL( .F. ) // PARA LIMPAR A MEMORIA
SELECT( DBIPDR_INS ) // CLIENTES / INSTITUICOES - 08/04/2023 - Joao.
SET INDEX TO IPDR_INS // POR CODIGO DO NIPDR PARA BUSCA NO GET
// SET INDEX TO IPDRINS2 // POR NOME DO CLIENTE. MANTIVE COMPATIBILIDADE COM
// OS NOMES DOS INDICES, APESAR DE NAO GOSTAR.
GO TOP
cAlias := ALIAS()
/*
// POR CODIGO - EM: REINDEXA.PRG - 09/04/2023 - Joao
INDEX ON NIPDR TO IPDR_INS FOR .NOT. DELETED() ;
// POR NOME DA INSTITUICAO/CLIENTE PARA A NOVA LISTBOX FOR WINDOWS. Joao.
INDEX ON INST TO IPDRINS2 FOR .NOT. DELETED() ;
EVAL ( oMeter1:Set( RecNo() ), CursorWait(), SysRefresh() ) EVERY 10
*/
DEFINE CURSOR oCurDedo RESOURCE "Dedo"
DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 00, -14 BOLD
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 00, -12 BOLD
DEFINE FONT oFont1 NAME "Calibri" SIZE 0, -14
DEFINE FONT oFont2 NAME "Segoe UI Light" SIZE 0, -18
DEFINE FONT oFont3 NAME "Segoe UI" SIZE 0, -26
aGrad := { { 0.30, CLR_WHITE, CLR_WHITE },{ 0.50, CLR_WHITE, CLR_WHITE } }
IF( XRESOLUCAO = "R1024_768" )
DEFINE DIALOG oDlg RESOURCE "BROWSE_CLIENTES_1024_768" FONT oFont ;
GRADIENT aGrad
ELSEIF( XRESOLUCAO = "R1280_768" )
DEFINE DIALOG oDlg RESOURCE "BROWSE_CLIENTES_1280_768" FONT oFont ;
GRADIENT aGrad
ENDIF
oDlg:lHelpIcon := .F.
REDEFINE SAY ID 401 OF oDlg COLORS CLR_CYAN, CLR_WHITE UPDATE FONT oFnt TRANSPARENT
REDEFINE SAY ID 402 OF oDlg COLORS CLR_CYAN, CLR_WHITE UPDATE FONT oFnt TRANSPARENT
REDEFINE SAY ID 403 OF oDlg COLORS CLR_CYAN, CLR_WHITE UPDATE FONT oFnt TRANSPARENT
REDEFINE SAY ID 420 OF oDlg COLORS CLR_BLACK, CLR_WHITE UPDATE FONT oFnt TRANSPARENT
REDEFINE GROUP oGroup ID 501 OF oDlg COLOR CLR_ORANGE, CLR_WHITE FONT oFnt TRANSPARENT
REDEFINE GROUP oGroup ID 502 OF oDlg COLOR CLR_ORANGE, CLR_WHITE FONT oFnt TRANSPARENT
// Set( 29, ! Set( 29 ) )
IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
Set( _SET_INSERT, ! Set( _SET_INSERT ) )
ENDIF
REDEFINE GET aGet[1] VAR nBuscaIpdr PICTURE "@KR 999999" ID 20 OF oDlg ;
UPDATE COLORS CLR_CYAN, CLR_WHITE FONT oFont ;
VALID ( LOCALIZA_NIPRD( aGet, nBuscaIpdr, oLbx ) )
aGet[1]:cTooltip :={ "Busca Rápida do I.P.D,R.", ;
"BUSCA RÁPIDA DO I.P.D.R.", 1, CLR_WHITE, CLR_CYAN }
REDEFINE RADIO oRadMenu VAR nOpcRadioClien ID 201, 202 OF oDlg ;
UPDATE ON CHANGE( TROCA_INDICE_CLIEN( nOpcRadioClien, cAlias, oLbx ), ;
oLbx:Refresh(), oLbx:SetFocus() )
// funciona.
oRadMenu:aItems[1]:cTooltip := "Índice Por Nome "
oRadMenu:aItems[2]:cTooltip := "Índice Por Código"
// oRadMenu:aItems[4]:cTooltip := "Por Endereço"
// oRadio:aItems[3]:Disable() // DESABILITA O RADIO
oRadMenu:SetFont( oFnt )
REDEFINE LISTBOX oLbx FIELDS ;
( cAlias )->NIPDR , ;
( cAlias )->INST , ;
( cAlias )->ENDERECO , ;
( cAlias )->BAIRRO , ;
( cAlias )->CIDADE , ;
( cAlias )->UF , ;
( cAlias )->CEP , ;
( cAlias )->TEL_DDD , ;
( cAlias )->TEL_NUM , ;
( cAlias )->TEL_RAMAL , ;
( cAlias )->TEL_OBS , ;
( cAlias )->FAX_NUM , ;
( cAlias )->FAX_RAMAL , ;
( cAlias )->FAX_OBS , ;
( cAlias )->TEL2_NUM , ;
( cAlias )->TEL2_RAMAL , ;
( cAlias )->TEL2_OBS , ;
( cAlias )->TEL3_NUM , ;
( cAlias )->TEL3_RAMAL , ;
( cAlias )->TEL3_OBS , ;
LOWER( ( cAlias )->EMAIL ) , ;
TRANSF( ( cAlias )->CNPJ_CPF, "99.999.999/9999-99" ) , ;
( cAlias )->CXPOST , ;
( cAlias )->TROCA , ;
( cAlias )->DATA , ;
( cAlias )->TIPO , ;
( cAlias )->MESMOV , ;
( cAlias )->RCNEN , ;
( cAlias )->RCNEN_ANT , ;
( cAlias )->OBS_RCNEN , ;
( cAlias )->SETOR , ;
( cAlias )->APLIC , ;
( cAlias )->RESP1 , ;
( cAlias )->CPF , ;
TRANSF( ( cAlias )->NCPF, "999.999.999-99" ) , ;
( cAlias )->RESP2 , ;
( cAlias )->VENC , ;
( cAlias )->ATIVO , ;
( cAlias )->TIPO_INST , ;
( cAlias )->AREA_INST , ;
( cAlias )->APLIC_PRI , ;
( cAlias )->APLIC_SEC , ;
( cAlias )->DESC_APLI1 , ;
( cAlias )->DESC_APLI2 , ;
LOWER( ( cAlias )->EMAILF ) , ;
SPACE(01) ;
HEADERS ( OemToAnsi( "CàD. NIPDR:" ) ) , ;
( OemToAnsi( "NOME CLIENTE/INSTITUIۂO:" ) ) , ;
( OemToAnsi( "ENDERE€O: " ) ) , ;
( OemToAnsi( "BAIRRO: " ) ) , ;
( OemToAnsi( "CIDADE " ) ) , ;
( OemToAnsi( "UF.: " ) ) , ;
( OemToAnsi( "CEP.: " ) ) , ;
( OemToAnsi( "TEL. DDD.: " ) ) , ;
( OemToAnsi( "TEL. NUM.: " ) ) , ;
( OemToAnsi( "TEL. RAMAL:" ) ) , ;
( OemToAnsi( "TEl. OBS.: " ) ) , ;
( OemToAnsi( "FAX NUM.: " ) ) , ;
( OemToAnsi( "FAX RAMAL: " ) ) , ;
( OemToAnsi( "FAX OBS.: " ) ) , ;
( OemToAnsi( "TEL2 NUM.: " ) ) , ;
( OemToAnsi( "TEL2 RAMAL:" ) ) , ;
( OemToAnsi( "TEL2 OBS.: " ) ) , ;
( OemToAnsi( "TEL3 NUM.: " ) ) , ;
( OemToAnsi( "TEL3 RAMAL:" ) ) , ;
( OemToAnsi( "TEL3 OBS.: " ) ) , ;
( OemToAnsi( "EMAIL CLI: " ) ) , ;
( OemToAnsi( "CNPJ/CPF.: " ) ) , ;
( OemToAnsi( "CXPOST.: " ) ) , ;
( OemToAnsi( "TROCA: " ) ) , ;
( OemToAnsi( "DATA: " ) ) , ;
( OemToAnsi( "TIPO: " ) ) , ;
( OemToAnsi( "MES MOV.: " ) ) , ;
( OemToAnsi( "RCNEN: " ) ) , ;
( OemToAnsi( "RCNEN ANT: " ) ) , ;
( OemToAnsi( "OBS RCNEN: " ) ) , ;
( OemToAnsi( "SETOR: " ) ) , ;
( OemToAnsi( "APLIC.: " ) ) , ;
( OemToAnsi( "RESPONS1: " ) ) , ;
( OemToAnsi( "CPF.: " ) ) , ;
( OemToAnsi( "NUM. CPF: " ) ) , ;
( OemToAnsi( "RESPONS2: " ) ) , ;
( OemToAnsi( "VENCIMENTO:" ) ) , ;
( OemToAnsi( "ATIVO: " ) ) , ;
( OemToAnsi( "TIPO INST.:" ) ) , ;
( OemToAnsi( "AREA INST.:" ) ) , ;
( OemToAnsi( "APLIC PRI.:" ) ) , ;
( OemToAnsi( "APLIC SEC.:" ) ) , ;
( OemToAnsi( "DESC APLI1:" ) ) , ;
( OemToAnsi( "DESC APLI2:" ) ) , ;
( OemToAnsi( "EMAILF.: " ) ) , ;
( OemToAnsi( " - " ) ) ;
FIELDSIZES 100, 630, 550, 200, 350, 100, 100, 100, 100, 100, 200,;
100, 100, 200, 100, 100, 200, 100, 100, 200, 450, 120, 100, 100,;
100, 100, 100, 110, 110, 200, 350, 100, 700, 100, 110, 350, 100,;
100, 100, 100, 100, 100, 700, 700, 400, 01 ;
COLOR CLR_BROWN, CLR_WHITE CURSOR oCurDedo FONT oFnt UPDATE ;
ID 101 OF oDlg
// Tooltip com imagem. Pode-se usar 1, 2 e 3.
oLbx:cTooltip :={ "<Click> Edita.", ;
"O CLIENTE... ", 1, CLR_WHITE, CLR_CYAN }
//-----------------------------------------------------------------------//
oLbx:nClrBackHead := CLR_WHITE // Cor do Fundo do Cabe‡alho
oLbx:nClrText := {|| nRGB( 000, 000, 000 ) } // Cor do Fundo do Cabe‡alho
oLbx:nClrBackFocus := CLR_WHITE // Cor do Cursor Em Cima do Ötem
oLbx:nClrForeFocus := CLR_HRED // Cor da letra da barra ativa
oLbx:nClrForeHead := CLR_CYAN // Cor nos Headers - Cabe‡alhos
// Cor no Pano de Fundo da Browse() Listbox-Legal - abaixo o comando
oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ;
CLR_WHITE, CLR_LGRAY ) }
oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar na coluna
oLbx:nLineStyle := 3 // Estilo das linhas nos dados da Browse
oLbx:lCellStyle := .T. // Somente pinta a c‚lula em que o cursor esta no momento
// Justifica o Cabe‡alho: .F. = Esquerda .T. = Centro
oLbx:aJustify := { .T., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., ;
.F., .F., .F., .F., .F., .F., .F., .F., .F., .F., ;
.T., .F., .F., .F., .F., .F., .F., .F., .F., .F., ;
.F., .F., .F., .F., .F., .F., .F., .F., .F., .F., ;
.F., .F., .F., .F., .F. }
oLbx:lMChange := .F. // Desabilita Mousemove - Movimentos do Mouse Congelam.
oLbx:SetFocus() // Refocus on The Browse - Ativa o Foco na ListBox(Browse)
oLbx:Refresh() // Estabiliza o Browse/Listbox - Refresca os Dados.
// Pinta os Dados Novamente
REDEFINE BUTTONBMP oIncluir ID 301 OF oDlg RESOURCE "FLOPPY2" TEXTRIGHT ;
ACTION ( GETCLIENTES( .T., oLbx, oWnd ), oLbx:GoBottom(), oLbx:Refresh(), ;
oLbx:GoTop() ) WHEN( .F. )
oIncluir:cTooltip := { "Click no Botão Para Incluir", ;
"Incluir Uma Nova Proposta ", 1, CLR_WHITE, CLR_CYAN }
REDEFINE BUTTONBMP oAlterar ID 302 OF oDlg ;
RESOURCE "150" TEXTRIGHT ACTION ( GETCLIENTES( .F., oLbx, oWnd ), ;
oLbx:SetFocus(), oLbx:Refresh(), oLbx:DrawSelect() )
oAlterar:cTooltip := { "Click no Botão Para Alterar", ;
"Alterar Dados da Proposta ", 1, CLR_WHITE, CLR_CYAN }
REDEFINE BUTTONBMP oExcluir ID 303 OF oDlg WHEN( .F. ) ;
RESOURCE "142" TEXTRIGHT ACTION ( EXCLUIR_CLIENTES( oLbx ), ;
oLbx:SetFocus(), oLbx:Refresh(), oLbx:DrawSelect() )
oExcluir:cTooltip := { "Click no Botão Para Excluir", ;
"Excluir Dados da Proposta ", 1, CLR_WHITE, CLR_CYAN }
REDEFINE BUTTONBMP oImprimir ID 304 OF oDlg WHEN( .F. ) ;
RESOURCE "160" TEXTRIGHT ACTION ( GETCLIENTES( .F., oLbx ), ;
oLbx:SetFocus(), oLbx:Refresh(), oLbx:DrawSelect() )
oImprimir:cTooltip := { "Click no Botão Para Imprimir", ;
"Imprimir Dados da Proposta ", 1, CLR_WHITE, CLR_CYAN }
REDEFINE BUTTONBMP oSaida ID 320 OF oDlg RESOURCE "154" TEXTRIGHT ;
ACTION ( oDlg:End() ) CANCEL
oSaida:cTooltip := { "Click no Botão Para Sair", ;
"Saida - Exit - Cancelar ", 1, CLR_WHITE, CLR_CYAN }
ACTIVATE DIALOG oDlg CENTERED ON INIT CTRLS_COLORS( oDlg )
IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
Set( _SET_INSERT, ! Set( _SET_INSERT ) )
ENDIF
oFnt:End()
oFont:End()
oFont1:End()
oFont2:End()
oFont3:End()
HB_GCALL( .T. ) // PARA LIMPAR A MEMORIA
RETURN NIL
FUNCTION EXCLUIR_CLIENTES( oLbx )
MsgInfo( "Aguarde desenvolvimento...", "Aguarde desenvolvimento..." )
RETURN NIL
// TROCA O INDICE DOS CLIENTES EM TEMPO REAL. Joao.
FUNCTION TROCA_INDICE_CLIEN( nOpcRadioClien, cAlias, oLbx )
IF nOpcRadioClien == 2 //-> Por Nome
DbSelectArea( cAlias )
SET INDEX TO IPDRINS2 // POR NOME DO CLIENTE.
ELSEIF nOpcRadioClien == 1 //-> Por Codigo Cliente/Instituicao
DbSelectArea( cAlias )
SET INDEX TO IPDR_INS // POR CODIGO DO NIPDR
ENDIF
oLbx:Refresh()
RETURN NIL
// LOCALIZA UMA PROPOSTA RAPIDA
FUNCTION LOCALIZA_NIPRD( aGet, nNProposta, oLbx )
LOCAL nRecno, cAlias, nnBuscaIpdr
IF GETASYNCKEY( VK_UP ) // set para cima - Impedimento.
RETURN( .F. )
ENDIF
IF GETASYNCKEY( VK_DOWN ) // set para baixo vai para a Listbox
RETURN( .T. )
ENDIF
// MUDEI EM: 15/09/2020 nao estava indo correto a ListBox
IF GETASYNCKEY( VK_RETURN ) ; // <ENTER>/MOUSE
.AND. EMPTY( nNProposta )
RETURN( .T. )
ENDIF
IF EMPTY( nNProposta ) //= 0
RETURN( .T. )
ENDIF
SELECT( DBIPDR_INS ) // CLIENTES / INSTITUICOES - 08/04/2023 - Joao.
SET INDEX TO IPDR_INS // POR CODIGO DO NIPDR
SET SOFTSEEK ON
SEEK( VAL( nNProposta ) )
IF FOUND()
cAlias := ALIAS()
nRecNo := ( cAlias )->( RecNo() )
GoTo( nRecNo )
ELSE // NAO ACHOU, VAI APROXIMAR AO MAXIMO.
SET SOFTSEEK ON
SEEK( nNProposta )
IF FOUND()
// NADA A FAZER - ACHOU.
ELSE
MsgInfo( OemToAnsi( "ATENۂO: " )+CRLF+ ;
OemToAnsi( "I.P.D.R NÇO LOCALIZADO. VERIFIQUE:" )+CRLF+ ;
OemToAnsi( "O NéMERO DO éLTIMO I.P.D.R CRIADO." ), ;
OemToAnsi( "I.P.D.R NÇO LOCALIZADO. VERIFIQUE!" ) )
SET SOFTSEEK OFF
nnBuscaIpdr := SPACE(06)
aGet[1]:VARPUT( nnBuscaIpdr )
aGet[1]:Refresh()
oLbx:GoTop()
oLbx:Refresh()
oLbx:GoBottom()
XFOCUS( aGet[1] )
RETURN( .F. )
ENDIF
ENDIF
oLbx:Refresh()
oLbx:SetFocus()
SET SOFTSEEK OFF
RETURN( .T. )
//-> FUNCTION ipdr0110() - LINHA 724 DE SISIPDR.PRG
FUNCTION GETCLIENTES( lAppend, oLbx, oWnd )
LOCAL cAlias, cTitle
LOCAL oDlg, oFld, iDcor, oIco, oJump, oHand, oGravar, oSaida, oGroup, oFnt,;
oFont, oFontF, nRecNo, aGet := ARRAY(30), oBrush, BtnPrint, oRect
LOCAL nBottom := 42 // 42
LOCAL nRight := 128.5 // 123.2 // largura da tela
LOCAL nWidth := Max( nRight * DLG_CHARPIX_W, 180 ) // 180
LOCAL nHeight := nBottom * DLG_CHARPIX_H // altura do dialogo 94
LOCAL aBitmaps := { "C:\FWH1905\bitmaps\32x32\users.bmp", ;
"C:\FWH1905\bitmaps\32x32\delete.bmp", ;
"C:\FWH1905\bitmaps\32x32\fivetech.bmp", ;
"C:\FWH1905\bitmaps\32x32\quit.bmp", }
// INCLUSAO/EXCLUSAO DECLARACAO DAS VARIAVEIS PUBLICAS PARA JA. MDI(Futuro)
PUBLIC WTEL_DDD, WTEL_NUM, WTEL_RAMAL, WTEL_OBS, WFAX_NUM, WFAX_RAMAL, ;
WFAX_OBS, WTEL2_NUM, WTEL2_RAMAL, WTEL2_OBS, WTEL3_NUM, WTEL3_RAMAL, ;
WTEL3_OBS
PUBLIC MTIPO, WDATA, WTEL_DDD, WTEL_NUM, WTEL_RAMAL, WTEL_OBS, WFAX_NUM, ;
WFAX_RAMAL, WFAX_OBS, WTEL2_NUM, WTEL2_RAMAL, WTEL2_OBS, WTEL3_NUM, ;
WTEL3_RAMAL, WTEL3_OBS, WRCNEN, WCXPOST, WINST, WSETOR, WENDER, ;
WCEP, WBAIRRO, WCITY, WD1_APLIC, WD2_APLIC, WUF, WAPLIC, WRESP1, ;
WCPF, WNCPF, WOLD, WRESP2, WVENC, WMES, WEMAIL, WEMAILF, WIDPJ, ;
WCIPDR, WTROCA, WTIPO_INST, WAREA_INST, WAPLIC_PRI, WAPLIC_SEC, ;
WTIP, WNIPDR, WPAR, ALT, WTPN_INST, WAUX1, oMemo
cAlias := ALIAS()
// Inicializa as variaveis se opcao = InclusÆo
MTIPO := lAppend // WTPSOL // lAppend // INCLUSAO OU ALTERACAO NO ORIGINAL
WDATA := Date()
IF lAppend // Inclusao
// INCLUSAO
WTEL_DDD := SPACE( 2 )
WTEL_NUM := SPACE( 8 )
WTEL_RAMAL := SPACE( 4 )
WTEL_OBS := SPACE( 20 )
WFAX_NUM := SPACE( 8 )
WFAX_RAMAL := SPACE( 4 )
WFAX_OBS := SPACE( 20 )
WTEL2_NUM := SPACE( 8 )
WTEL2_RAMAL := SPACE( 4 )
WTEL2_OBS := SPACE( 20 )
WTEL3_NUM := SPACE( 8 )
WTEL3_RAMAL := SPACE( 4 )
WTEL3_OBS := SPACE( 20 )
WRCNEN := SPACE( 11 )
WCXPOST := SPACE( 6 )
WINST := SPACE( 80 )
WSETOR := SPACE( 40 )
WENDER := SPACE( 60 )
WCEP := SPACE( 8 )
WBAIRRO := SPACE( 20 )
WCITY := SPACE( 35 )
WD1_APLIC := SPACE( 80 )
WD2_APLIC := SPACE( 80 )
WUF := " "
WAPLIC := " "
WRESP1 := SPACE( 80 )
WCPF := " "
WNCPF := SPACE( 11 )
WOLD := SPACE( 11 )
WRESP2 := SPACE( 40 )
WVENC := " "
WMES := UMES
WEMAIL := SPACE( 50 )
WEMAILF := SPACE( 50 )
WIDPJ := SPACE( 14 ) // CNPJ ou CPF
WCIPDR := "IPDR." + SPACE( 6 )
WTROCA := SPACE( 1 )
WTIPO_INST := SPACE( 1 )
WAREA_INST := SPACE( 1 )
WAPLIC_PRI := SPACE( 2 )
WAPLIC_SEC := SPACE( 2 )
//Validar e apresentar os codigos de tipo de Institui‡Æo*/
WTPN_INST := ""
/*
USE IPDR_PAR ALIAS IPDR_PAR SHARED NEW
GO 1
WNIPDR := ULTNUM_INS + 1
WPAR := ULTNUM_INS + 1
*/
// REABRO O CADASTRO DE CLIENTES
ELSE // Alteracao
nRecNo := ( cAlias )->( RecNo() ) //-> CADPROPO.DBF
GoTo( nRecNo )
//BROWSE()
MTIPO := TIPO
WTIP := TIPO
NRE := RecNo()
WDATA := DATA
WRCNEN := RCNEN
WINST := INST
WSETOR := SETOR
WENDER := ENDERECO
WBAIRRO := BAIRRO
WCEP := CEP
WCXPOST := CXPOST
WCITY := CIDADE
WUF := UF
WAPLIC := APLIC
WRESP1 := RESP1
WCPF := CPF
WNCPF := NCPF
WOLD := NCPF
WATIVO := ATIVO
WVENC := VENC
WMES := MESMOV
WEMAIL := EMAIL
WEMAILF := EMAILF
WIDPJ := CNPJ_CPF // CNPJ ou CPF
/* // REVER ISTO
// WCIPDR := "IPDR." + space( 6 )
// WCIPDR := "IPDR." + strzero( WNIPDR, 6, 0 )
// WCIPDR := "IPDR." + NIPDR
*/
WTROCA := TROCA
WD1_APLIC := DESC_APLI1
WD2_APLIC := DESC_APLI2
WTIPO_INST := TIPO_INST
WAREA_INST := AREA_INST
WAPLIC_PRI := APLIC_PRI // A5, I5 por exemplo
WAPLIC_SEC := APLIC_SEC
WTEL_DDD := TEL_DDD
WTEL_NUM := TEL_NUM
WTEL_RAMAL := TEL_RAMAL
WTEL_OBS := TEL_OBS
WFAX_NUM := FAX_NUM
WFAX_RAMAL := FAX_RAMAL
WFAX_OBS := FAX_OBS
WTEL2_NUM := TEL2_NUM
WTEL2_RAMAL:= TEL2_RAMAL
WTEL2_OBS := TEL2_OBS
WTEL3_NUM := TEL3_NUM
WTEL3_RAMAL:= TEL3_RAMAL
WTEL3_OBS := TEL3_OBS
/* // VERIFICAR ISTO
ALT := 0
IF WMES = UMES .AND. MTIPO = "I"
ALT := 1
ELSEIF WMES = UMES .AND. MTIPO = "C"
ALT := 2
ENDIF
*/
/* // DUPLICADO, REVER
WRCNEN := RCNEN
WINST := INST
WSETOR := SETOR
WENDER := ENDERECO
WBAIRRO := BAIRRO
WCEP := CEP
WCXPOST := CXPOST
WCITY := CIDADE
WUF := UF
WAPLIC := APLIC
WRESP1 := RESP1
WCPF := CPF
WNCPF := NCPF
WOLD := WNCPF
WATIVO := ATIVO
WVENC := VENC
WDATA := DATA
XK_IPDR := NIPDR
MTIPO := TIPO
WTIP := TIPO
WMES := MESMOV
WEMAIL := EMAIL
WIDPJ := CNPJ_CPF // CNPJ ou CPF
WTROCA := TROCA
WEMAILF := EMAILF
WD1_APLIC := DESC_APLI1
WD2_APLIC := DESC_APLI2
WTIPO_INST := TIPO_INST
WAREA_INST := AREA_INST
WAPLIC_PRI := APLIC_PRI
*/
//Validar e apresentar os codigos de tipo de Institui‡Æo*/
WAUX1 := WTIPO_INST
IF WAUX1 = "4"
WTPN_INST = "Privada"
ELSEIF WAUX1 = "5"
WTPN_INST = "Pessoa Física"
ELSEIF WAUX1 = "6"
WTPN_INST = "Economia Mista"
ELSEIF WAUX1 = "7"
WTPN_INST = "Pública"
ELSE
WTPN_INST = "Inválido"
ENDIF
ENDIF
IF lAppend
cTitle := OemToAnsi( "IPDR: INCLUSÇO NO CADASTRO DE CLIENTES - INSTITUI€åES - Folder." )
ELSE
cTitle := OemToAnsi( "IPDR: ALTERAۂO NO CADASTRO DE CLIENTES - INSTITUIیES - Folder." )
ENDIF
DEFINE ICON oIco NAME "ICONE"
DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 00, -14 BOLD
DEFINE FONT oFontF NAME "Ms Sans Serif" SIZE 00, -16 BOLD // estoura o folder.
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 00, -12 BOLD
/* // Prefiro da segunda forma, tenho controle total do Dialogo/Folder.
DEFINE DIALOG oDlg SIZE nWidth, nHeight PIXEL TRUEPIXEL RESIZABLE ;
COLOR CLR_BLACK, CLR_WHITE TITLE cTitle FONT oFont ICON oIco TRANSPARENT
*/
// LARG ALT - 1024 X 768 - RESOLUCAO
DEFINE DIALOG oDlg SIZE 1020, 560 PIXEL TRUEPIXEL RESIZABLE TRANSPARENT ;
COLOR CLR_BLACK, CLR_WHITE TITLE cTitle FONT oFont ICON oIco
oDlg:lHelpIcon := .F.
// BITMAPS aBitmaps ;
/*
@ 3, 3 FOLDEREX oFld PIXEL STRETCH ;
PROMPT "&Cadastro", "Futuro" ;
ON PAINT TAB PaintTab( Self, nOption ) ;
TAB HEIGHT 35 ROUND 5 ;
BITMAPS "FERRARI", "FERRARI2" ;
TOP ALIGN FLDBMP_LEFT, FLDBMP_LEFT ;
OPTION 1 ;
COLOR CLR_GREEN FONT oFont
*/
@ 3, 3 FOLDEREX oFld PIXEL STRETCH ;
PROMPT "&Cadastro", "Futuro" ;
TAB HEIGHT 35 ROUND 5 ;
BITMAPS "FERRARI", "FERRARI2" ;
TOP ALIGN FLDBMP_LEFT, FLDBMP_LEFT ;
OPTION 1 ;
COLOR CLR_GREEN FONT oFont
oFld:nLayOut := 1 //2 -> LEFT
oFld:aEnable[2] := .F.
/*
oFld:EnableTab( nOption ) / oFld:DisableTab( nOption )
https://forums.fivetechsupport.com/viewtopic.php?f=3&t=19543&start=30
*/
@ 15, 00 SAY "CNPJ:" OF oFld:aDialogs[1] PIXEL SIZE 30, 12 RIGHT UPDATE ;
COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
// 06, 09 soma: 21
IF lAppend // inclusao
@ 15, 34 GET aGet[3] VAR WIDPJ OF oFld:aDialogs[1] PIXEL SIZE 080, 12 ;
PICTURE "@R 99999999999999" CENTER UPDATE COLORS CLR_BLACK, CLR_WHITE;
FONT oFont WHEN( lAppend )
// PICT spict VALID ver_IDPJ( WIDPJ )
ELSE // alteracao
@ 15, 34 GET aGet[3] VAR WIDPJ OF oFld:aDialogs[1] PIXEL SIZE 080, 12 ;
PICTURE "@R 99.999.999/9999-99" UPDATE COLORS CLR_BLACK, CLR_WHITE ;
CENTER FONT oFont WHEN( lAppend )
ENDIF
aGet[3]:lBtnTransparent := .T. // transparent button get oGet3
aGet[3]:lAdjustBtn := .T. // Button Get Adjust Witdh oGet3
aGet[3]:lDisColors := .F. // Deactive disable color
aGet[3]:nClrTextDis := CLR_WHITE // Color text disable status
aGet[3]:nClrPaneDis := CLR_HBLUE // Color Pane disable status
// na frente do GET do CNPJ - 29 somei: 81
@ 15, 110 SAY "Tipo:" OF oFld:aDialogs[1] PIXEL SIZE 30, 12 RIGHT UPDATE ;
COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
// 34 -> ERA SOMEI: 110
@ 15, 144 GET aGet[4] VAR WTIPO_INST OF oFld:aDialogs[1] PIXEL SIZE 030, 12;
PICTURE "@R 9" UPDATE COLORS CLR_WHITE, CLR_HBLUE CENTER FONT oFont ;
VALID ( WTIPO_INST $ "4,5,6,7" ) // nao achei o 8 "[Inv lido]" ?
// VALID TipoInst( WTIPO_INST ) // depois ver isto.
aGet[4]:cTooltip := { "Escolha um Tipo de Instituição: ", ;
"4 = [Privada] " +CRLF+ "5 = [Pessoa Física] "+CRLF+;
"6 = [Economia Mista] " +CRLF+ "7 = [Pública] ", 1, ;
CLR_WHITE, CLR_HBLUE }
// @ 06, 36 SAY WTPN_INST SOMEI: 144
@ 15, 180 SAY WTPN_INST OF oFld:aDialogs[1] PIXEL SIZE 50, 16 UPDATE ;
COLORS CLR_ORANGE, CLR_WHITE TRANSPARENT FONT oFont
// @ 06, 53 SAY "Área:" // somei: 157
@ 15, 210 SAY "Área:" OF oFld:aDialogs[1] PIXEL SIZE 30, 12 RIGHT UPDATE ;
COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
// @ 06, 58 GET WAREA_INST PICT "@!" VALID FUN110c( WAREA_INST )
@ 15, 245 GET aGet[5] VAR WAREA_INST OF oFld:aDialogs[1] PIXEL SIZE 030, 12;
PICTURE "@!" UPDATE COLORS CLR_WHITE, CLR_HBLUE CENTER FONT oFont
// @ 06, 81 SAY "Aplic."// 194
@ 15, 275 SAY "Aplic.:" OF oFld:aDialogs[1] PIXEL SIZE 30, 12 RIGHT UPDATE ;
COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
// SOMEI: 222
// @ 06, 88 GET WAPLIC_PRI PICT "@!" VALID !empty( WAPLIC_PRI )
@ 15, 310 GET aGet[6] VAR WAPLIC_PRI OF oFld:aDialogs[1] PIXEL SIZE 030, 12;
PICTURE "@ !!" UPDATE COLORS CLR_WHITE, CLR_HBLUE CENTER FONT oFont
// @ 06, 91 GET WAPLIC_SEC PICT "@!" valid ( WAPLIC_SEC != WAPLIC_PRI )
@ 15, 345 GET aGet[7] VAR WAPLIC_SEC OF oFld:aDialogs[1] PIXEL SIZE 030, 12;
PICTURE "@ !!" UPDATE COLORS CLR_WHITE, CLR_HBLUE CENTER FONT oFont ;
VALID ( WAPLIC_SEC != WAPLIC_PRI )
//@ 08, 00 SAY "Descr. Aplic."//14
@ 35, 00 SAY "Descr. Aplic.:" OF oFld:aDialogs[1] PIXEL SIZE 50, 12 RIGHT ;
UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 08, 14 GET WD1_APLIC MEMO nao ficou legal nao. Joao
// @ 35, 55 GET oMemo VAR WD1_APLIC MEMO OF oFld:aDialogs[1] PIXEL LEFT ;
// SIZE 300, 12 UPDATE COLORS CLR_WHITE, CLR_HBLUE CENTER FONT oFont
@ 35, 55 GET aGet[8] VAR WD1_APLIC OF oFld:aDialogs[1] PIXEL SIZE 300, 12 ;
PICTURE "@" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont
//@ 09, 14 GET WD2_APLIC
@ 47, 55 GET aGet[9] VAR WD2_APLIC OF oFld:aDialogs[1] PIXEL SIZE 300, 12 ;
PICTURE "@" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont
//@ 11, 00 SAY "Nome da Inst." // NOME DO CLIENTE AQUI
@ 65, 00 SAY "Nome da Instituição:" OF oFld:aDialogs[1] PIXEL SIZE 75, 12 ;
RIGHT UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 11, 14 GET WINST PICT '@!' VALID !empty( WINST )
@ 65, 80 GET aGet[10] VAR WINST OF oFld:aDialogs[1] PIXEL SIZE 370, 12 ;
PICTURE "@!" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont ;
VALID .NOT. EMPTY( WINST )
//@ 12, 00 SAY "Nome do Setor"
@ 80, 00 SAY "Nome do Setor:" OF oFld:aDialogs[1] PIXEL SIZE 75, 12 ;
RIGHT UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 12, 14 GET WSETOR PICT '@!'
@ 80, 80 GET aGet[11] VAR WSETOR OF oFld:aDialogs[1] PIXEL SIZE 205, 12 ;
PICTURE "@!" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont
//@ 12, 72 SAY "Troca: C,M,R"//85
@ 80, 290 SAY "Troca: C,M,R:" OF oFld:aDialogs[1] PIXEL SIZE 50, 12 ;
RIGHT UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 12, 85 GET WTROCA PICT "@!" VALID chktroca( WTROCA )
@ 80, 350 GET aGet[12] VAR WTROCA OF oFld:aDialogs[1] PIXEL SIZE 30, 12 ;
PICTURE "@!" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont CENTER ;
VALID ( WTROCA $ "C,M,R" )
aGet[12]:cTooltip := { "Escolha uma Opção: ", ;
"(C)=CORREIO - (M)=EM MÃOS - (R)=RETIRA", 1, ;
CLR_WHITE, CLR_HBLUE }
//@ 13, 00 SAY "End. do Setor"//14
@ 95, 00 SAY "Endereço do Setor:" OF oFld:aDialogs[1] PIXEL SIZE 75, 12 ;
RIGHT UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 13, 14 GET WENDER PICT '@!' VALID !empty( WENDER )
@ 95, 80 GET aGet[13] VAR WENDER OF oFld:aDialogs[1] PIXEL SIZE 280, 12 ;
PICTURE "@!" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont ;
VALID .NOT. EMPTY( WENDER )
//@ 13, 77 SAY "Cx.Postal"
@ 95, 355 SAY "Cx.Postal:" OF oFld:aDialogs[1] PIXEL SIZE 50, 12 ;
RIGHT UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
// @ 13, 88 GET WCXPOST PICT '@R 999999'
@ 95, 410 GET aGet[14] VAR WCXPOST OF oFld:aDialogs[1] PIXEL SIZE 50, 12 ;
PICTURE "@R 999999" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont CENTER
// @ 14, 00 SAY "Bairro"
@ 110, 03 SAY "Bairro:" OF oFld:aDialogs[1] PIXEL SIZE 45, 12 ;
UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
// @ 14, 14 - 7 GET WBAIRRO PICT '@!'
@ 110, 032 GET aGet[15] VAR WBAIRRO OF oFld:aDialogs[1] PIXEL SIZE 110, 12 ;
PICTURE "@!" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont
//@ 14, 30 SAY "Cep" // 175
@ 110, 115 SAY "Cep:" OF oFld:aDialogs[1] PIXEL SIZE 50, 12 ;
RIGHT UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 14, 34 GET WCEP PICT '@R 99999-999' VALID !empty( WCEP ) .AND. len( alltrim( WCEP ) ) = 8
@ 110, 170 GET aGet[16] VAR WCEP OF oFld:aDialogs[1] PIXEL SIZE 50, 12 ;
PICTURE "@R 99999-999" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont ;
CENTER VALID .NOT. EMPTY( WCEP )
//@ 14, 45 SAY "Cidade"
@ 110, 205 SAY "Cidade:" OF oFld:aDialogs[1] PIXEL SIZE 50, 12 ;
RIGHT UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 14, 52 GET WCITY PICT '@!' VALID !empty( WCITY )
@ 110, 260 GET aGet[17] VAR WCITY OF oFld:aDialogs[1] PIXEL SIZE 180, 12 ;
PICTURE "@!" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont
//@ 14, 89 SAY "UF"//92
@ 110, 440 SAY "UF:" OF oFld:aDialogs[1] PIXEL SIZE 20, 12 ;
RIGHT UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 14, 92 GET WUF PICT '@! AA' VALID !empty( WUF ) .AND. len( alltrim( WUF ) ) = 2
@ 110, 467 GET aGet[18] VAR WUF OF oFld:aDialogs[1] PIXEL SIZE 30, 12 ;
PICTURE "@! AA" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont CENTER ;
VALID .NOT. EMPTY( WUF )
//@ 15, 00 SAY "Tel. Monit."//11
@ 126, 03 SAY "Tel. Monit.:" OF oFld:aDialogs[1] PIXEL SIZE 45, 12 ;
UPDATE COLORS CLR_WHITE, CLR_BLACK TRANSPARENT FONT oFont
//@ 15, 11 GET WTEL_DDD PICT "99" valid ( len( alltrim(WTEL_DDD ) ) = 2 .AND. val( WTEL_DDD ) > 10 )
@ 126, 47 GET aGet[19] VAR WTEL_DDD OF oFld:aDialogs[1] PIXEL SIZE 030, 12 ;
PICTURE "@ 99" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont CENTER
//@ 15, 14 GET WTEL_NUM PICT "XX999999" VALID FUN110e( 0, WTEL_NUM )
@ 126, 83 GET aGet[20] VAR WTEL_NUM OF oFld:aDialogs[1] PIXEL SIZE 050, 12 ;
PICTURE "XX999999" UPDATE COLORS CLR_WHITE, CLR_HBLUE FONT oFont CENTER
//@ 15, 22 SAY "r"
//@ 15, 23 GET WTEL_RAMAL PICT "9999" VALID FUN110e( 4, WTEL_RAMAL )
//@ 15, 27 SAY "-"
//@ 15, 28 GET WTEL_OBS PICT "XXXXXXXXXXXXXXXXXXXX"
// Botoes
@ 195, 250 BUTTONBMP oGravar RESOURCE "FLOPPY2" TEXTRIGHT FONT oFont ;
PROMPT "&Gravar" SIZE 100, 30 PIXEL OF oDlg ;
TOOLTIP { "Click no Botão Para Incluir", ;
"Incluir Um Novo Cliente... ", 1, CLR_WHITE, CLR_CYAN } ;
ACTION ( oDlg:End( IDOK ) ) WHEN( .F. )
@ 195, 250 BUTTONBMP oSaida RESOURCE "154" TEXTRIGHT FONT oFont ;
PROMPT "&Saida" SIZE 100, 30 PIXEL OF oDlg ;
TOOLTIP { "Click no Botão Para Sair", ;
"Saida - Exit - Cancelar ", 1, CLR_WHITE, CLR_CYAN } ;
ACTION ( oDlg:End( IDCANCEL ) ) //CANCEL
// CONTROLES DO OBJETOS
oDlg:bResized := < ||
oRect := oDlg:GetCliRect()
oFld:nWidth := oRect:nRight - 4 // 20 ajusta o folder Largura
oFld:nHeight := oRect:nBottom - 45 // 60 altura do folder?
oGravar:nTop := oRect:nBottom - 38 // 34 diminui a Linha
oGravar:nLeft := oRect:nRight - 260 // coluna
oSaida:nTop := oRect:nBottom - 38 // 34 diminui a Linha
oSaida:nLeft := oRect:nRight - 140 // coluna
RETURN NIL
>
ACTIVATE DIALOG oDlg CENTERED ON INIT ( Eval( oDlg:bResized ) )
oFont:End()
oFontF:End()
oFnt:End()
RETURN NIL
/*
Function : TipoInst
Finalidade : Validar e apresentar os codigos de tipo de Institui‡Æo*/
FUNCTION TipoInst( WAUX1 )
/*
IF ( ( len(alltrim(WIDPJ ) ) = 11 .AND. WAUX1 != "5" ) .OR. ( len(alltrim(WIDPJ ) ) != 11 .AND. WAUX1 == "5" ) )
MENS_ANT := savescreen( 23, 00, 24, 95 )
MENS2324( "O Tipo de Institui‡Æo ‚ inconsistente com o valor de CNPJ/CPF", ;
"tecle [ENTER] para prosseguir" )
inkey( 0 )
restscreen( 23, 00, 24, 95, MENS_ANT )
RETURN .F.
ENDIF
*/
WTPN_INST = "[Inv lido]"
IF WAUX1 = "4"
WTPN_INST = "[Privada]"
ELSEIF WAUX1 = "5"
WTPN_INST = "[Pessoa F¡sica]"
ELSEIF WAUX1 = "6"
WTPN_INST = "[Economia Mista]"
ELSEIF WAUX1 = "7"
WTPN_INST = "[P£blica]"
ELSE
RETURN .F.
ENDIF
RETURN( WTPN_INST )
// FIN / END - kapiabafwg@gmail.com - Joao Santos - Sao Paulo - Brasil.
Regards, saludos.