Página 1 de 1

prompt x achoice no xharbour

Enviado: 25 Nov 2008 19:23
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

Re: prompt x achoice no xharbour

Enviado: 27 Nov 2008 19:28
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

Re: prompt x achoice no xharbour

Enviado: 27 Nov 2008 22:03
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

Re: prompt x achoice no xharbour

Enviado: 27 Nov 2008 22:37
por gvc
Para resolver o problema do DBEdit eu tive que pegar os fontes do mesmo e compilar junto do sistema.

Re: prompt x achoice no xharbour

Enviado: 28 Nov 2008 16:36
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

Re: prompt x achoice no xharbour

Enviado: 29 Nov 2008 19:43
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