Fórum erro; is not a valid floating #382808
04/08/2010
0
Daniel
Curtir tópico
+ 0Posts
04/08/2010
Marco Salles
Gostei + 0
04/08/2010
Eriley Barbosa
Esa função retorna o conteúdo do primeiro parametro substituindo tudo que for igual ao segundo parametro, pelo último parametro...
Espero ter ajudado...
PS: Declare StrUtils.
Gostei + 0
04/08/2010
Marco Salles
Esa função retorna o conteúdo do primeiro parametro substituindo tudo que for igual ao segundo parametro, pelo último parametro...
Espero ter ajudado...
PS: Declare StrUtils.
Gostei + 0
04/08/2010
Daniel
procedure TForm_Cadastro_Pedidos.StringGridProdutoClick(Sender: TObject);
var
result, linha1 : integer;
valor : real;
begin
Linha1 := StringGridProduto.Row;//Variavel linha se aplica a todas as linhas do componente string grid
if (StringGridProduto.Col=0)and(StringGridProduto.Row>0)and(StringGridProduto.Cells[StringGridProduto.Col,StringGridProduto.Row-1]<>'')
//se a 1° linha for selecionada, com excessão dos titulos e a linha anterior não esteja vazia então
then
begin
result:=Form_visualiza_produtos.showmodal;//abrir o formulario de visualização dos produtos
if (result = mrok)//e o botao ok for selecionado então
then
begin
StringGridProduto.Cells[StringGridProduto.Col,StringGridProduto.Row] := DataModule_Dados.TblProdutos.FieldByName('PRODUTO').AsString;
//o valor do campo nome da dbgridprodutos e copiado para a stringgrid
StringGridproduto.Cells[1,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('UNIDADE').AsString;//A 2° coluna representa os dados do campo unidade da tabela produtos
StringGridproduto.Cells[2,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('VALORUNITARIO').AsString;//A 3° coluna representa os dados do campo valor unitario da tabela produtos
valor := StrtoFloat(StringGridproduto.Cells[2,StringGridProduto.RowCount -5]);//A variavel valor recebe dados da 3° coluna da string grid
StringGridProduto.Cells[2,StringGridProduto.RowCount -5] := FormatFloat('##,###,##0.00', valor);//A variavel valor é mostrada no formato monetario
StringGridProduto.RowCount:= StringGridProduto.RowCount + 1;//a linha da stringgrid é aumentada em mais uma
StringGridProduto.Col := 3;//3° coluna da string grid
StringGridProduto.Row := Linha1;//Aplicação da variavel a 3° coluna
Setfocus;//Seleção
end;
end;
end;
procedure TForm_Cadastro_Pedidos.StringGridProdutoKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
var
i,indice:integer;//Variaveis inteiras
begin
if ORD (Key)=4103 then//Se a tecla delete for precionada então
begin
indice:= StringGridProduto.Row;//Armazena na variavel a linha a ser excluida
for I := indice to StringGridProduto.RowCount -1 do
begin
StringGridProduto.Cells[0,i]:= StringGridProduto.Cells[0,i+1];//Linhas abaixo da linha excluida é copiada para a linha de cima da 1° coluna
StringGridProduto.Cells[1,i]:= StringGridProduto.Cells[0,i+1];//Linhas abaixo da linha excluida é copiada para a linha de cima da 2° coluna
StringGridProduto.Cells[2,i]:= StringGridProduto.Cells[0,i+1];//Linhas abaixo da linha excluida é copiada para a linha de cima da 3° coluna
StringGridProduto.Cells[3,i]:= StringGridProduto.Cells[0,i+1];//Linhas abaixo da linha excluida é copiada para a linha de cima da 4° coluna
StringGridProduto.Cells[4,i]:= StringGridProduto.Cells[0,i+1];//Linhas abaixo da linha excluida é copiada para a linha de cima da 5° coluna
end;
StringGridProduto.RowCount := StringGridProduto.RowCount-1;//O numero de linhas é aumentado em uma unidade
end;
end;Gostei + 0
04/08/2010
Marco Salles
se o erro de conversão tiver aqui
valor := StrtoFloat(StringGridproduto.Cells[2,StringGridProduto.RowCount -5]);
é so trocar por :
valor := DataModule_dados.TblProdutos.FieldByName('VALORUNITARIO').AsFloat;
Gostei + 0
04/08/2010
Daniel
se o erro de conversão tiver aqui
valor := StrtoFloat(StringGridproduto.Cells[2,StringGridProduto.RowCount -5]);
é so trocar por :
valor := DataModule_dados.TblProdutos.FieldByName('VALORUNITARIO').AsFloat;
Gostei + 0
04/08/2010
Marco Salles
Gostei + 0
05/08/2010
Daniel
Gostei + 0
05/08/2010
Marco Salles
ele ira reclamar ... O que tem que ser feito é retirar o ponto desta String StringGridproduto.Cells[2,StringGridProduto.RowCount -5]) Tudo indica que é isto... Pq que não foi matado o problema com mais rapidez ??? pq em uma situação normal , o campo para este caso não é do tipo String Bem , feito isto estamos atacando o efeito ... Mas não é muito compreensivel um campo que representa valores ser definido como String ( Causa )
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)