Alguem já passou por isto??? Help
2do problema: quando funciona em rede, o executável demora um tempão para carregar desde outro terminal.
Moderador: Moderadores


Tche, isso não acontece aqui ...post um exemplo de como vc esta usando...Estou usando xh99.70 e vl2.3, na máquina com xp o mouse funciona joia, mas no w98 os botoes não funcionam, porem ao passar por cima dos menus, vai trocando a opção, mais não consigo selecionar com os botoes
Alguem já passou por isto??? Help
Tche, vc esta usando o UPX ? aqui tah funcionando normal na rede...alias aqui não...em cliente...mas jah notei que no winodws 98 ele dah uma retardada...nos Dbedit()...mas vc pode usar o tbrowse() que vai que é uma beleza....2do problema: quando funciona em rede, o executável demora um tempão para carregar desde outro terminal.?



Tche, eu tava brincando....Daniel_halon escreveu:Ta feito, so escolher os sabores e ligar
testei o teu .exe e o mouse funciona ok, devo estar mancando em algum lugar, vou te mandar os prg

Código: Selecionar todos
////////////////////////////////////////////////////////////////////////////////
// tele0000.prg - modulo principal do sistema de tele-entrega //
// Programa da Visual Lib 2.0 - Adaptado para Harbour
// programador : Daniel Halon //
// data : 05/07/2007 //
////////////////////////////////////////////////////////////////////////////////
#include "INKEY.CH"
#include 'FILEIO.CH'
#include "FISCAL.CH"
#include "visual2.ch"
// LOCAL aEnv := SavEnv( 0, 0, 24, 79 )
// RstEnv( aEnv )
Function main(entrada)
Memvar porta
LOCAL a_menu := {}
LOCAL m_opcao := ''
LOCAL cCont := 1
LOCAL aEnv
PUBLIC a_cargos := {}
PUBLIC a_impre := {}
PUBLIC a_cartao := {}
PUBLIC a_zzdat := {}
PUBLIC a_tprod := {}
PUBLIC a_color := {}
PUBLIC a_Vales := {}
PUBLIC a_Ende := {}
PUBLIC cNom := ''
PUBLIC Netlpt := '1'
//
// configuracao
//
set date to french
set wrap on
set deleted on
set century on
set color to
set scoreboard off
set softseek on
set epoch to 1960
set confirm on
//
// cores do sistema
//
if iscolor()
aadd(a_color,{'15/0','15/3','15/2','15/7'}) // menus
else
aadd(a_color,{'15/3','15/5','15/1*','15/7'}) // menus
endif
set key K_F10 to Saida //Funcao utilizar VLExit() da Visual Lib
SetKeyMouse( K_F1, { 24, 24, 00, 07 } ) //VL-Associa tecla de fun‡Æo … uma
SetKeyMouse( K_F10, { 24, 24, 72, 79 } ) //regiao da tela - uso do mouse
check_files()
open_files()
Public Pro_dia := open_promo() // definindo o valor do desconto para a promocao de hoje
IF Alltrim( Netname() ) == alltrim( tele0050->( a_maqfis50 ) )
//
// DECLARO PUBLICA A VARIAVEL PARA A PORTA DE COMUNICACAO SERIAL para impressora fiscal
//
Public Porta := FOpen( tele0050->A_COM___50, FO_READWRITE + FO_COMPAT )
//
// VERIFICO A PORTA DE COMUNICACAO DA SERIAL
//
IF tele0050->a_cupom_50 == TRUE
Progra_pgto() // Programo as formas de pagamento na impressora fiscal
ELSE
MsgBox3D1( {"ATENCAO!!!","","Impressora Fiscal DESATIVADA","" },"Impressora Fiscal" )
ENDIF
ENDIF
Desktop(empresa()[2] + space(5) + 'Atend.' + cNom + space(2) + 'Ter: ['+ IIF( empty( alltrim( netname() ) ), 'Single', alltrim(netname() ) ) + ']' + space(3) + 'Versao Vl 07.07') //Fun‡Æo que inicializa a Visual Lib - Sempre deve ser chamada no inicio
DrawFn( 01, "Sobre" ) //VL-Desenha fun‡Æo na linha 24
DrawFn( 10, "Sa¡da" ) //VL-Desenha fun‡Æo na linha 24
Auditor( 'Entrada ao sistema por: ' + cNom,'Tele0000',0 )
//
// Cartoes de Credito
//
aadd(a_cartao,'CREDICARD ')
aadd(a_cartao,'MASTERCARD ')
aadd(a_cartao,'DINNERS CLUB ')
aadd(a_cartao,'REDE SHOP ')
aadd(a_cartao,'MAESTRO ')
aadd(a_cartao,'VISA ')
aadd(a_cartao,'VISA ELECTRON ')
aadd(a_cartao,'AMERICAN EXPRESS')
asort(a_cartao)
//
// tamanhos de pizzas
//////////////////////
// a_zzdat //
// 1 - codigo //
// 2 - sufixo //
// 3 - coeficiente //
// 4 - descricao //
//////////////////////
select tele0050
aadd( a_zzdat, {'ZZ' , '',0 ,'' } )
aadd( a_zzdat, {'ZZF','F',a_zzc1__50,' F - Familia '} )
aadd( a_zzdat, {'ZZG','G',a_zzc2__50,' G - Grande '} )
aadd( a_zzdat, {'ZZM','M',a_zzc3__50,' M - Media '} )
aadd( a_zzdat, {'ZZP','P',a_zzc4__50,' P - Pequena '} )
aadd( a_zzdat, {'ZZB','B',a_zzc5__50,' B - Brotinho '} )
aadd( a_zzdat, {'ZZC','C',a_zzc6__50,' C - Calzone '} )
aadd( a_zzdat, {'ZZX','X',a_zzc7__50,' X - Prom.Gde. '} )
aadd( a_zzdat, {'ZZW','W',a_zzc8__50,' W - Prom.Broto '} )
// Cria um "Menu de Barra" na tela principal, atribuindo-o a vari vel "mBar"
mBar := NewBarMenu()
mPara := NewDownMenu() //(VL) Cria Menu Down vinculado a mBar
mCada := NewDownMenu() //(VL) Cria Menu Down vinculado a mBar
mOper := NewDownMenu() //(VL) Cria Menu Down vinculado a mBar
mManu := NewDownMenu() //(VL) Cria Menu Down vinculado a mBar
mSupe := NewDownMenu() //(VL) Cria Menu Down vinculado a mBar
mDire := NewDownMenu() //(VL) Cria Menu Down vinculado a mBar
mCada1 := NewDownMenu() //(VL) Cria Sub-Menu vinculado a mCada
mCada2 := NewDownMenu() //(VL) Cria Sub-Menu vinculado a mCada
mCada3 := NewDownMenu() //(VL) Cria Sub-Menu vinculado a mCada
mCada31 := NewDownMenu() //(VL) Cria Sub-Menu vinculado a mCada3
mCada5 := NewDownMenu() //(VL) Cria Sub-Menu vinculado a mCada
// Adiciona os itens (prompts)
AddBarItem( mBar, "&Parametros" , "Parametros do sistema" , mPara ) //{ || Menu_Parametros() } )
AddBarItem( mBar, "&Cadastros" , "Cadastros varios" , mCada ) //{ || Cadastros() } )
AddBarItem( mBar, "&Operativo" , "Opera‡äes referentes ao turno" , mOper ) //{ || Pedidos() } )
AddBarItem( mBar, "&Manuten‡Æo" , "Manuten‡Æo do sistema" , mManu ) //{ || Servicos() } )
AddBarItem( mBar, "&SupervisÆo" , "Area exclusiva da supervisÆo" , mSupe ) //{ || Supervisor() } )
AddBarItem( mBar, "&Dire‡Æo" , "Area privativa da Dire‡Æo" , mDire ) //{ || Gerente() } )
// Sub menus
// mPara - Defini‡Æo dos itens dos paramentros
//
AddDownItem( mPara, "&Gerais" , "Parametros Gerais", { || Parametros() } )
AddDownItem( mPara, "&Troca de Turno" , "Troca de Data e Turno", { || Para_data() } )
AddDownItem( mPara, "&Promo‡äes" , "Promo‡äes", { || Para_promo() } )
AddDownSep ( mPara ) // Linha de separa‡Æo
AddDownItem( mPara, "Sai&r", "Encerra o programa", { || Saida() } )
// Sub menus
// mCada - Defini‡Æo dos itens dos Cadastros
//
AddDownItem( mCada, "&Clientes", "Cadastro de Clientes", mCada1 )
AddDownItem( mCada, "&Entregadores", "Cadastro de Entregadores", mCada2 )
AddDownItem( mCada, "&Produtos", "Cadastro de Produtos", mCada3 )
AddDownItem( mCada, "&Sicredi", "Cadastro de Fun. Sicredi", )
AddDownItem( mCada, "&Funcionarios", "Cadastro de Funcion rios", mCada5 )
AddDownItem( mCada, "&Bairros", "Cadastro de Bairros" )
AddDownItem( mCada, "&Tipos de Venda", "Cadastro de tipos de Venda" )
AddDownItem( mCada, "S&abores em Prom.", "Cadastro Promo‡äes" )
AddDownItem( mCada, "Cartä&es de Cr‚dito", "Cadastro Cartäes de Credito" )
AddDownItem( mCada, "Ba&ncos", "Cadastro de Bancos" )
// Sub menus
// mCada1 - Sub menus de clientes
//
AddDownItem( mCada1, "&Telefone", "Digite o telefone com o tra‡o ap¢s o 4§ n£mero", { || Cli_browtel(1) } )
AddDownItem( mCada1, "&Endere‡o", "Digite o endere‡o, o sistema aproximar ", { || Cli_browtel(2) } )
AddDownItem( mCada1, "&Bairro", "Digite o bairro", { || Cli_browtel(3) } )
AddDownItem( mCada1, "&Nome", "Digite o Nome do cliente", { || Cli_browtel(4) } )
// Sub menus
// mCada2 - Sub menus de Entregadores
//
AddDownItem( mCada2, "Cad.&C¢digo", "Digite o c¢digo do entregador", { || Fun_brow_mot(1) } )
AddDownItem( mCada2, "Cad.&Nome", "Digite o nome do entregador", { || Fun_brow_mot(2) } )
AddDownItem( mCada2, "Cad.&Telefone", "Digite o telefone do entregador com o tra‡o ap¢s o 4§ n£mero", { || Fun_brow_mot(3) } )
AddDownItem( mCada2, "&Ativar Ent.", "Ativar um entregador", { || Ativo_mot() } )
// Sub menus
// mCada3 - Sub menus de Produtos
//
AddDownItem( mCada3, "&Ent.de Mercadorias", "Digite o c¢digo do produto a lan‡ar", { || Ent_mercad() } )
AddDownItem( mCada3, "&Cad.de Mercadorias", "Menu de Cadastros de produtos", mCada31 )
// Sub menus
// mCada31 - Sub menus de Cadastro de Produtos
//
AddDownItem( mCada31, "&C¢digo", "Digite o c¢digo do produto", { || Produto_brow(1) } )
AddDownItem( mCada31, "&Descri‡Æo","Digite a descri‡Æo do produto", { || Produto_brow(2) } )
//AddDownItem( mPdn, "Op‡Æo &2", "Segunda Op‡Æo - Sem fun‡Æo vinculada" )
//AddDownItem( mPdn, "Op‡Æo &3", "Terceira Op‡Æo - Com Sub-Menu", mPdn1 )
//AddDownSep ( mPdn ) // Linha de separa‡Æo
//AddDownItem( mPdn, "&ChkDownItem", "Marca/Desmarca um item do menu", mPdnChk )
//AddDownItem( mPdn, "&SetDownItem", "Habilita/Desabilita um item do menu", mPdnSet )
//AddDownSep ( mPdn ) // Linha de separa‡Æo
//AddDownItem( mPdn, "Sai&r", "Encerra o programa", { || Saida() } )
Do while .t. // Loop principal
BarMenu( mBar ) //VL-Ap¢s a definicao dos menus, BarMenu( mBar ) controla tudo
set key K_F10 to // Desligamos set key
SetKeyMouse( K_F10, {} ) //VL-Desativamos o Mouse para F10
VLExit() //VL-Pede confirmacao para sair
set key K_F10 to saida // Se chegou aqui, significa que nao saiu...
SetKeyMouse( K_F10, { 24, 24, 72, 79 } ) //VL-Define novamente F10 p/ mouse
Enddo
Return
////////////////////////////////////////
function Help
local aKM := SetKeyMouse( K_F1, {} ) //VL-Salvamos e desativamos F1 p/ mouse
set key K_F1 to
// Observe que a mensagem passada para MsgBox3d1() e um array com 6 elementos.
// Cada elemento representa uma linha na janela de mensagem que sera exibida
MsgBox3D1( { "Infowork Sistemas de inform tica",;
"",;
"Av. Prot sio Alves, 822 - Rio Branco",;
"CEP: 90410-004 Porto Alegre - RS",;
"",;
"PABX/FAX: (51) 3023-5081",;
"",;
replicate(chr(196),19),;
Version(),;
'Running on ' + OS() },;
"Sobre o Sistema de Tele-entrega" ) // segundo parametro (titulo)
set key K_F1 to help
SetKeyMouse( K_F1, aKM ) //VL-Reativamos F1 para o mouse
return nil
///////////////////////////////////////
Function saida
local aKM := SetKeyMouse( K_F10, {} ) //VL-Salvamos e desativamos F10 p/ mouse
set key K_F10 to
VLExit() //VL-Sa¡da da Visual Lib
set key K_F10 to saida
SetKeyMouse( K_F10, aKM ) //VL-Reativamos F10 para o mouse
return nil
///////////////////////////////////////////////////////////////////////////////
//
// Funcoes...
//
////////////////////////////////////////////////////////////////////////////////
// check_pedido() //
////////////////////////////////////////////////////////////////////////////////
Static function check_pedido( N_ped )
LOCAL m_key, m_y, m_x
m_y := 10
m_x := 15
select tele0060
dbsetorder(1)
m_key := strzero( N_ped,6,0)
if !dbseek(m_key)
msg('Pedido nao encontrado!',.t.)
msg()
return .f.
else
IF Tele0060->( a_fatura60 == TRUE )
IF !Sino(17,0,2,' Este pedido ja foi faturado ',' Deseja faturar novamente? ')
Return .f.
ENDIF
ENDIF
IF Tele0060->( a_total_60 == 0 )
msg('ESTE CUPOM NAO PODE SER EMITIDO, O VALOR DO PEDIDO E 0.00 !!!',.t.)
msg()
Return FALSE
ENDIF
if a_turno_60 # tele0050->a_turno_50 .or. a_dtped_60 # tele0050->a_dtmov_50
msg('Atencao !!!',.t.)
if sino(17,0,2,' Este pedido nao corresponde a esta ',' Data ou Turno, deseja continuar? ')
else
return .f.
endif
msg()
endif
@m_y+2, m_x+26 say a_nome__60 color '15/5'
endif
return .t.
///////////////////////////////////////////////////////////////////////////////
Function check_telefono( nPedido )
LOCAL cTeleaux := ' - '
LOCAL m_key
LOCAL m_y
LOCAL m_x
LOCAL cAchado := FALSE
m_y := 10
m_x := 15
tele0010->( dbsetorder( 1 ) )
tele0060->( dbsetorder( 1 ) )
tele0060->( dbseek( nPedido ) )
IF tele0010->( !dbseek( substr( tele0060->( a_cli___60 ), 1, 9 ) ) )
IF sino(17,0,0,' O telefone deste pedido nao consta no cadastro ',' de clientes, deseja procurar outro numero de telefone? ')
@m_y+3, m_x+12 get cTeleaux picture '9999-9999'
Read
IF lastkey() == 27
Return( cAchado )
ENDIF
cTeleAux += space( 4 )
IF tele0010->( !dbseek( tele0060->( cTeleAux ) ) )
msg( 'Este numero de telefone nao pertence a nehum cliente!!!', TRUE )
inkey( 0 )
msg()
Return( cAchado )
ELSE
@m_y+3, m_x+12 say Tele0010->( a_fone__10 ) color '15/5'
@m_y+4, m_x+12 say Substr( Tele0010->( a_ende__10 ), 1,43 ) color '15/5'
cAchado := TRUE
ENDIF
ELSE
Return( cAchado )
ENDIF
ELSE
@m_y+3, m_x+12 say Tele0010->( a_fone__10 ) color '15/5'
@m_y+4, m_x+12 say Substr( Tele0060->( a_ende__60 ), 1,43 ) color '15/5'
cAchado := TRUE
ENDIF
Return( cAchado )


