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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2011, 19:11   #1
Felonalex
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 15
По умолчанию Использовать формулу хранящуюсь в таблице базы Access

Допусти мне надо что бы расчет формулы хранился в таблице базы и потом при изменении некоторых коэфициентов не залазить в код а менять просто формулу расчета в таблице. Например в будет записано в таблице слова strtoint(Edit1.text)+ strtoint(Edit2.text)+20 как мне потом использовать данную формулу в коде программы???
Felonalex вне форума Ответить с цитированием
Старый 25.04.2011, 19:30   #2
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

Куча способов приложи голову, и задавай конкретные вопросы...
Да, кстати есть компоненты которые могут помочь тебе в этом, только не помню названия
Gulik вне форума Ответить с цитированием
Старый 25.04.2011, 21:52   #3
Felonalex
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 15
По умолчанию

ну тогда токо вопрос как преобразовать формулу хранящуюся в таблице что бы можно было использовать в вычислениях в коде программы?
Felonalex вне форума Ответить с цитированием
Старый 25.04.2011, 22:27   #4
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

можно как-нибудь так:

задаешь формулу, присваиваешь её переменной, а потом методом исключения:

формула: a+b-c

Код:
var
   str : string ;
   i : integer ;
begin
   str := Edit4.Text ; <- где у тебя прописана формула
   if str = 'a+b+c' then
     i := IntToStr(Edit1.Text) + IntToStr(Edit2.Text) + IntToStr(Edit3.Text) ;
   if str = 'a+b-c' then
     i := IntToStr(Edit1.Text) + IntToStr(Edit2.Text) - IntToStr(Edit3.Text) ;
   if str = 'a-b+c' then
     i := IntToStr(Edit1.Text) - IntToStr(Edit2.Text) + IntToStr(Edit3.Text) ;
это как один из простых вариантов, чтобы тебе не заморачиваться...
Gulik вне форума Ответить с цитированием
Старый 25.04.2011, 22:58   #5
Felonalex
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 15
По умолчанию

Не это не совсем то что нужно я бы хотел использовать эту формулу как команду для вычилслений допусти мы в коде программы обычно пишем там (strtoint(edit1.text)+30)* strtoint(strtoint(edit1.text) вот а я бы хотел что бы параметры вычислений можно было бы изменить не залезая в код программы а допустим ток в таблице меняешь и вот тебе изменяеться реультат, подбором не получиться так как а вдруг придеться добавить еще допустим какое то число для сложения, вот просто в чем загвоздка когда допустим обращаешься adotable1.formula то как бы я натыкаюсь на на просто тупо текст '(strtoint(edit1.text)+30)* strtoint(strtoint(edit1.text)' его наверное не как нельзя заставить понимать компилятором как параметры для вычислений
Felonalex вне форума Ответить с цитированием
Старый 25.04.2011, 23:15   #6
Felonalex
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 15
По умолчанию

Просто надо програмку написать по расчету пенсии любых видов вот, а при изменении заонадательства или ставки же не будешь посто янно редактировать код
Felonalex вне форума Ответить с цитированием
Старый 25.04.2011, 23:37   #7
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

тогда тебе прямая дорога к SQL запросам... Они не требуют компиляции...

ну и код в помощь...

Код:
   Label1.Font.Color := clRed ;
   Label1.Caption := 'Ошибка!' ;
   Query1.Close ;
   Query1.SQL.Clear ;
   Query1.SQL.Add(Memo1.Text) ;
   Query1.Open ;
   Label1.Font.Color := clLime ;
   Label1.Caption := 'Успех!' ;
соответственно помещаешь в Memo текст запроса и он тебе любую формулу высчитает. Текст запроса можно из txt файла загружать

А вообще я не думаю что у тебя в формуле будет что-то меняться кроме цифр (ставок), т.е. плюс на минус не придется исправлять

Последний раз редактировалось Gulik; 25.04.2011 в 23:43.
Gulik вне форума Ответить с цитированием
Старый 26.04.2011, 12:18   #8
Felonalex
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 15
По умолчанию

А можно поподробнее как это реализовать
Felonalex вне форума Ответить с цитированием
Старый 26.04.2011, 12:32   #9
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
Сообщение от Felonalex Посмотреть сообщение
А можно поподробнее как это реализовать
а поискать в Инете, и самому почитать. Есть же куча учебников по SQL-ю.
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как написать формулу в Access? Ibkis Помощь студентам 2 28.05.2010 17:36
Вычисляемое поле в таблице ACCESS, создать вычисляемое поля в таблице аксес artlayers Microsoft Office Access 2 04.11.2009 19:29
Использовать чужие семантические базы HellMercenaries Общие вопросы Delphi 0 21.07.2009 13:04
какие языки программирования и базы использовать? кто выпил мое пиво Помощь студентам 1 24.01.2009 13:45
Нахождение чисел в таблице базы данных на Delphi!, Помогите пожалуй Рина БД в Delphi 0 13.03.2007 19:21