Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.05.2014, 19:39   #21
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
анекдот по теме:
он совсем не по теме, вы посмотрите на качество вопросов там и тут, и поймете почему не по теме
eval вне форума
Старый 30.05.2014, 20:01   #22
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Когда спрашивают какая СУБД имеют ввиду - ACCESS ли это, парадокс, а может MS SQL? А то что вы перечислили всего лишь средства доступа к базе. Исходя из database desktop могу предположить, что парадокс. Дальше - приведите здесь структуру таблицы, с которой работаете. И да, для определения всяких средних и т.п. больше Query с запросом подойдет, а не программный рассчет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума
Старый 30.05.2014, 21:04   #23
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от sasha_14-88 Посмотреть сообщение
как я понимаю нужно просуммировать все значения столбца "температура" и разделить на количество значений, это и будет средняя температура
ну да, это же из курса школьной математики
Цитата:
Сообщение от sasha_14-88 Посмотреть сообщение
нужно определить среднюю температуру
как-то так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,t:integer;
begin
Memo1.Clear;
Table1.Active:=false;
Table1.Active:=true;
DataSource1.DataSet.First;
q:=0;
for i:=1 to DataSource1.DataSet.RecordCount do
  begin
    t:=StrToInt(DataSource1.DataSet.FieldValues['temp']);
    DataSource1.DataSet.Next;
    Memo1.Lines.Add(IntToStr(t));
    q:=q+t;
  end;
//Memo1.Lines.Add(s);
end;

procedure TForm1.Button2Click(Sender: TObject);
var w,t:Double;
begin
Memo1.Clear;
w:=DataSource1.DataSet.RecordCount;
t:=q/w;
Memo1.Lines.Add('Среднее значение: '+FloatToStr(t));
end;
Цитата:
Сообщение от sasha_14-88 Посмотреть сообщение
и выводило через шов мессадж
ShowMessage('');

Цитата:
Сообщение от sasha_14-88 Посмотреть сообщение
желательно не при запуске программы а при нажатиии на кнопку..???
Два раза на Button
helpkz вне форума
Старый 30.05.2014, 21:07   #24
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
он совсем не по теме, вы посмотрите на качество вопросов там и тут, и поймете почему не по теме
На счёт качества согласен, но тем не менее доля правды в анекдоте есть
helpkz вне форума
Старый 31.05.2014, 07:09   #25
sasha_14-88
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 48
По умолчанию

вот сделал код, считает среднее, но потом в таблице ничего выбрать нельзя после вычисления... как будто зацикливается, в чем проблема??
Код:
begin

 Table1.Active:=false;
Table1.Active:=true;

s:=0;
i:=0;
Table1.DisableControls;
Table1.First;
while not(Table1.Eof) do
  begin
    S:=S+Table1.FieldByName('TEMPER').AsInteger;//.AsFloat;
    Table1.Next;
  end;
Table1.RecNo:=i;    //номер записи в наборе данных
//подсчет суммы а ниже вычисление среднего

w:=Table1.RecNo;
t:=s/w;
showmessage('Среднее значение: '+floatToStr(t));

Последний раз редактировалось Stilet; 31.05.2014 в 17:46.
sasha_14-88 вне форума
Старый 31.05.2014, 08:58   #26
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Код:
procedure TForm1.Button3Click(Sender: TObject);
var s,t,i:integer;
w:Double;
begin
s:=0;
t:=DataSource1.DataSet.RecordCount; //количество записей в таблице
Table1.First;
for i:=1 to DataSource1.DataSet.RecordCount do //суммирование всех записей,
  begin                                      //и занесение их в переменную s
    s:=s+Table1.FieldValues['temp'];
    Table1.Next;
  end;
      w:=s/t;                        //вычисляем среднее значение, т.е.
Memo1.Lines.Add(IntToStr(s));         //сумму делим на количество записей
Memo1.Lines.Add(FloatToStr(w));
end;
Можете в начале добавить
Table.active:=false;
Table.Active:=true;
а можно и на отдельное событие
helpkz вне форума
Старый 31.05.2014, 09:12   #27
sasha_14-88
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 48
По умолчанию

Цитата:
Сообщение от helpkz Посмотреть сообщение
Код:
procedure TForm1.Button3Click(Sender: TObject);
var s,t,i:integer;
w:Double;
begin
s:=0;
t:=DataSource1.DataSet.RecordCount; //количество записей в таблице
Table1.First;
for i:=1 to DataSource1.DataSet.RecordCount do //суммирование всех записей,
  begin                                      //и занесение их в переменную s
    s:=s+Table1.FieldValues['temp'];
    Table1.Next;
  end;
      w:=s/t;                        //вычисляем среднее значение, т.е.
Memo1.Lines.Add(IntToStr(s));         //сумму делим на количество записей
Memo1.Lines.Add(FloatToStr(w));
end;
Можете в начале добавить
Table.active:=false;
Table.Active:=true;
а можно и на отдельное событие
я убрал это т.к. не знаю для чего это, если объясните)
sasha_14-88 вне форума
Старый 31.05.2014, 09:58   #28
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от sasha_14-88 Посмотреть сообщение
я убрал это т.к. не знаю для чего это, если объясните)
ты про Table.active?
Так это, чтобы с таблицей работать. нужно ее активировать
helpkz вне форума
Старый 01.06.2014, 11:32   #29
sasha_14-88
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 48
По умолчанию

Цитата:
Сообщение от helpkz Посмотреть сообщение
ты про Table.active?
Так это, чтобы с таблицей работать. нужно ее активировать
я не пойму зачем ее сначала выключить а потом сразу же включить??
sasha_14-88 вне форума
Старый 01.06.2014, 13:55   #30
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от sasha_14-88 Посмотреть сообщение
я не пойму зачем ее сначала выключить а потом сразу же включить??
Ну это в книге так написано, вдруг она еще открыта осталась после прошлых операции. Поэтому будет корректней сначала закрыть, а потом заново открыть. Насколько я знаю в современных версиях ПО для разработки уже все автоматически закрывается. А т.к. как у тебя старенькая версия, то надо так делать. И лучше почитай литературу, в любом случае на пользу пойдет.
helpkz вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БАЗА ДАННЫХ.ПОИСК alyonka-s Помощь студентам 0 24.04.2014 18:22
База данных СТО (поиск) Botan747 Помощь студентам 20 06.05.2012 09:38
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных в Access, ADOQuery, организовать поиск monushka БД в Delphi 27 23.10.2009 20:45
База данных приделать поиск demon9999 Помощь студентам 0 03.06.2008 00:26