TEXT BOX DE JANELA CHILD OU MODAL

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

TEXT BOX DE JANELA CHILD OU MODAL

Mensagem por JoséQuintas »

Mas eu já falei qual é o problema.
Está tentando acessar algo que não existe, a mensagem de erro está certa.
Não tem como acessar o campo de uma tela, sendo que a tela ainda nem existe nesse ponto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Max
Usuário Nível 1
Usuário Nível 1
Mensagens: 14
Registrado em: 13 Jan 2021 22:15
Localização: volta redonda rj

TEXT BOX DE JANELA CHILD OU MODAL

Mensagem por Max »

Boa noite!!!

Depois de uns 2 dias direto, trabalhando nesse caso, informo que graças a ajuda do Sr. Souto e do Sr. Quintas, consegui alcançar o objetivo desejado.

Fiz o que o Sr. Souto me orientou: padronizei o fomato de definição do Text_box.

Fiz o que o Quintas me orientou:

Alterei os nomes das funções, que estavam confusas.
Organizei a declaração de variáveis logo no início do código.

Fiz a identação correta: (Eu acredito que isso também influenciou muito no erro apresentado anteriormente, mas, nunca li nada a respeito.

De qualquer forma, por mais primitivo que possa aparecer minhas dificuldades, consegui resolvê-las, graças a ajuda dos Srs. Souto e Quintas.

Informo ainda, que sou iniciante, que aprendi a programar em CLipper, lá em 1996, e fiquei fascinado. Desde o ano passado, ao pesquisar sobre linguagens de programação, eu li que o CLipper havia sido migrado para o Harbour, e a partir de então, tenho me aprofundado nessa linguagem, e gostado bastante.

Confesso, que eu avancei MUITO, pois, sozinho e somente observando e testando exaustivamente os exemplos que vem na pasta "C:\HMG.3.5\SAMPLES", assim como obtendo informações nesse portal, consegui resolver grandes problemas do meu dia-dia.

Agradeço muito a atenção que me foi dada.

Abaixo, segue o código, devidamente corrigido e funcionando.

Código: Selecionar todos

#include "hmg.ch"
#include "hbclass.ch"
#include "minigui.ch"
#include "common.ch"



Function main()



   REQUEST HB_GT_GUI_DEFAULT
   REQUEST DBFNTX
   REQUEST DBFCDX, DBFFPT
   HB_LANGSELECT("PT")
   REQUEST HB_LANG_PT
   REQUEST HB_CODEPAGE_UTF8EX
   hb_cdpSelect( "UTF8EX" )   
   HB_SETCODEPAGE("PT850")
   REQUEST HB_CODEPAGE_PTISO
   HB_SETCODEPAGE("PTISO")
   HB_LANGSELECT("PT")
   request hb_codepage_gbk
   REQUEST HB_GT_WIN_DEFAULT
   SET CODEPAGE TO PORTUGUESE
   SET LANGUAGE TO PORTUGUESE       
   SET CODEPAGE TO UNICODE
   SET CENTURY ON
   SET DATE BRITISH
   SET CENTURY ON
   SET TOOLTIPSTYLE BALLOON
   SET WRAP ON
   SET interactiveclose on
    SET multiple off warning
   SET navigation extended
   SET DELIMITERS ON

PUBLIC VAR_TRF:="" 
PUBLIC VAR_TRF2:=""
PUBLIC C_DESTINO:=""
PUBLIC C_ORIGEM:=""
public DESCR_DEST:=""
public DESCR_ORIG:=""
public Valor_lanc:=0
public Data_lanc:=Date()

   DEFINE WINDOW Form_1 ;
		AT 0,0 ;
		WIDTH 640 ;
		HEIGHT 480 ;
		TITLE 'TreeView Sample' ;
		MAIN 
		ON KEY ESCAPE ACTION ThisWindow.Release()  
		DEFINE MAIN MENU
        POPUP '&File'
            ITEM 'Get Tree Value' ACTION MsgInfo( Str ( Form_1.Tree_1.Value ) ) 
            ITEM 'Set Tree Value' ACTION Form_1.Tree_1.Value := val(inputbox('',''))
            ITEM 'Collapse Item' ACTION Form_1.Tree_1.Collapse ( val(inputbox('','') ) )
            ITEM 'Expand Item' ACTION Form_1.Tree_1.Expand ( val(inputbox('','') ) )
         END POPUP
      END MENU

      DEFINE CONTEXT MENU 
         ITEM 'About'            ACTION MsgInfo ("Free GUI Library For Harbour","HMG Tree Demo") 
      END MENU

   DEFINE TREE Tree_1 AT 10,10 WIDTH 500 HEIGHT 500 VALUE 2 FONT "ARIAL" SIZE 12 DynamicForeColor WHITE DynamicBackColor YELLOW;
				 ON DBLCLICK IF (Form_1.Tree_1.IsExpand (Form_1.Tree_1.Value) == .F. ,; 
								 Form_1.Tree_1.Expand (Form_1.Tree_1.Value) ,;
								 Form_1.Tree_1.Collapse (Form_1.Tree_1.Value) );
			
			NODE 'ORIGEM DOS RECURSOS'
				NODE 'Empresa Matriz'
					TREEITEM "CONTA 1"
					TREEITEM "CONTA 2"
				END NODE
				NODE 'Empresa - Filial'
					TREEITEM "CONTA 1"
					TREEITEM "CONTA 2"
				END NODE
			END NODE	
	END TREE

	DEFINE TREE Tree_2 AT 10,550 WIDTH 500 HEIGHT 500 VALUE 6 FONT "ARIAL" SIZE 12 DynamicForeColor WHITE DynamicBackColor YELLOW;
				 ON DBLCLICK IF (Form_1.Tree_2.IsExpand (Form_1.Tree_2.Value) == .F. ,; 
								 Form_1.Tree_2.Expand (Form_1.Tree_2.Value) ,;
								 Form_1.Tree_2.Collapse (Form_1.Tree_2.Value) );
				
				
			NODE 'DESTINO DOS RECURSOS' 
				NODE 'Empresa - Matriz'
					TREEITEM "CONTA 1"
					TREEITEM "CONTA 2"
				END NODE
				NODE 'Empresa - Filial'
					TREEITEM "CONTA 1"
					TREEITEM "CONTA 2"
				END NODE
			END NODE	
	END TREE
	
   DEFINE BUTTON Text_And_Image_Button
        ROW    570
        COL    870
        WIDTH  180
        HEIGHT 50
        ACTION PEGA_DESCR ()
        CAPTION "Avançar"
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP "Avançar"
        FONTBOLD .t.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        HELPID Nil
        FLAT .F.
        TABSTOP .T.
        VISIBLE .T.
        TRANSPARENT .F.
        PICTURE "avanca.BMP"
        PICTALIGNMENT LEFT
    END BUTTON
	
	END WINDOW
	MAXIMIZE WINDOW Form_1
	ACTIVATE WINDOW Form_1
	

	FUNCTION PEGA_DESCR ()
		C_ORIGEM:=( Form_1.Tree_1.Item ( Form_1.Tree_1.Value ) )
		C_DESTINO:=( Form_1.Tree_2.Item ( Form_1.Tree_2.Value ) )
		

		IF EMPTY(C_ORIGEM).OR.C_ORIGEM="ORIGEM DOS RECURSOS"
		   ALERT ("ESCOLHER CONTA DE ORIGEM")
		   RetuRN
		ENDIF

		IF EMPTY(C_DESTINO).OR.C_DESTINO="DESTINO DOS RECURSOS"
		   ALERT ("ESCOLHER CONTA DE DESTINO")
		   RetuRN
		ENDIF

		DO CASE   //  INCLUIDO ESSE "CASE", PARA ALTERAR O NOME DAS CONTAS, E GRAVAR NO BD, DENTRO DO LIMITE DE ESPAÇO DO CAMPO
		   CASE C_ORIGEM="CONTA 1"
			  DESCR_ORIG:="CONTA 1"
		   CASE C_ORIGEM="CONTA 2"
			  DESCR_ORIG:="CONTA 2"
		ENDCASE

		DO CASE 
		   CASE C_DESTINO="CONTA 1"
			  DESCR_DEST:="CONTA 1"
		   CASE C_DESTINO="CONTA 2"
			  DESCR_DEST:="CONTA 2"
		ENDCASE
		
		HIST_TRF:="Trf "+DESCR_ORIG+" p/ "+DESCR_DEST

		Abre_window_2()

	FUNCTION Abre_window_2 ()

	DEFINE WINDOW Form_2 ;
	AT 0,0 ;
	WIDTH 1200 HEIGHT 500 ;
	TITLE "HMG Demo" ;
	CHILD ;
	FONT "Arial" SIZE 10 BACKCOLOR YELLOW
	ON KEY ESCAPE ACTION ThisWindow.Release()  
      
		DEFINE LABEL Label_1
		ROW    10
		COL    100
		WIDTH  700
		HEIGHT 60
		VALUE upper("Lancamento de transferencia")
		FONTNAME "Arial"
		FONTSIZE 18
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .F.
		BACKCOLOR YELLOW
		FONTCOLOR Nil //{160,82,45}
		END LABEL
   
		DEFINE LABEL Label_2
		ROW    80
		COL    40
		WIDTH  100
		HEIGHT 53
		VALUE upper("O Dinheiro sai da conta:")
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .t.
		BACKCOLOR YELLOW
		FONTCOLOR {0,0,0}
		END LABEL

		DEFINE LABEL Label_3 
		ROW    80
		COL    220
		WIDTH  500
		HEIGHT 24
		VALUE alltrim(C_ORIGEM)
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .f.
		BACKCOLOR YELLOW
		FONTCOLOR {0,0,205}
		END LABEL
   
		DEFINE LABEL Label_4
		ROW    120
		COL    40
		WIDTH  100
		HEIGHT 53
		VALUE upper("O Dinheiro VAI PARA A  conta:")
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .t.
		BACKCOLOR YELLOW
		FONTCOLOR {0,0,0}
		END LABEL

		DEFINE LABEL Label_5 
		ROW    120
		COL    260
		WIDTH  500
		HEIGHT 24
		VALUE alltrim(C_DESTINO)
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .f.
		BACKCOLOR YELLOW
		FONTCOLOR {0,0,205}
		END LABEL
   
		DEFINE LABEL Label_6 
		ROW    170
		COL    40
		WIDTH  50
		HEIGHT 24
		VALUE "DATA DO LANÇAMENTO: "
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .t.
		BACKCOLOR YELLOW
		FONTCOLOR {0,0,205}
		END LABEL
		
		DEFINE LABEL Label_7 
		ROW    200
		COL    40
		WIDTH  50
		HEIGHT 24
		VALUE "VALOR DA TRANSFERENCIA: "
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .t.
		BACKCOLOR YELLOW
		FONTCOLOR {0,0,205}
		END LABEL

		DEFINE LABEL Label_8 
		ROW    230
		COL    40
		WIDTH  300
		HEIGHT 24
		VALUE "HISTORICO: "
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .t.
		BACKCOLOR YELLOW
		FONTCOLOR {0,0,205}
		END LABEL

		DEFINE LABEL Label_9 
		ROW    270
		COL    40
		WIDTH  300
		HEIGHT 24
		VALUE "OBSERVACAO: "
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		HELPID Nil
		VISIBLE .T.
		TRANSPARENT .F.
		ACTION Nil
		AUTOSIZE .t.
		BACKCOLOR YELLOW
		FONTCOLOR {0,0,205}
		END LABEL

   
		DEFINE TEXTBOX Text_1
		ROW    170
		COL    260
		WIDTH  120
		HEIGHT 24
		FONTNAME "Arial"
		FONTSIZE 10
		TOOLTIP ""
		ONCHANGE Nil
		ONGOTFOCUS Nil
		ONLOSTFOCUS Nil
		FONTBOLD .F.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		ONENTER Nil
		HELPID Nil
		TABSTOP .T.
		VISIBLE .T.
		READONLY .F.
		RIGHTALIGN .F.
		BACKCOLOR NIL
		FONTCOLOR NIL
		INPUTMASK Nil
		FORMAT Nil
		DATE .T. 
		VALUE DATE() //ctod('01/01/01')
		END TEXTBOX

		DEFINE TEXTBOX Text_2
		ROW    200
		COL    260
		WIDTH  120
		HEIGHT 24
		FONTNAME "Arial"
		FONTSIZE 9
		TOOLTIP ""
		ONCHANGE Nil
		ONGOTFOCUS Nil
		ONLOSTFOCUS Nil
		FONTBOLD .F.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		ONENTER Nil
		HELPID Nil
		TABSTOP .T.
		VISIBLE .T.
		READONLY .F.
		RIGHTALIGN .F.
		BACKCOLOR NIL
		FONTCOLOR NIL
		INPUTMASK Nil
		FORMAT Nil
		NUMERIC .T. 
		VALUE 100 
		INPUTMASK '999,999,999.99'   //'@E 999,999,999.99'
		END TEXTBOX

	

		DEFINE TEXTBOX Text_3
		ROW    230
		COL    260
		WIDTH  500
		HEIGHT 24
		MaxLength=40
		FONTNAME "Arial"
		FONTSIZE 9
		TOOLTIP ""
		ONCHANGE Nil
		ONGOTFOCUS Nil
		ONLOSTFOCUS Nil
		FONTBOLD .F.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		ONENTER Nil
		HELPID Nil
		TABSTOP .T.
		VISIBLE .T.
		READONLY .T.
		RIGHTALIGN .F.
		BACKCOLOR {0,0,255}
		FONTCOLOR NIL
		FORMAT Nil
		VALUE HIST_TRF
		END TEXTBOX

		DEFINE TEXTBOX Text_4
		ROW 270
		COL 360
		WIDTH  150
		HEIGHT 20
		FONTNAME "Arial"
		FONTSIZE 9
		TOOLTIP ""
		ONCHANGE Nil
		ONGOTFOCUS Nil
		ONLOSTFOCUS Nil
		FONTBOLD .F.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		ONENTER Nil
		HELPID Nil
		TABSTOP .f.
		VISIBLE .T.
		READONLY .F.
		RIGHTALIGN .F.
		BACKCOLOR NIL
		FONTCOLOR NIL
		INPUTMASK Nil
		VALUE "ATÉ 20 CARACTERES"
		MAXLENGTH 20
		PARENT Form_2
		END TEXTBOX


		DEFINE BUTTON Text_And_Image_Button
		ROW    300
		COL    260
		WIDTH  180
		HEIGHT 50
		ACTION SALVAR_LANC()
		CAPTION "Salvar Lançamento"
		FONTNAME "Arial"
		FONTSIZE 9
		TOOLTIP "Salvar Lançamento"
		FONTBOLD .t.
		FONTITALIC .F.
		FONTUNDERLINE .F.
		FONTSTRIKEOUT .F.
		ONGOTFOCUS Nil
		ONLOSTFOCUS Nil
		HELPID Nil
		FLAT .F.
		TABSTOP .T.
		VISIBLE .T.
		TRANSPARENT .F.
		PICTURE "SAVE.BMP"
		PICTALIGNMENT LEFT
		END BUTTON   

	END WINDOW
	ACTIVATE WINDOW FORM_2
	Form_1.Tree_1.SetFocus

RETURN Nil


FUNCTION SALVAR_LANC()
	
		VAR_TRF:=GetProperty( "Form_2", "Text_4", "VALUE")  

		IF VAR_TRF="ATÉ 20 CARACTERES"
		  VAR_TRF:=""
		ELSE
		  VAR_TRF:=GetProperty( "Form_2", "Text_4", "VALUE")
		ENDIF

		Valor_lanc:=GetProperty( "Form_2", "Text_2", "VALUE")
		Data_lanc :=GetProperty( "Form_2", "Text_1", "VALUE")

set printer on
set printer to k.txt
? Data_lanc
? VAR_TRF
? Valor_lanc
? HIST_TRF
? C_ORIGEM
? C_DESTINO
return
Avatar do usuário
marcosLP
Usuário Nível 1
Usuário Nível 1
Mensagens: 47
Registrado em: 13 Nov 2020 10:24
Localização: guarpauava/pr

TEXT BOX DE JANELA CHILD OU MODAL

Mensagem por marcosLP »

deixa ver se eu entendi direito.
(ps: que mal tem alguém que saiba do problema ajudar um irmão que veio jsutamente aqui para obter ajuda?)

este membro fez esta pergunta:
(uma pena não poder dar print)

endereço da página:? Página Principal ‹ Bibliotecas Visuais e IDEs ‹ MiniGui -<<<<

titulo da pergunta: TEXT BOX DE JANELA CHILD OU MODAL

resposta malcriada do moderador:
Toledo e administradores favo faze o seugint:
muda o topico desse lugar pra minigui;
coloca as tag code/code no codigo do autor
Nota de Moderação:
Jairo Maia: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o [x]Harbour.

Mensagempor Max » 14 Nov 2021 14:11
Estou com uma dúvida, relacionada a uma questão DO TEXTBOX:

Tenho um programa que abre a janela principal (main), a partir dos dados digitados no (main), ele abre a segunda janela (child). No entanto, ao tentar gravar o conteudo do textbox da 2a janela, o sistema dá erro na execução, com o seguinte alerta: "Control: Text_4 Of Form_2 Not defined. Program Terminated."

Ou seja, por se tratar de uma janela filha, o sistema não está deixando eu gravar numa variável, o conteudo digitado no campo text_4.
Alguem poderia me ajudar, por favor?

Eu utilizo o HMG-IDE 1.2a.
Mensagempor syslink » 14 Nov 2021 15:07

Então....se vão tentar me repreender por postar isso que seja ué...sobrevivemos tanto sem vcs todos esses anos, somos antes de tudo ex-clipeiros e evoluimos já vcs....
Responder