Tche, essas LIB e INCLUDES vem junto com a Contrib, vc pode baixar no link abaixo a Contrib, Obs:no link abaixo vc vai ter que compilar as LIB.não tenho GTINFO.CH - WINDOWS.CH - WVTWIN.CH - WHAT32.LIB - WVTGUI.LIB


Tche, baixa no link abaixo o xharbour_0.99.70 + Contrib Compilada...Daniel_halon escreveu:Olá Leonardo, sumi um poquinho, baixei as cont. porem na minha ignorancia não consegui compilar as lib, não achei nehum prg das libs, acho que não sei como compilar a informação que aparece, poderias me dar uma mão?
Obrigado, Daniel...


Tche, as Libs não tem documentação...mas usando a GTWVW vc pode usar imagens...alias a gtwvw tem um PDF que esta no grupo da GTWVW.Daniel_halon escreveu:Olá Leonardo
Valeu pelas dicas, estou afundando e aprendendo com elas, existe uma guia de funções das lib's???. Sabes alguma forma de inserir no meu cadastro de funcionários as fotos deles???.
Ate agora tuas dicas superam as espectivas que eu tinha a respeito das lib's, já ganhaste 6 fatias de pizza.
Brincadeira, já ganhaste a pizza inteira(não é brincadeira), podes ligar para mim e fazer teu pedido, enviarei com o maior prazer.
Daniel

