![]() |
|
|
#1
|
||||
|
||||
|
Помогите,пожалуйста,не могу разобраться совсем,как в таблице сделать поле,которое бы вычисляло,например,сумму 2х других полей.Может кто знает?
![]() |
|
#2
|
||||
|
||||
|
С таблицами мало работал, но скорее всего принцип такой:
Код:
3 ячейка:=StrToInt(1-я ячейка у таблицы)+StrToInt(2-я ячейка у таблицы); |
|
#3
|
||||
|
||||
|
Код:
var
summa:integer;
a:string
b:string;
begin
a:=ячейка1;
b:=ячейка2;
summa:=StrToInt(a)+StrToInt(b);
ShowMessage('Сумма= ' + IntToStr(summa));
end; |
|
#4
|
||||
|
||||
|
Вот рабочий пример со StringGrid'ом:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure StringGrid1GetEditText(Sender: TObject; ACol, ARow: Integer;
var Value: String);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
with StringGrid1 do
begin
Cells[0, 0]:='0';
Cells[1, 0]:='0';
Cells[2, 0]:='0';
end;
end;
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
try
StringGrid1.Cells[2, 0]:=IntToStr(StrToInt(StringGrid1.Cells[0, 0]) + StrToInt(StringGrid1.Cells[1, 0]));
except
end;
end;
procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
if ACol = 2 then
Exit;
try
StrToInt(Value);
except
Value:='0';
end;
StringGrid1.Cells[2, 0]:=IntToStr(StrToInt(StringGrid1.Cells[0, 0]) + StrToInt(StringGrid1.Cells[1, 0]));
end;
end. |
|
#5
|
||||
|
||||
|
Цитата:
не уверена,что это будет работать в DBGrid...А автар у тебя симпатичненький ![]() |
|
#6
|
||||
|
||||
|
Спасибо.Только проблемка.Мне надо для работы с DBGrid.
|
|
#7
|
||||
|
||||
|
А ты не пробывала вынести эти поля в отдельную форму - там посчитать, а потом записать на место?
В некоторых случаях - это самый оптимальный вариант! |
|
#8
|
||||
|
||||
|
Попробуй это.
Надеюсь поможет (если я тебя правильно понял) Отпишись! Последний раз редактировалось Yurk@, 16.08.2009 в 16:39. |