Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.11.2007, 19:25
Аватар для killpretty
killpretty killpretty вне форума
Прохожий
 
Регистрация: 04.11.2007
Сообщения: 33
Репутация: 10
Смущение работа с таблицей

Помогите,пожалуйста,не могу разобраться совсем,как в таблице сделать поле,которое бы вычисляло,например,сумму 2х других полей.Может кто знает?
Ответить с цитированием
  #2  
Старый 04.11.2007, 19:57
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

С таблицами мало работал, но скорее всего принцип такой:
Код:
3 ячейка:=StrToInt(1-я ячейка у таблицы)+StrToInt(2-я ячейка у таблицы);
__________________

Ответить с цитированием
  #3  
Старый 04.11.2007, 21:51
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

Код:
var
summa:integer;
a:string
b:string;
begin
a:=ячейка1;
b:=ячейка2;
summa:=StrToInt(a)+StrToInt(b);
ShowMessage('Сумма= ' + IntToStr(summa));
end;
__________________
Программирование - это искусство и наш смысл жизни.
Ответить с цитированием
  #4  
Старый 05.11.2007, 08:57
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Вот рабочий пример со 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.
В StringGrid'e должно быть три столбца, и одна строка, в Option - goEditing поставь True, и не забудь указать события OnCrete у формы, и события OnGetEditText и OnSetEditText у StringGrid'a
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #5  
Старый 05.11.2007, 18:32
Аватар для killpretty
killpretty killpretty вне форума
Прохожий
 
Регистрация: 04.11.2007
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
Сообщение от Winny
С таблицами мало работал, но скорее всего принцип такой:
Код:
3 ячейка:=StrToInt(1-я ячейка у таблицы)+StrToInt(2-я ячейка у таблицы);


не уверена,что это будет работать в DBGrid...А автар у тебя симпатичненький
Ответить с цитированием
  #6  
Старый 05.11.2007, 18:36
Аватар для killpretty
killpretty killpretty вне форума
Прохожий
 
Регистрация: 04.11.2007
Сообщения: 33
Репутация: 10
Сообщение

Спасибо.Только проблемка.Мне надо для работы с DBGrid.
Ответить с цитированием
  #7  
Старый 07.11.2007, 12:37
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

А ты не пробывала вынести эти поля в отдельную форму - там посчитать, а потом записать на место?
В некоторых случаях - это самый оптимальный вариант!
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #8  
Старый 08.11.2007, 09:01
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
Лампочка

Попробуй это.
Надеюсь поможет (если я тебя правильно понял)

Отпишись!
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 16.08.2009 в 16:39.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter