Clipper On Line • Ver Tópico - usar recursos de outra tela

usar recursos de outra tela

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

usar recursos de outra tela

Mensagempor lecojales » 25 Fev 2013 16:50

Olá pessoal, boa tarde, já pesquiseri e muito, mas infelizmente não encontrei.

Estou usando a fiveppc, tem muitos recursos limitados. Para se ter uma idéia, não consigo nem descompactar um arquivo zip, bom mas vamos lá.

Eu preciso jogar uns dados na tela, mas não cabe tudo, o scroll horizontal e vertical não funciona.

Daí criei o recurso da primeira tela, botão 1, botão 2, o que eu gostaria era quando clicar no botão 2, deixa-se alguns campos invisível, e buscasse os dados de uma segunda tela um segundo recurso, mas por algum motivo não consigo buscar esta segunda tela. se eu deixar tudo na mesma tela, dá certo, mas fica confuso para dar manutenção, e criar abas não deu muito certo.

tela de cadastro
*-------------------------------------------------------------------------------
Static Function MostraFichaCliente(lModo,oWndFol)
Private oEd_Razao,oEd_Fantasia,oEd_Endereco,oEd_Numero,oEd_Bairro,oEd_Cidade,oEd_CEP,;
       oEd_UF,oEd_Contato,oEd_Fone,oEd_FAX,oEd_Celular,oEd_CNPJ,oEd_IE
       
Private BT_Gravar,BT_Cancelar,BT_Anterior,BT_Proximo,BT_Novo,;
       cEd_Razao,cEd_Fantasia,cEd_Endereco,nEd_Numero:= 0,cEd_Bairro,cEd_Cidade,cEd_CEP,;
       cEd_UF,cEd_Contato,cEd_Fone,cEd_FAX,cEd_Celular,cEd_CNPJ,cEd_IE

DbSelectArea("FC")
FC->(DbSetOrder(1))
FC->(DbGoTop())

DEFINE DIALOG oDlgFichaCliente RESOURCE "FICHA_CLIENTES"  OF oWndFol
DEFINE DIALOG oDlgFichaCliente1 RESOURCE "FICHA_CLIENTES1" OF oWndFol

Redefine Say EditEndereco ID 4006 Of oDlgFichaCliente
Redefine Say EditNumero   ID 4008 Of oDlgFichaCliente
Redefine Say EditBairro   ID 4010 Of oDlgFichaCliente
Redefine Say EditCidade   ID 4012 Of oDlgFichaCliente
Redefine Say EditCEP      ID 4014 Of oDlgFichaCliente
Redefine Say EditUP       ID 4016 Of oDlgFichaCliente
Redefine Say EditContato  ID 4018 Of oDlgFichaCliente
Redefine Say EditFone     ID 4020 Of oDlgFichaCliente1
Redefine Say EditCelular  ID 4022 Of oDlgFichaCliente1
Redefine Say EditFax      ID 4021 Of oDlgFichaCliente1
Redefine Say EditCnpj     ID 4026 Of oDlgFichaCliente1
Redefine Say EditIE       ID 4027 Of oDlgFichaCliente1

