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

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

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2012, 17:40   #1
Nikolay88_xx
 
Регистрация: 21.02.2012
Сообщений: 3
По умолчанию Выполнение расчета по одному нажатию Кнопки.

Привет всем! помогите пожалуйста разобраться. Я делаю расчеты по Таблице. Но мне приходиться
2 раза нажимать на одну и ту же кнопку, чтобы весь расчет был полностью завершен.
при втором нажатии на кнопку срабатывает эта функция.
DataSource2->DataSet->FieldByName("Plastik")->Value = floor(Plastik);
Как избежать двойного нажатия на кнопку?
я даже в конце кода поставил Button3->OnClick; чтобы он сам себя кликал.
Button3->OnClick; Но не срабатывает. Вот мой пример Кода:

void __fastcall TForm1::Button3Click(TObject *Sender)
{
float Nalog,S,S2,Zarplata,Plastik,Nalichk a;
Table2->First();
while(!Table2->Eof)
{
S = (Table2Oklad->Value)/(Table2PrivChasi->Value);
S2 = S*(Table2OtRChasi->Value);
Nalog = (Table2PodohodNalog->Value + Table2PenFond->Value
+ Table2ProFsouz->Value+Table2Alimenti->Value+Table2PenNak->Value)*(0.01)* S2;
Zarplata = S2-(Nalog)-(Table2Svet->Value+Table2Gaz->Value+Table2Subbotnik->Value);
Plastik = Zarplata*(0.01)*(StrToInt(Table2Pla stic->Text));
Nalichka = Zarplata -Plastik;
DataSource2->DataSet->Edit();

DataSource2->DataSet->FieldByName("Plastik")->Value = floor(Plastik);
DataSource2->DataSet->FieldByName("KViplate")->Value = floor(Nalichka);
// if (DataSource2->DataSet->FieldByName("KViplate")->Value <=0 )
{
DataSource2->DataSet->FieldByName("KViplate")->Value = 0;
}
// DataSource2->DataSet->FieldByName("PodSum")->Value = floor(S2*(Table2PodohodNalog->Value)*(0.01));
DataSource2->DataSet->FieldByName("PenFSum")->Value = floor(S2*(Table2PenFond->Value)*(0.01));
DataSource2->DataSet->FieldByName("ProFSum")->Value = floor(S2*(Table2ProFsouz->Value)*(0.01));
DataSource2->DataSet->FieldByName("PenNakSum")->Value = floor(S2*(Table2PenNak->Value)*(0.01));
DataSource2->DataSet->FieldByName("AlimSum")->Value = floor(S2*(Table2Alimenti->Value)*(0.01));
DataSource2->DataSet->FieldByName("Nachisleno")->Value = floor(S2);

if (Table2PodohodNalog->Text == Form3->DBEdit8->Text)
{
DataSource2->DataSet->FieldByName("PodSum")->Value = floor((0.01)*(S2)*StrToInt(Form3->DBEdit8->Text));
}
if (Table2PodohodNalog->Text == Form3->DBEdit9->Text)
{
DataSource2->DataSet->FieldByName("PodSum")->Value = floor((S2)*(0.01)*StrToInt(Form3->DBEdit9->Text)) - floor((0.3)*StrToInt(Form3->DBEdit7->Text));
}
if (Table2PodohodNalog->Text == Form3->DBEdit10->Text)
{
DataSource2->DataSet->FieldByName("PodSum")->Value = floor((S2)*(0.01)*StrToInt(Form3->DBEdit10->Text)) - floor((0.9)*StrToInt(Form3->DBEdit7->Text));
}
DataSource2->DataSet->Post();
Table2->Next();
}
Table2->First();
Button3->OnClick;
Button3->OnClick;
}

Все ровно приходиться 2 раза нажимать.
Помогите советами. Заранее Благодарю.

Даже в базе Acces тоже самое приходиться два раза нажимать на кнопку, чтобы расчет полностью
выполнился. Может сам DataSet не рассчитан для таких операций. Может есть другой способ задать
цикл для всей таблице.
Nikolay88_xx вне форума Ответить с цитированием
Старый 22.02.2012, 17:43   #2
Nikolay88_xx
 
Регистрация: 21.02.2012
Сообщений: 3
По умолчанию

Ну это явно не в компиляторе и не в операционке дело. Помогите советами очень прошу.
Nikolay88_xx вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FormCloseQuery по нажатию кнопки bulldog5293 Общие вопросы Delphi 3 17.10.2011 15:37
по нажатию кнопки на 2 форме перезагружалась 1 Linore Общие вопросы .NET 2 28.02.2010 22:20
Показать окно по нажатию кнопки L.A.M.E.R. Общие вопросы Delphi 6 20.07.2009 22:22
Передача фокуса по нажатию кнопки Ch00kan0ff Общие вопросы C/C++ 2 27.03.2009 20:53
Сортировка по нажатию кнопки Nate-p Microsoft Office Access 2 25.06.2008 08:35