Função setcursor(0)

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

tchadrack
Usuário Nível 1
Usuário Nível 1
Mensagens: 27
Registrado em: 15 Mar 2016 15:42
Localização: São Paulo

Função setcursor(0)

Mensagem por tchadrack »

Não entendi, Itamar.
Este código que você postou não tem nenhum comando get, nem read.
Como assim funcionou com o inkey?

Jairo: Obrigado pela resposta, mas eu olhei o arquivo std.ch, acho que não houve alteração alguma ali.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Função setcursor(0)

Mensagem por Itamar M. Lins Jr. »

Ola!
Este código que você postou não tem nenhum comando get, nem read.
Como assim funcionou com o inkey?
O cursor não aparece com inkey(0)

Código: Selecionar todos

do while .t.
... say "senha" ...
nKey := inkey(0)
IF K_ESC ...
Aqui no forum tem rotinas com senhas, eu acho.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Função setcursor(0)

Mensagem por Jairo Maia »

Olá pessoal,

Itamar, tem razão. Compilando com o GetSys.Prg do Harbour SetCursor( 0 ) não tem efeito. O GetSys original deve ativar o cursor automaticamente em GET. Em Get ele sempre está visível.

Mas para exemplo, se compilar esse código abaixo com esse GetSys.Prg o cursor não aparece, usando a compilação sem ele o compilador usa o do Harbour e aparece. O GetSys que uso também é personalizado, então SetCursor( 0 ) desabilita o cursor mesmo em Gets quando quero.

O GetSys.Prg em anexo, acho que é do Clipper, não tenho certeza.

Código: Selecionar todos

#include "inkey.ch"

Function Main()

 Local cOpcao := "N", nCursor
 
 nCursor := SetCursor( 0 )

 Do While cOpcao = "N" .Or. LastKey() = K_ESC

  Clear Screen
 
  @ 04,05 Say "Pressione S para Sair:" Get cOpcao Picture "@!" Valid ( cOpcao $ "SN" )
 
  Read

 EndDo
 
 SetCursor( nCursor )

Return Nil
GETSYS.rar
(4.99 KiB) Baixado 116 vezes
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
tchadrack
Usuário Nível 1
Usuário Nível 1
Mensagens: 27
Registrado em: 15 Mar 2016 15:42
Localização: São Paulo

Função setcursor(0)

Mensagem por tchadrack »

Jairo Maia escreveu:Olá pessoal,

Itamar, tem razão. Compilando com o GetSys.Prg do Harbour SetCursor( 0 ) não tem efeito. O GetSys original deve ativar o cursor automaticamente em GET. Em Get ele sempre está visível.

Mas para exemplo, se compilar esse código abaixo com esse GetSys.Prg o cursor não aparece, usando a compilação sem ele o compilador usa o do Harbour e aparece. O GetSys que uso também é personalizado, então SetCursor( 0 ) desabilita o cursor mesmo em Gets quando quero.

O GetSys.Prg em anexo, acho que é do Clipper, não tenho certeza.

Código: Selecionar todos

#include "inkey.ch"

Function Main()

 Local cOpcao := "N", nCursor
 
 nCursor := SetCursor( 0 )

 Do While cOpcao = "N" .Or. LastKey() = K_ESC

  Clear Screen
 
  @ 04,05 Say "Pressione S para Sair:" Get cOpcao Picture "@!" Valid ( cOpcao $ "SN" )
 
  Read

 EndDo
 
 SetCursor( nCursor )

Return Nil
GETSYS.rar
Agradeço a resposta, vou testar com este getsys que voce enviou.
**Editado: Testei e resolveu a questão do cursor. Aparentemente o sistema está funcionando normalmente. :)Pos

Muito obrigado a todos pela ajuda!
Responder