Redefine Get oEd_Razao    Var cEd_Razao    ID 5000 Pict "@!" Of oDlgFichaCliente
Redefine Get oEd_Fantasia Var cEd_Fantasia ID 5001 Pict "@!" Of oDlgFichaCliente
Redefine Get oEd_Endereco Var cEd_Endereco ID 5002 Pict "@!" Of oDlgFichaCliente
Redefine Get oEd_Numero   Var nEd_Numero   ID 5003 Pict "99999999" Of oDlgFichaCliente
Redefine Get oEd_Bairro   Var cEd_Bairro   ID 5004 Pict "@!" Of oDlgFichaCliente
Redefine Get oEd_Cidade   Var cEd_Cidade   ID 5005 Pict "@!" Of oDlgFichaCliente
Redefine Get oEd_CEP      Var cEd_CEP      ID 5006 Pict "99.999-999" Of oDlgFichaCliente
Redefine Get oEd_UF       Var cEd_UF       ID 5007 Pict "@!" Of oDlgFichaCliente valid VEESTADO(cEd_UF)
Redefine Get oEd_Contato  Var cEd_Contato  ID 5008 Pict "@!" Of oDlgFichaCliente
Redefine Get oEd_Fone     Var cEd_Fone     ID 5009 Pict "(99)9999-9999" Of oDlgFichaCliente1
Redefine Get oEd_FAX      Var cEd_FAX      ID 5010 Pict "(99)9999-9999" Of oDlgFichaCliente1
Redefine Get oEd_Celular  Var cEd_Celular  ID 5011 Pict "(99)9999-9999" Of oDlgFichaCliente1
Redefine Get oEd_CNPJ     Var cEd_CNPJ     ID 5012 Pict "@!" Of oDlgFichaCliente1 valid CPFCGC(@cEd_CNPJ)
Redefine Get oEd_IE       Var cEd_IE       ID 5013 Pict "@!" Of oDlgFichaCliente1

REDEFINE BUTTON ID 20 OF oDlgFichaCliente ACTION (GRAVAFC("S"))
REDEFINE BUTTON ID 21 OF oDlgFichaCliente ACTION (oDlgFichaCliente:End())
REDEFINE BUTTON ID 22 OF oDlgFichaCliente ACTION (MOVEFC(-1))   //  < anterior
REDEFINE BUTTON ID 23 OF oDlgFichaCliente ACTION (MOVEFC(+1))   //  > próximo
REDEFINE BUTTON ID 24 OF oDlgFichaCliente ACTION (GRAVAFC("N")) //  novo
REDEFINE BUTTON ID 25 OF oDlgFichaCliente ACTION (TELAFC(1)) //  tela 1
REDEFINE BUTTON ID 26 OF oDlgFichaCliente ACTION (TELAFC(2)) //  tela 2

MOVEFC(-1)

ACTIVATE DIALOG oDlgFichaCliente On Init oDlgFichaCliente:Move(1,1) //On Paint oPesq:SetFocus()
//ACTIVATE DIALOG oDlgFichaCliente1 On Init oDlgFichaCliente1:Move(1,1) //On Paint oPesq:SetFocus()

Return .T.


Recurso, arquivo .rc
//MS SanSerif
FICHA_CLIENTES DIALOG 39, 19, 151, 191
STYLE DS_MODALFRAME | 0x4L | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ficha de Clientes"
FONT 8, "Tahoma"
{
EDITTEXT 5000, 1, 24, 148, 12, ES_AUTOHSCROLL |WS_BORDER |WS_TABSTOP
EDITTEXT 5001, 1, 44, 148, 12, ES_AUTOHSCROLL | NOT WS_TABSTOP | WS_BORDER
EDITTEXT 5002, 1, 64, 112, 12, ES_AUTOHSCROLL | NOT WS_TABSTOP | WS_BORDER
EDITTEXT 5003, 116, 64, 32, 12, ES_AUTOHSCROLL | NOT WS_TABSTOP | WS_BORDER
LTEXT "Fantasia", 4004, 1, 36, 40, 8
LTEXT "Endereço", 4006, 1, 56, 37, 8
LTEXT "Número", 4008, 116, 56, 28, 8
LTEXT "Bairro", 4010, 1, 76, 22, 8
LTEXT "Cidade", 4012, 78, 76, 25, 8
LTEXT "Razão", 4002, 1, 15, 48, 8
PUSHBUTTON "Cancelar", 21, 0, 0, 32, 14
PUSHBUTTON "Gravar", 20, 104, 0, 26, 14
EDITTEXT 5008, 76, 104, 72, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
EDITTEXT 5007, 51, 104, 20, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
EDITTEXT 5006, 1, 104, 46, 12, ES_AUTOHSCROLL |WS_BORDER |WS_TABSTOP
EDITTEXT 5005, 77, 84, 72, 12, ES_AUTOHSCROLL |WS_BORDER |WS_TABSTOP
EDITTEXT 5004, 1, 84, 72, 12, ES_AUTOHSCROLL |WS_BORDER |WS_TABSTOP
LTEXT "CEP", 4014, 1, 96, 14, 8
LTEXT "UF", 4016, 51, 96, 12, 8
LTEXT "Contato", 4018, 78, 96, 27, 8
PUSHBUTTON "<", 22, 32, 0, 24, 14
PUSHBUTTON ">", 23, 56, 0, 24, 14
PUSHBUTTON "Novo", 24, 80, 0, 24, 14
PUSHBUTTON "1", 25, 130, 0, 11, 14
PUSHBUTTON "2", 26, 141, 0, 11, 14
}

