Campo tipo float, imprimir String numa determinada condição
Companheiros, tenho um campo do tipo float chamado qdvend. Neste campo serão listadas as quantidades dos itens vendidos. Acontece que meu cliente, que está encomendando o software, quer uns detalhes do tipo: 1º - Listar no relatório de Orçamento, todos os itens. Já fiz.
2º - Após listar, os itens que não foram vendido, deverãos ser marcado
com um traço(-) e os itens vendidos, com as respectivas quantidades. Coloquei um QRLabel, e no caption dele o valor de qrvend, se este for maoir que zero, caso contrário QRLabel.Caption := ´-´; Assim fazendo, ele não preenche o QRLabel caso o qdvend seja maior que um. Creio que o erro está no LOOP´. Veja a rotina:
procedure TfrmVenda.sbPreviewClick(Sender: TObject);
begin
frmRelOrca.venda.First;
while not frmRelOrca.venda.eof do begin
if frmRelOrca.Vendaqdvend.Value > 0 then begin
frmRelOrca.qrlabel1.Caption:=FloatToStr(frmRelOrca.vendaqdvend.Value);
end else
if frmRelOrca.Vendaqdvend.Value = 0 then begin
frmRelOrca.qrlabel1.Caption:=´-´;
end;
frmRelOrca.venda.Next;
end;
Mudei o LOOP, aí inverteu, ou seja, o QRLabel veio com o caption igual
ao valor do primeiro qdvend. Tipo tudo 1, por exemplo. Qdvend é do tipo
Float.
end;
2º - Após listar, os itens que não foram vendido, deverãos ser marcado
com um traço(-) e os itens vendidos, com as respectivas quantidades. Coloquei um QRLabel, e no caption dele o valor de qrvend, se este for maoir que zero, caso contrário QRLabel.Caption := ´-´; Assim fazendo, ele não preenche o QRLabel caso o qdvend seja maior que um. Creio que o erro está no LOOP´. Veja a rotina:
procedure TfrmVenda.sbPreviewClick(Sender: TObject);
begin
frmRelOrca.venda.First;
while not frmRelOrca.venda.eof do begin
if frmRelOrca.Vendaqdvend.Value > 0 then begin
frmRelOrca.qrlabel1.Caption:=FloatToStr(frmRelOrca.vendaqdvend.Value);
end else
if frmRelOrca.Vendaqdvend.Value = 0 then begin
frmRelOrca.qrlabel1.Caption:=´-´;
end;
frmRelOrca.venda.Next;
end;
Mudei o LOOP, aí inverteu, ou seja, o QRLabel veio com o caption igual
ao valor do primeiro qdvend. Tipo tudo 1, por exemplo. Qdvend é do tipo
Float.
end;
Paulo
Curtidas 0
Respostas
Maicongabriel
29/01/2004
Pelo o que entendi, creio que assim irá funcionar!...
procedure TfrmVenda.sbPreviewClick(Sender: TObject);
begin
frmRelOrca.venda.First;
while not frmRelOrca.venda.eof do
begin
{ se for maior ou igual a 1 }
if frmRelOrca.Vendaqdvend.Value >= 1 then
begin
frmRelOrca.qrlabel1.Caption := FloatToStr(frmRelOrca.vendaqdvend.Value);
end else
begin
{ se for menor ou igual a 0 }
if frmRelOrca.Vendaqdvend.Value <= 0 then
frmRelOrca.qrlabel1.Caption := ´-´;
end;
frmRelOrca.venda.Next;
end;
end;GOSTEI 0
Paulo
29/01/2004
Assim não funciona, ou seja, ele pega um valor, exemplo, 1 e faz com tudo seja 1, se o 1º for -, tudo será -. Com while não é possível, pelo menos desta forma.
GOSTEI 0