Converter Float para integer

20/12/2004

0

Tentei já de 2 maneiras não tá dando certo

Var
TotX : Integer;

TotX := int(ToX /100);
ProgressBar1.Position := TotX;


Var
TotX : Real;

TotX := TotX /100;
ProgressBar1.Position := FloatToInt(TotX);


Incompatible Types, pq?


Wgm8

Wgm8

Responder

Post mais votado

20/12/2004

isso e logica basica..... eu acho legal vc dar uma olhada em um livro de algoritmos.


:arrow: [color=red:ea4f20a965][b:ea4f20a965]E eu acho legal você dá uma OLHADINHA nas [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689&sid=4ef9917a1e0af1dbf348b1c225f50f25]Regras de Conduta [/url]do fórum, Razor. [/b:ea4f20a965][/color:ea4f20a965] :lol:


Rômulo Barros

Rômulo Barros
Responder

Mais Posts

20/12/2004

Massuda

Use [b:a4d999df18]Trunc[/b:a4d999df18] para truncar o valor ou [b:a4d999df18]Round[/b:a4d999df18] para arredondar o valor.


Responder

20/12/2004

Razor

putz......

isso e logica basica..... eu acho legal vc dar uma olhada em um livro de algoritmos.


Responder

04/07/2019

Claudio

Tentei já de 2 maneiras não tá dando certo

Var
TotX : Integer;

TotX := int(ToX /100);
ProgressBar1.Position := TotX;


Var
TotX : Real;

TotX := TotX /100;
ProgressBar1.Position := FloatToInt(TotX);


Incompatible Types, pq?




var valor: real;
result: integer;
begin
valor := 147.89;

// separando a parte inteira: resultado 147
result := trunc(valor);

// separando a parte fracionária:
// multiplicar por 100 obtem as duas primeiras casas decimais
// resultado 89
result := round(frac(valor) * 100);
end;
Responder

05/07/2019

Emerson Nascimento

Qual a versão do Delphi?

Porque a propriedade Position da minha ProgressBar recebe um TPosition e não um numero.

De qualquer forma, porque você quer fazer a atribuição desta forma?

Para usar o ProgressBar basta você atribuir o total de iterações em MAX, e cada iteração em VALUE. Não há necessidade de fazer qualquer cálculo.

Algo assim:
nTotRec := cdsPedidos.RecordCount;
ProgressBar1.Max := nTotRec;
cdsPedidos.First;

for i := 1 to nTotRec
begin
  ProgressBar1.Value := i;
  // seu código a partir daqui
  cdsPedidos.Next;
end;

ou assim:
nTotRec := cdsPedidos.RecordCount;
ProgressBar1.Max := nTotRec;
cdsPedidos.First;

while not cdsPedidos.Eof
begin
  inc(i);
  ProgressBar1.Value := i;
  // seu código a partir daqui
  cdsPedidos.Next;
end;

Você pode optar pelo gauge, que tem um método AddProgress e você não precisa de uma variável para controlar o progresso.

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar