prompt x achoice no xharbour

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

Moderador: Moderadores

Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

prompt x achoice no xharbour

Mensagem por Mário Isa »

Acabei de descobrir que, no xharbour , não poderei utilizar o famoso

@ ll , cc PROMPT <mensagem>
@ ll , cc PROMPT <mensagem>
@ ll , cc PROMPT <mensagem>
menu to variavel


E eu teria que substituir o tal PROMPT pelo ACHOICE /

Ocorre que/ nos PROMPT eu utilizo alguns controle do tipo assim :
Enquando o usuário está parado no menu / enquanto o PROMPT espera por uma tecla ele fica fazendo outras coisas do tipo observa se existe algum arquivo e caso exista executa uma função .

Este arquivo pode ter sido baixado via internet / através de outro programa também em execução/

Em Clipper 5.2e + blinker 7.0 eu podia utilizar o prompt e fazer este tipo de controle / se utilizasse achoice não tinha tal controle / ou seja / enquando o usuário não saísse dali do achoice nada mais podia ser feito /

Em xharbour / na cláusula achoice / tem como eu obter tal controle? ou seja / tem como / enquando o usuário não tecla nada / eu poder ficar fazendo outras coisas ?

Até porque / quando compilei xharbour com meu prompt ele não achou a função colorselec(x) onde x é um numero que pode ser 1 ou 2 / mais ou menos nesse pedacinho aqui :

// um pedacinho da procedure Menuto / a qual extraí quando descompilei um programa em clipper
do while (Local2 != 0)
Local5:= 0
Local1:= Local13[Local2]
if (Set(_SET_INTENSITY))
colorselec(1) //xharbour
endif
SetPos(Local1[1], Local1[2])
dispout(Local1[3])
if (Set(_SET_INTENSITY))
colorselec(0) //xharbour
endif
if (Local14 != 0)
if (!Empty(Local6))

Justamente ali onde está marcado como //xharbour
o xharbour não conseguiu entender este comando /
Disse não saber ou não existir / se eu o desabilitar a barra luminosa do prompt não aparece /

Mário
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: prompt x achoice no xharbour

Mensagem por sygecom »

Mário Isa escreveu: Em xharbour / na cláusula achoice / tem como eu obter tal controle? ou seja / tem como / enquando o usuário não tecla nada / eu poder ficar fazendo outras coisas ?
Olá Mario,
Em xharbour tem algo bem melhor do que isso que você esta tentando fazer, você pode deixar rotinas rodando em BACKGROUND, abaixo um exemplo de uma rotina minha.

Chamo no inicio do Meu .PRG principal:
Verefica_conexao()

Código: Selecionar todos

*************************
Function Verefica_conexao
*************************
nTask1 := HB_BackGroundAdd( {|| Fecha_Auto(15) }, 15000 )  // a cada 15 segundos
//nTask2 := HB_BackGroundAdd( {|| my_ping(vIP_conexao) }, 20000 )
Return Nil

*****************************
Function Fecha_Auto(vAguarda)  // vem por parametro a quantidade de segundos até fechar
*****************************
if MY_file("update\fecha.txt")  // se achar o arquivo que é gerado assim que começa a baixar o FTP...
   MsgRun("O Sistema vai Fechar nessa estação em: " +str(vAguarda)+ " Segundos...")  // mensagem na tela

   for nI:=1 to vAguarda // quantidade de segundos a aguardar
      MilliSec( 1000 )  // aguarda um segundo
      HW_Atualiza_Dialogo2("O Sistema vai Fechar nessa estação em: "+ STR(vAguarda-nI) +" Segundos...")  // muda mensagem na tela
   next

   Fim_Run()  // finaliza a mensagem na tela
   __Quit()
endif
Return
Até porque / quando compilei xharbour com meu prompt ele não achou a função colorselec(x) onde x é um numero que pode ser 1 ou 2 / mais ou menos nesse pedacinho aqui :
Mario, você tem o "#include "Color.ch" no seu .PRG onde tem a função colorselec() , se já tiver tente usar os proprios define da COLOR.CH
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Re: prompt x achoice no xharbour

Mensagem por Mário Isa »

Obrigado pela dica Leonardo /

Quero comunicar que / finalmente consegui / migrei de vez pro xHarbour /

Encontrei diversos problemas como GETSYS / ERRORSYS / MENUTO / DBEDIT /

Mas já estão todos praticamente sanados /

Agora a idéia é ir tirando as dúvidas/

quanto a sua pergunta / sim / eu já tinha o color.ch adicionado lá / mas por fim mudei o
colorselec(0) ou (1) para a minha própria função de cor

cor(8) // onde 8 é uma de minhas cores /

Ficou até mais bonito /

Mais prá frente / se puder / quero trocar idéia para implantar uma WVW /

Obrigado /

Para mim digo: Bem-vindo ao mundo dos 32 bits

Até mais/ Mário
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: prompt x achoice no xharbour

Mensagem por gvc »

Para resolver o problema do DBEdit eu tive que pegar os fontes do mesmo e compilar junto do sistema.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Re: prompt x achoice no xharbour

Mensagem por Mário Isa »

pois é \ eu tb tentei isso \ mas o xharbour dizia que não encontrava nem

FIELDWBLOC
nem
MEMVARBLOC

então tentei inserir a CLIPPER.LIB e a EXTEND.LIB mas o xhb recusou-se a fazê-lo

Mário
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: prompt x achoice no xharbour

Mensagem por sygecom »

Olá Mario,

Lib's do Clipper não pode ser usada em xharbour, a não ser que você tenha os fontes e recompile as mesmas em xharbour.

Sobre o dbedit no xharbour e passei tudo para Tbrowse, mas pode dar uma olhada no link abaixo que talvez ajude.
viewtopic.php?f=43&t=7537&start=0&st=0&sk=t&sd=a
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder