Fórum exibir variavel linha a linha em um DBGrid #344051

03/08/2007

0

Tenho uma variável chamada resultado e gostaria de exibí-la linha a linha em um DBGrid (Pode ser algum outro componente aceito sugestões).

valor: 100 porcentagem: 10

DBGrid: //um DBGrid mostrando a depreciação linha a linha.

______Coluna1

linha1___100

linha2___90

linha3___81

etc...

como ñ sei vou tentar chutar um exemplo do q gostaria de fazer:

var

i,u : integer;

for i = 0 to 100 do
begin

dbline(u).text:= resultado; //variável q guarda o valor da conta;

u:= u+1;

end;

//quer dizer cada linha do DBGrid recebe o valor da variável resultado.

Alguém pode me ajudar??
Obrigado


Ricklorente

Ricklorente

Responder

Posts

03/08/2007

Jáder Medeiros

O segredo está na fonte de dados. Como é um DBGrid, a fonte deve ser um DataSet (óbvio).

Sugiro criar um TClientDataSet com um campo inteiro.

Faça uma operação de repetição usando For com sua regra de negócio inserindo no DataSet.


Responder

Gostei + 0

03/08/2007

Ricklorente

Obrigado Jader, mas eu sou novato em programação e to correndo atrás de conhecimento.

Será q vc poderia me ajudar com algum exemplo simples??
até o calculo com um ClientDataSet (internalCalc)talvez eu consiga chegar, o problema é jogar em um DBgrid Linha a Linha valor por valor usando um for para realizar todo o calculo dando somente um click no botão.

Obrigado...


Responder

Gostei + 0

03/08/2007

Jáder Medeiros

unit Unit1;

interface

uses
Forms, DBClient, DB, DBGrids;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
protected
ClientDataSet: TClientDataSet;
DataSource: TDataSource;
DBGrid: TDBGrid
end;

var
Form1: TForm1;

implementation

uses
Controls;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
const
Porcentagem = 10;
var
Valor: Integer;
begin
ClientDataSet := TClientDataSet.Create(Self);
ClientDataSet.FieldDefs.Add(´Numero´,ftInteger);
ClientDataSet.CreateDataSet;
DataSource := TDataSource.Create(ClientDataSet);
DataSource.DataSet := ClientDataSet;
DBGrid:= TDBGrid.Create(Self);
DBGrid.DataSource := DataSource;
DBGrid.Parent:= Self;
DBGrid.Align:= alClient;
Valor := 100;
while Valor >= 1 do begin
ClientDataSet.AppendRecord([Valor]);
if Valor = Valor-Round(Valor*(Porcentagem/100)) then
Break
else
Valor := Valor-Round(Valor*(Porcentagem/100))
end
end;

end.



Responder

Gostei + 0

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

Aceitar