//MS SanSerif
FICHA_CLIENTES1 DIALOG 39, 16, 151, 120
STYLE DS_MODALFRAME | 0x4L | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ficha de Clientes"
FONT 8, "Tahoma"
{
EDITTEXT 5009, 1, 64, 56, 12, ES_AUTOHSCROLL | NOT WS_VISIBLE | WS_BORDER | WS_TABSTOP
EDITTEXT 5010, 1, 84, 56, 12, ES_AUTOHSCROLL | NOT WS_VISIBLE | WS_BORDER | WS_TABSTOP
EDITTEXT 5011, 88, 64, 56, 12, ES_AUTOHSCROLL | NOT WS_VISIBLE | WS_BORDER | WS_TABSTOP
EDITTEXT 5012, 1, 105, 75, 12, ES_AUTOHSCROLL | NOT WS_VISIBLE | WS_BORDER | WS_TABSTOP
EDITTEXT 5013, 80, 105, 68, 12, ES_AUTOHSCROLL | NOT WS_VISIBLE | WS_BORDER | WS_TABSTOP
LTEXT "Fone", 4020, 2, 56, 16, 8, NOT WS_VISIBLE | WS_GROUP
LTEXT "FAX", 4021, 2, 76, 16, 8, NOT WS_VISIBLE | WS_GROUP
LTEXT "Celular", 4022, 88, 56, 22, 8, NOT WS_VISIBLE | WS_GROUP
LTEXT "CNPJ", 4026, 1, 97, 19, 8, NOT WS_VISIBLE | WS_GROUP
LTEXT "Inscrição Estadual", 4027, 80, 97, 60, 8, NOT WS_VISIBLE | WS_GROUP | WS_TABSTOP
}


função para mostrar e ocultar os campos.
*-------------------------------------------------------------------------------
Procedure TELAFC(vwtela)
if vwtela == 1
  EditEndereco:show()
  EditNumero:show()
  EditBairro:show()
  EditCidade:show()
  EditCEP:show()
  EditUP:show()
  EditContato:show()
  EditFone:hide()
  EditCelular:hide()
  EditFax:hide()
  EditCnpj:hide()
  EditIE:hide()

  oEd_Endereco:show()
  oEd_Numero:show()
  oEd_Bairro:show()
  oEd_Cidade:show()
  oEd_CEP:show()
  oEd_UF:show()
  oEd_Contato:show()
  oEd_Fone:hide()
  oEd_FAX:hide()
  oEd_Celular:hide()
  oEd_CNPJ:hide()
  oEd_IE:hide()
 
elseif vwtela == 2
  EditEndereco:hide()
  EditNumero:hide()
  EditBairro:hide()
  EditCidade:hide()
  EditCEP:hide()
  EditUP:hide()
  EditContato:hide()
  EditFone:show()
  EditCelular:show()
  EditFax:show()
  EditCnpj:show()
  EditIE:show()

  oEd_Endereco:hide()
  oEd_Numero:hide()
  oEd_Bairro:hide()
  oEd_Cidade:hide()
  oEd_CEP:hide()
  oEd_UF:hide()
  oEd_Contato:hide()
  oEd_Fone:show()
  oEd_FAX:show()
  oEd_Celular:show()
  oEd_CNPJ:show()
  oEd_IE:show()
endif
/*
  editendereco:show()
  oEd_Endereco:show()
  */
return


