exibir variavel linha a linha em um DBGrid

Delphi

03/08/2007

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

Curtidas 0

Respostas

Jáder Medeiros

Jáder Medeiros

03/08/2007

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.


GOSTEI 0
Ricklorente

Ricklorente

03/08/2007

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...


GOSTEI 0
Jáder Medeiros

Jáder Medeiros

03/08/2007

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.



GOSTEI 0
POSTAR