Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 26.12.2016, 00:56   #21
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 47
Репутация: 10
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
procedure TForm1.Button2Click(Sender: TObject);
// итоговое сумма со-скидкой 10%
var cen: Currency;
n: integer;
skidk : Currency;
begin
cen:=0;
ADOTable1.First;
for n:=1 to ADOTable1.RecordCount do
begin
skidk := ADOTable1.FieldByName('price').AsCu rrency /100*10;
cen := cen + ADOTable1.FieldByName('price').AsCu rrency-skidk;
ADOTable1.Next;
Label2.Caption :=CurrToStr(cen);
end;

end;
Как я понял это уже будут все цены средняя цена меньше 100?
ИвановБ вне форума   Ответить с цитированием
Старый 26.12.2016, 01:01   #22
xxbesoxx
Профессионал
 
Аватар для xxbesoxx
 
Регистрация: 10.08.2010
Адрес: Грузия Рустави
Сообщений: 1,213
Репутация: 628
Отправить сообщение для xxbesoxx с помощью Yahoo
По умолчанию

Цитата:
Сообщение от ИвановБ Посмотреть сообщение
Как я понял это уже будут все цены средняя цена меньше 100?
итоговое сумма со-скидкой 10% проверяйте ... или время нету ?
__________________
E_MAIL: rijgvina7@yahoo.com

Последний раз редактировалось xxbesoxx; 26.12.2016 в 01:05.
xxbesoxx вне форума   Ответить с цитированием
Старый 26.12.2016, 01:05   #23
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 47
Репутация: 10
По умолчанию

А все понял это считывается сумма всех строк со скидкой.
ИвановБ вне форума   Ответить с цитированием
Старый 26.12.2016, 01:13   #24
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 47
Репутация: 10
По умолчанию

Блин теперь опять запутался, а итог этого кода можно запихнуть в мой цикл?
ИвановБ вне форума   Ответить с цитированием
Старый 26.12.2016, 01:21   #25
xxbesoxx
Профессионал
 
Аватар для xxbesoxx
 
Регистрация: 10.08.2010
Адрес: Грузия Рустави
Сообщений: 1,213
Репутация: 628
Отправить сообщение для xxbesoxx с помощью Yahoo
По умолчанию

Цитата:
Сообщение от ИвановБ Посмотреть сообщение
Блин теперь опять запутался
Вот это чтоли ?
Изображения
Тип файла: jpg DSC_6627.jpg (120.7 Кб, 0 просмотров)
__________________
E_MAIL: rijgvina7@yahoo.com
xxbesoxx вне форума   Ответить с цитированием
Старый 26.12.2016, 01:34   #26
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 47
Репутация: 10
По умолчанию

Ага они самые
Вот посмотрите я уже замучился я в верном направлении иду?
Код:

var cen, itog: Currency;
    n, cent,i: integer;
begin
  cent:=DM.ADOTableBD.FieldByName('ЦенаТовара').AsInteger;
  i:=DM.ADOTableBD.RecordCount;
  cen:=0;
  DM.ADOTableBD.First;
  for n:=1 to DM.ADOTableBD.RecordCount do
    begin
      cen := cen + DM.ADOTableBD.FieldByName('ЦенаТовара').AsCurrency;
    end;
      repeat
      cen:=cent*0.9;
      itog:=cen/i;
      until itog<100;
end;

хотя кажется я здесь столько нагромоздил неправильного программа даже виснет после выполнения этой процедуры
ИвановБ вне форума   Ответить с цитированием
Старый 26.12.2016, 02:37   #27
xxbesoxx
Профессионал
 
Аватар для xxbesoxx
 
Регистрация: 10.08.2010
Адрес: Грузия Рустави
Сообщений: 1,213
Репутация: 628
Отправить сообщение для xxbesoxx с помощью Yahoo
По умолчанию

Цитата:
Сообщение от ИвановБ Посмотреть сообщение
Ага они самые
Вот посмотрите я уже замучился я в верном направлении иду?
Код:

var cen, itog: Currency;
    n, cent,i: integer;
begin
  cent:=DM.ADOTableBD.FieldByName('ЦенаТовара').AsInteger;
  i:=DM.ADOTableBD.RecordCount;
  cen:=0;
  DM.ADOTableBD.First;
  for n:=1 to DM.ADOTableBD.RecordCount do
    begin
      cen := cen + DM.ADOTableBD.FieldByName('ЦенаТовара').AsCurrency;
    end;
      repeat
      cen:=cent*0.9;
      itog:=cen/i;
      until itog<100;
end;

хотя кажется я здесь столько нагромоздил неправильного программа даже виснет после выполнения этой процедуры
Если переменное cen объявлен типов Currency; и потом присваиваем ей значение DM.ADOTableBD.FieldByName('ЦенаТова ра').AsInteger; что это ? Currency и Integer это не разные тип данных и "цена" Integer как вы думаете ?! ...
__________________
E_MAIL: rijgvina7@yahoo.com

Последний раз редактировалось xxbesoxx; 26.12.2016 в 02:40.
xxbesoxx вне форума   Ответить с цитированием
Старый 26.12.2016, 11:43   #28
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 47
Репутация: 10
По умолчанию

Ммм.... Да сейчас буду исправлять ночью уже башка плохо соображала
ИвановБ вне форума   Ответить с цитированием
Старый 26.12.2016, 11:56   #29
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк, Украина
Сообщений: 16,033
Репутация: 5755
По умолчанию

Примерно так
Код:

  if DM.ADOTableBD.RecordCount>0 then begin
    {считаем среднюю цену}
    cen:=0;
    DM.ADOTableBD.First;
    while not DM.ADOTableBD.Eof do begin
      cen:=cen+DM.ADOTableBD.FieldByName('ЦенаТовара').AsCurrency;
      DM.ADOTableBD.Next;
    end;
    cen:=cen/DM.ADOTableBD.RecordCount;
    {определяем коэффициент пересчета цен}
    k:=0;
    while cen>=100 do begin cen:=cen*0.9; Inc(k); end;
    Koef:=Power(0.9,k);
    {пересчет цен}
    if k>0 then begin
      DM.ADOTableBD.First;
      while not DM.ADOTableBD.Eof do begin
        DM.ADOTableBD.Edit;
        DM.ADOTableBD.FieldByName('ЦенаТовара').AsCurrency:=DM.ADOTableBD.FieldByName('ЦенаТовара').AsCurrency*Koef;
        DM.ADOTableBD.Post;
        DM.ADOTableBD.Next;
      end;
    end;
  end;

__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 26.12.2016, 12:48   #30
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 47
Репутация: 10
По умолчанию

Аватар, спасибо. А вот скажите вот Koef это что у вас переменная?
ИвановБ вне форума   Ответить с цитированием
Ответ



Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан текст. Найти множество всех слов, которые встречаются во всех предло-жениях текста. Anton94.by Помощь студентам 1 31.03.2014 15:30
Уменьшать размер букв Label6 в зависимости от width Алексей_2012 Общие вопросы Delphi 6 24.03.2013 20:27
цикл for i:=0 to count -1 do. Уменьшать счётчик i внутри цикла... Человек_Борща Общие вопросы Delphi 10 01.07.2011 21:11
Имена всех секций всех ini-файлов (DELPHI) Dj_SheLL Помощь студентам 7 10.10.2010 17:44




04:38.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru