Fórum Auto alinhar componentes #479298
17/05/2014
0
Estou com uma dúvida, e não estou sabendo qual componente usar.
Eu quero fazer um sistema, parecido com um sistema de bar, restaurante, lanchonete e afins.
Quero que o cliente faça a abertura da mesa, e automaticamente crie um botão, ou outro componente, para as informações ficarem dentro desse.
A minha dúvida é a seguinte:
Em tempo de execução, eu preciso que, se mudar a resolução, os componentes se ajustem na tela, sem ficarem cortados, ou seja, com uma mesa por exemplo, o componente ajustaria à esquerda, e no topo.
Com duas mesas, o primeiro no mesmo lugar e o segundo à direita deste e no topo, e assim por diante.
O problema é que, se no espaço couberem 5 mesas, e eu quiser incluir mais uma, como eu faço para "quebrar a linha" e esse botão, ou qualquer outro componente, passar para a linha de baixo?
E outra, se mudar a resolução, como eu faço por exemplo, para 4 componentes caberem numa linha, e os outros se ajustarem e irem para a linha de baixo?
Eu não sei se fui claro, mas obrigado pelas respostas.
Atenciosamente
Giovani.
Giovani Oliveira
Curtir tópico
+ 0Posts
18/05/2014
Giovani Oliveira
Gostei + 0
18/05/2014
Romulo Silva
com a condiçao da venda
[img]http://arquivo.devmedia.com.br/forum/imagem/298866-20140518-200411.png[/img]
Gostei + 0
18/05/2014
Giovani Oliveira
E se por exemplo eu fechar uma mesa "2"... Eu consigo fazer o resto das mesas "encaixarem" logo após a número 2?
Entendeu o que eu disse?
To meio zureta já, kkkkkkkkkkkkkkkkk
Vlw...
Gostei + 0
19/05/2014
Romulo Silva
Esta tela não alinha os componentes como
você quer, mais cada imagem representa uma venda ou uma mesa,
e de acordo com o movimento um timer controla que imagem vai ser apresentada
ex: se fechar venda o timer troca a imagem para (mesa livre)
sendo assim consigo abrir a venda e fecha-la via comanda eletronica em android
já que na função do timer verifica os dados no banco
e no evento Click da imagem coloco uma condição se a imagem for mesavazia
encaminho a tela de venda caso contrario mando para tela de ediçao
procedure T_frmPrincipalTela.TimerTimer(Sender: TObject);
begin
mesa;
end;
procedure T_frmPrincipalTela.mesa();
var
I : Integer ;
img : Timage;
begin
for I := 0 to ComponentCount - 1 do
begin
if Components[I] is TImage then
begin
img := Components[I] as TImage;
imagComanda := Copy(img.Name,6,3);
imagem(img,imagComanda); //função
sleep(10);
Application.ProcessMessages;
end;
end;
end;
procedure T_frmPrincipalTela.imagem(imag : TImage; comanda : String);
var img: TJpegimage;
Figura: file of Byte;
valor,pago : String;
sender : TObject;
begin
pago := 'NAO';
with Modulo.CalcularTudo do
begin
sql.Clear;
sql.Add('select * from pedidos where pago like'+ QuotedStr(pago));
sql.Add(' and comanda like '+ QuotedStr(comanda));
open;
end;
if Modulo.CalcularTudo.RecordCount > 0 then
begin
if imag.Width = 90 then
begin
img:=TJPEGIMAGE.CREATE;
img.LOADFROMFILE(local+'\Objetos\Imagens\mesaOcupada.jpg');
CLIPBOARD.Assign(img);
imag.picture.Assign(img);
imag.Width := 91 ;
img.Free;
end;
end else
begin
if imag.Width = 91 then
begin
img:=TJPEGIMAGE.CREATE;
img.LOADFROMFILE(local+'\Objetos\Imagens\mesavazia.jpg');
CLIPBOARD.Assign(img);
imag.picture.Assign(img);
imag.Width := 90;
img.Free;
end;
end;
end;
Gostei + 0
20/05/2014
Wijloc
Gostei + 0
20/05/2014
Giovani Oliveira
Agradeço bastante.
Qualquer dúvida, eu volto a gritar aqui, kkkkkkkkkkkk
Abraço
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)