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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.01.2014, 19:20
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию Избавиться от глобальных переменных

Приветствую

В проге есть 2 кнопки: Рассчитать и Сохранить, это некий калькулятор затрат для заявки на услуги
При нажатии "Рассчитать" берутся данные из БД для текущей выбранной заявки (назову их константами в данном контексте). Констант 10 штук, с помощью них осуществляется пересчет по формулам (константы для удобства пихаю в глобальные переменные), выводится сумма.
Если пользователя все устраивает, он жмет сохранить - константы (т.е. глобальные переменные) сохраняются в БД.

Как мне уйти от использования глобальных переменных?

Есть мысль создать класс (в первый раз, не судите строго), например такой:
Код:
...
TMyConst = Class
  private
    FDlina: double;
    FShirina: double;
    // и т.д.
  public
    function SetDlina(Value: string): double;
    function SetShirina(Value: string): double;
    property Dlina: double
      read FDlina write SetDlina;
    property Shirina: double
      read FShirina write SetShirina;
    //....
end;       
...
implementation

function SetDlina(Value: string): double;
begin
  ADOQuery.SQL.Text:='SELECT BDlina FROM const WHERE nomer = "' + value + '"';
  ADOQuery.Open;
  Result:=ADOQuery.FieldByName('BDlina').asfloat;
end;

// Аналогично с остальными константами

НО! Получается, что для каждой переменной-поля будет отдельный запрос! Как то неправильно выходит - 10 запросов вместо одного

Нельзя ли как-то сделать так, чтобы установить все константы одним запросом ('SELECT BDlina, BShirina, ...... FROM const WHERE nomer = "' + value + '"'
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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