Leco Jales
******************************************************************************
* FiveWin for Pocket PC - February 2010 Harbour development power *
* (c) FiveTech Software, 1993-2010 for Microsoft Windows Pocket PC *
* Harbour 1.0.1dev Intl. (Rev. 9361) *
* Copyright (c) 1999-2008, http://www.harbour-project.org/ *
******************************************************************************
lecojales
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 07 Nov 2007 19:08
Cidade/Estado: Jales/SP - Brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

usar recursos de outra tela

Mensagempor rochinha » 02 Mar 2013 09:21

Amiguinho,

Os controles Folder e Tab são as unicas maneiras de paginar.

Folders ficam na parte superior da tela e recebem outros controles. Facil paginação e vinculação de controles.
Tabs - ficam na parte inferior e necessitam do controle Page para suportar os controles e serem paginados.

Leve em consideração que uma Tablet ou Smartphone, não são indicados para mostrar e manter muitos campos amontoados. Isto torna cansativo ao usuário.

Suas telas podem ser simples, contendo uma barra de botões com funções básicas e um botão de retorno(sempre).

No caso da paginação a melhor pedida é usar Tabs e Page. Se estes recursos existirem na sua versão do FivePPC.

Indique se esta usando emulador ou aparelho real.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

usar recursos de outra tela

Mensagempor lecojales » 06 Mar 2013 09:09

Olá Rochinha, bom dia.

Tenho tanto o simulador, como o celular para teste. O problema é que usar abas não dei conta, daí criei 2 botoes, 1 e 2, quando clica no 1 mostra parte do cadastro 2 mostra os demias, estou usando o show e hide, para mostrar e esconder os campos. O que está judiando é que todos os campos ficam um em cima do outro no Workshop, e é um pé para dar manutenção nisso, tenho que ficar tira campo, coloca campo, etc.etc. Por isso gostaria de criar os recursos da tela 1, e outro na tela 2, e chamando isso conforme a necessidade na ficha do cliente.

As vezes a foto fica mais fácil de compreender o que fiz:
Imagem

http://www.4shared.com/photo/mr7NI7Of/tela1.html

Leco
lecojales
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 07 Nov 2007 19:08
Cidade/Estado: Jales/SP - Brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

usar recursos de outra tela

Mensagempor lecojales » 06 Mar 2013 09:12

Olá Rochinha, bom dia.

Tenho tanto o simulador, como o celular para teste. O problema é que usar abas não dei conta, daí criei 2 botoes, 1 e 2, quando clica no 1 mostra parte do cadastro 2 mostra os demias, estou usando o show e hide, para mostrar e esconder os campos. O que está judiando é que todos os campos ficam um em cima do outro no Workshop, e é um pé para dar manutenção nisso, tenho que ficar tira campo, coloca campo, etc.etc. Por isso gostaria de criar os recursos da tela 1, e outro na tela 2, e chamando isso conforme a necessidade na ficha do cliente.

As vezes a foto fica mais fácil de compreender o que fiz:
Imagem

http://www.4shared.com/photo/mr7NI7Of/tela1.html

Leco
Anexos
tela1.JPG
lecojales
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 07 Nov 2007 19:08
Cidade/Estado: Jales/SP - Brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

usar recursos de outra tela

Mensagempor rochinha » 08 Mar 2013 02:05

Amiguinho,

Confirmando com quem usa obtive exemplo.

Voce deverá utilizar o controle Folder com um parametro extra.
@ ... FOLDER ... BOTTOM

ou

oFld:lBottom := .t.


Aconselho-o a compilar todos os exemplos que vem na pasta samples para que voce veja todos os recursos disponiveis.

Voce ligara os controles a cada aba do folder para que os mesmos possam ser apresentados em cada uma delas.
...
redefine FOLDER ... PROMPS { "Tela 1","Tela 2","Tela 3" }
...
redefine GET ... oFld:aDialogs[ 1 ] // Mostra todos controles ligados a esta aba
redefine COMBOBOX ... oFld:aDialogs[ 2 ] // Mostra todos controles ligados a esta aba
redefine CHECKBOX ... oFld:aDialogs[ 3 ] // Mostra todos controles ligados a esta aba
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 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