Usuário:
Senha:
Salvar senha

 
 Todos os Fóruns
 Programação
 Dialog On INIT (RESOLVIDO)
 Novo tópico  Responder tópico
 
Autor  Tópico   
Theotokos
Membro Avançado


Brasil
402 Mensagens
Postado - 29/07/2010 :  18:17:44      
Static Function VerArquivos()

PRIVATE oDlgVA, oMtr1, oMtr2, oMtr3, oBtn, oWndTMP
PRIVATE nPer1 := nPer2 := nPer3 := 0

DEFINE DIALOG oDlgVA RESOURCE "DLG_VERIFICAR"

oDlgVA:lTransparent := .T.

REDEFINE BITMAP ID 4001 OF oDlgVA FILE "BMP\\EXCLUI.BMP"
REDEFINE BITMAP ID 4002 OF oDlgVA FILE "BMP\\EXCLUI.BMP"
REDEFINE BITMAP ID 4003 OF oDlgVA FILE "BMP\\EXCLUI.BMP"

REDEFINE METER oMtr1 VAR nPer1 ID 4008 OF oDlgVA TOTAL 100
REDEFINE METER oMtr2 VAR nPer2 ID 4009 OF oDlgVA TOTAL 100
REDEFINE METER oMtr3 VAR nPer3 ID 4010 OF oDlgVA TOTAL 100

REDEFINE BUTTON oBtn ID 4007 OF oDlgVA ACTION ( oDlgVA:End() ) DEFAULT

oBtn:Disable()

ACTIVATE DIALOG oDlgVA CENTERED On Init (VerStatus())

Return nil

Static Function VerStatus()
Local aDados := { }

Sel("Condici",1)
DbGoTop()
While !EOF()
If P_STATUS = "Em Aberto" .And. (Date() - P_DATAMOV) >= 2
AADD(aDados, {P_NUMPEDID, P_CLIENTE, P_DESCRICA, P_QUANTIDA, P_DATAMOV)
End
DbSkip(1)
Inkey(0.5)
End

oBtn:Enable()

Return(.t.)

Porque na rotina acima, quando executo a função VerArquivos() a Dialog só aparece depois que a função da On Init termina de ser executada? Eu queria que mostrasse a dialog e conforme a função da on init fosse executada esta dialog seria atualizada...

Em Cristo!
Rone - Itajubá(MG)

xHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 7.12 + xDevStudio
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)

Editado por - theotokos on 31/07/2010 13:15:03

Theotokos
Membro Avançado


Brasil
402 Mensagens
Postado - 29/07/2010 :  19:01:17      
ON INIT não deveria executar após montar a dialog? Se não como executar uma função após a dialog ser montada?

Obgdo!!!!!!!!!!!!!

Em Cristo!
Rone - Itajubá(MG)

xHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 7.12 + xDevStudio
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)

Anderson.OL
Membro Avançado


Brasil
1629 Mensagens
Postado - 30/07/2010 :  08:48:06        
Para executar uma tarefa após abrir o dialog use bStart


oDlgVA:bStart := {||VerStatus()}

ACTIVATE DIALOG oDlgVA CENTERED //On Init (VerStatus())

Espero que funcione.

Fw 2.6 | Clipper 5.3b | DBFCDX
--
FwxH 8.02 | xHb 1.1.0 | DBFCDX
--
FwxH 9.06 | xHb 1.2.1 | SqlLib

O burro nunca aprende, o inteligente aprende com sua própria experiência, o sábio com a experiência dos outros.

Editado por - Anderson.ol on 30/07/2010 08:54:44

aferra
Membro Avançado


Brasil
2508 Mensagens
Postado - 30/07/2010 :  11:25:50              
Olá.

então use o ON PAINT, que só é excutada após a criação da dialog.

Alessandro
FW20d+CL53b+Blk7+@Say+CDX
FW9.07+xHb121+PellesC+CDX
"Uma imaginação bem canalizada é fonte de grandes proezas"

Anderson.OL
Membro Avançado


Brasil
1629 Mensagens
Postado - 30/07/2010 :  11:36:07        
Alessandro, permita-me discordar mas..

On Paint é executado muitas vezes e não somente na exibição do dialogo.
Eu entendo que On Paint sempre executará o metodo que lhe foi atribuido qdo é necessário atualizar o visual da tela. Posso listar alguns eventos que executam On Paint:

-> Quando a janela é minimiza e depois restaurada
-> Quando uma outra janela sobreposta ao seu dialogo e posteriomente a descobre.
-> Quando arrasta seu dialog para a extremidade de seu monitor ocultando parte dela e depois arrasta novamente para o centro exibindo-a.

E pelo que entendi ele gostaria de executar o metodo apenas uma vez, por isso indiquei o bStart.

Fw 2.6 | Clipper 5.3b | DBFCDX
--
FwxH 8.02 | xHb 1.1.0 | DBFCDX
--
FwxH 9.06 | xHb 1.2.1 | SqlLib

O burro nunca aprende, o inteligente aprende com sua própria experiência, o sábio com a experiência dos outros.

EMPRESOFT
Membro Avançado


Brasil
1318 Mensagens
Postado - 30/07/2010 :  12:13:39        
Somente para acrescentar o que dize o Anderson sobre o ON PAINT,tenho uma dialog em um sistema aonde uso muitas imagens e tb preenchimento de cores, e esta tela estava bem lenda , vendo no forum internacional substituir o ON PAINT pelo oDlg:bpainted e ficou 100% o processo aqui...


Abraços

Luiz Fernando

msn: empresoft@globo.com
skype:empresoft
empresoft@globo.com
FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1
FWH 9.12,XHARBOUR 1.2,ADS 9.0

aferra
Membro Avançado


Brasil
2508 Mensagens
Postado - 30/07/2010 :  14:21:25              
Não tem problema algum discordar, mas para kda situação uma ação, tem opções que é melhor usar o on paint que é igual bPainted, o bStart pensei que fosse o mesmo que o on init (binit) que não tem nada haver, ou seja, aprendendo mais uma.
É o tal negocio, nunca parar de olhar as classes para conhecer todo o potencial. eu que agradeço.

um grande abraço.

Alessandro
FW20d+CL53b+Blk7+@Say+CDX
FW9.07+xHb121+PellesC+CDX
"Uma imaginação bem canalizada é fonte de grandes proezas"

Theotokos
Membro Avançado


Brasil
402 Mensagens
Postado - 31/07/2010 :  13:14:35      
citação:

Para executar uma tarefa após abrir o dialog use bStart


oDlgVA:bStart := {||VerStatus()}

ACTIVATE DIALOG oDlgVA CENTERED //On Init (VerStatus())

Espero que funcione.

Fw 2.6 | Clipper 5.3b | DBFCDX
--
FwxH 8.02 | xHb 1.1.0 | DBFCDX
--
FwxH 9.06 | xHb 1.2.1 | SqlLib

O burro nunca aprende, o inteligente aprende com sua própria experiência, o sábio com a experiência dos outros.

Editado por - Anderson.ol on 30/07/2010 08:54:44


Anderson, valeu, funcionou sim, muito obrigado

Em Cristo!
Rone - Itajubá(MG)

xHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 7.12 + xDevStudio
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)

   
 Novo tópico  Responder tópico
Pular para:

© Copyright 2002 FiveWin Brasil
Todos os Direitos Reservados