Ola, estava estudando o PRG TGETLIST.PRG
e descobri algumas coisas no get ativo
o tamanho do get eu consigo por len(oget:buffer)
a linha do get ativo eu consigo por oget:row
a coluna do get ativo eu consigo por oget:col
o problema é que preciso saber qual o tamanho
do get nos casos em que uso a pict '@S20'
se a variavel tiver 30 caracteres len(oget:buffer)
devolve 30 e nao 20 como eu gostaria.
alguem sabe como posso resolver isso ?
estou alterando o TGETLIST.PRG padrao
do harbour. minha programaçao é console.
desde ja agradeço,
ABEL
CLASSE GET
Moderador: Moderadores
- acelconsultoria
- Usuário Nível 3

- Mensagens: 231
- Registrado em: 10 Jan 2006 17:05
- Localização: Itápolis-SP
CLASSE GET
Acredito que será necessário acrescentar um novo método na classe GET, para que você possa obter esse valor.
No código fonte do arquivo "tget.prg" tem um trecho dentro da definição "METHOD picture" da classe GET, onde se realiza a leitura do tamanho do GET que é exibido na tela. Fica armazenado na variável "nDispLen".
Porém, essa variável não é utilizada para ser "retornável".
No código fonte do arquivo "tget.prg" tem um trecho dentro da definição "METHOD picture" da classe GET, onde se realiza a leitura do tamanho do GET que é exibido na tela. Fica armazenado na variável "nDispLen".
Porém, essa variável não é utilizada para ser "retornável".
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Consultoria e Projetos
-------------------------------------------------------
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
CLASSE GET
oGet:VarGet()
oGet:VarPut()
oGet:VarPut()
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
CLASSE GET
Só comentário:
Não sei isso de cabeça. É que lembrei que uso na minha calculadora, pra obter valor da tela, e devolver resultado.
Não sei isso de cabeça. É que lembrei que uso na minha calculadora, pra obter valor da tela, e devolver resultado.
Código: Selecionar todos
METHOD LoadSaveValue( lSave ) CLASS CalculatorClass
LOCAL oGet
hb_Default( @lSave, .F. )
oGet := GetActive()
IF oGet != NIL
IF oGet:Type == "N"
IF lSave
oGet:varPut( Val( ::cValueDisplay ) )
ELSE
::cValueDisplay = ValToString( oGet:varGet() )
ENDIF
ENDIF
ENDIF
RETURN NIL
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/
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/
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
CLASSE GET
Olá!
Verifique se na picture do get existe a string "@S".
Verifique se na picture do get existe a string "@S".
Código: Selecionar todos
If At ( "@S", oGet:picture ) > 0
// Pegar os caracteres numéricos seguintes
Endif
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)