Essa é dificil
Olá,
Estou tentando fazer o seguinte.
Tenho uma Tabela VENDAS ( paradox ) que contém um campo chamado STATUSMESA que pode ser ( Aberta, Fechada, Espera), tenho um form com 10 Botões representando cada mesa do estabelecimento, quero que se a mesa 1 por exemplo estiver aberta o botão fique ligado, quando a mesa estiver fechada o botão fique desabilitado e quando estiver em espera fique com uma cor diferente.
Não estou conseguindo fazer funcionar, já me falaram para usar ARRAY, criando um arquivo texto que vai marcando o status das mesas, mas tbm não sei fazer, será que alguém aí pode me ajudar!?
TABELA VENDAS :
Paradox
*CODVENDAS - +
CODPRODVENDAS - Numeric
MESA - Alpha
QTD - Numeric
CODFUNC - Alpha
STATUSMESA - Alpha
HoraVenda - @
DataVenda - Date
Valeu!!
Estou tentando fazer o seguinte.
Tenho uma Tabela VENDAS ( paradox ) que contém um campo chamado STATUSMESA que pode ser ( Aberta, Fechada, Espera), tenho um form com 10 Botões representando cada mesa do estabelecimento, quero que se a mesa 1 por exemplo estiver aberta o botão fique ligado, quando a mesa estiver fechada o botão fique desabilitado e quando estiver em espera fique com uma cor diferente.
Não estou conseguindo fazer funcionar, já me falaram para usar ARRAY, criando um arquivo texto que vai marcando o status das mesas, mas tbm não sei fazer, será que alguém aí pode me ajudar!?
TABELA VENDAS :
Paradox
*CODVENDAS - +
CODPRODVENDAS - Numeric
MESA - Alpha
QTD - Numeric
CODFUNC - Alpha
STATUSMESA - Alpha
HoraVenda - @
DataVenda - Date
Valeu!!
Shuljenko
Curtidas 0
Respostas
Koplin
06/08/2003
Não sei se serve para voce, mas vou dar uma sugestão.
Se sua tabela vendas não tiver o numero de registros fixo (10), crie uma tabela mesas com o campo statusmesa nela.
Atribua a cada botao, na propriedade hint o valor da mesa, uma vez que ele é string.
Assim ficariam:
btn1 hint=´01´
btn2 hint=´02´
...
Trate para mudar o valor do campo para cada mesa.
Depois, percorra a tabela com um loop, periodicamente(usando um timer)
Assim no evento OnTimer faça:
tabelamesa.first;//vai para o primeiro registro
While not tabelaMESA.eof do begin//varre todos os registros
For i:=0 to componentcount -1 do//varre todos os componentes
if components[i] is TBitBtn then //em busca de bitbtn com hint
With Components[i].bitBtn do //= ao valor da mesa
If hint= tabelamesaMesa.value then begin
If tabelamesa.StatusMesa<>´ESPERA´ then COLOR:= CLSILVER;
If tabelamesa.StatusMesa=´ABERTA´ then enabled:=true;
If tabelamesa.StatusMesa=´FECHADA´ then enabled:=FALSE;
If tabelamesa.StatusMesa=´ESPERA´ then begin
COLOR:=CLYELLOW;
enabled:=true;
end;
end;
TABELAMESA.NEXT;
END;
Eu fiz meio de cabeca e não lembro se é o BitBtn que da acesso a propriedade color. E todo o caso, acho que vai +- por ai.
So acho uma coisa. Eu usaria valores inteiros para trabalhar com status e mesa e a propriedade tag dos botoes ao invez de hint, pois String é mais lento e consome mais memoria. Voce terá que tratar tambem, a interrupção do timer para editar a tabela.
Se naõ for bem isso, da para vc se basear e ter uma idéia melhor.
qqr coisa tamos as ordens.
Boa sorte
Se sua tabela vendas não tiver o numero de registros fixo (10), crie uma tabela mesas com o campo statusmesa nela.
Atribua a cada botao, na propriedade hint o valor da mesa, uma vez que ele é string.
Assim ficariam:
btn1 hint=´01´
btn2 hint=´02´
...
Trate para mudar o valor do campo para cada mesa.
Depois, percorra a tabela com um loop, periodicamente(usando um timer)
Assim no evento OnTimer faça:
tabelamesa.first;//vai para o primeiro registro
While not tabelaMESA.eof do begin//varre todos os registros
For i:=0 to componentcount -1 do//varre todos os componentes
if components[i] is TBitBtn then //em busca de bitbtn com hint
With Components[i].bitBtn do //= ao valor da mesa
If hint= tabelamesaMesa.value then begin
If tabelamesa.StatusMesa<>´ESPERA´ then COLOR:= CLSILVER;
If tabelamesa.StatusMesa=´ABERTA´ then enabled:=true;
If tabelamesa.StatusMesa=´FECHADA´ then enabled:=FALSE;
If tabelamesa.StatusMesa=´ESPERA´ then begin
COLOR:=CLYELLOW;
enabled:=true;
end;
end;
TABELAMESA.NEXT;
END;
Eu fiz meio de cabeca e não lembro se é o BitBtn que da acesso a propriedade color. E todo o caso, acho que vai +- por ai.
So acho uma coisa. Eu usaria valores inteiros para trabalhar com status e mesa e a propriedade tag dos botoes ao invez de hint, pois String é mais lento e consome mais memoria. Voce terá que tratar tambem, a interrupção do timer para editar a tabela.
Se naõ for bem isso, da para vc se basear e ter uma idéia melhor.
qqr coisa tamos as ordens.
Boa sorte
GOSTEI 0