Автор работы: Пользователь скрыл имя, 10 Июня 2013 в 20:51, доклад
Как пополнить базу данных (показать в коде, какие операторы выполняются, что с чем складывается?) Как добавляется последняя строчка?
При нажатии “Пополнить” вызывается функция:
Функция void __fastcall TForm1::Button1Click(TObject *Sender)
В ней:
1. Как пополнить базу данных (показать в коде, какие операторы выполняются, что с чем складывается?) Как добавляется последняя строчка?
При нажатии “Пополнить” вызывается функция:
Функция void __fastcall TForm1::Button1Click(TObject *Sender)
В ней:
// Идем в конец таблицы table->Last();
// Вставляем строку table->Insert();
// Редактируем строку table->Edit();
В цикле генерируем значение в заданном диапазоне dv*2 , прибавляем к значению для первой эпохи из этой колонки h0. Полученное значение округляем до 4 знаков после запятой.
// Сохраняем значение table->Post();
Почитай комментарии – там они есть буквально к каждой строчке.
При нажатии кнопки “Подключение к базе ”вызывается функция:
void __fastcall TForm1::Button5Click(TObject *Sender) { // Функция для подключения к БД
AnsiString BDName, s1, s2, s3;
if (OpenDialog1->Execute()) { ADOConnection1->Connected = false;
// Имя базы BDName = OpenDialog1->FileName;
// Строки соединения s1 = "Provider=Microsoft.Jet.OLEDB. s2 = ";Persist Security Info=False";
// Результирующая строка соединения s3 = s1 + BDName + s2;
// Подключение к БД ADOConnection1-> ADOConnection1->Connected = true;
// Сохранение спска таблиц ComboBox1->Clear(); ADOConnection1-> } }
Когда открываешь выпадающий список с именами таблиц, вызывается:
void __fastcall TForm1::ComboBox1Change( { // Выбор таблицы в БД
// Номер выбранной таблицы int i = ComboBox1->ItemIndex;
// Подключение таблицы ADOTable1->TableName = ComboBox1->Items->Strings[i]; ADOTable1->Active = true; }
В функции bool TForm1::raschetEpohi(int n, int block)
После расчета M, M+, M-, a, a+, a-
Значения добавляются на графики:
grafik1->AddArrow(m_m_prev, a_m_prev, m_m, a_m); grafik2->AddArrow(m_prev, a_prev, m, a); grafik3->AddArrow(m_p_prev, a_p_prev, m_p, a_p);
Двойной щелчок на графике в биледере, там уже смотри сам, все мышкой делается J
Для деления системы на блоки сделана 2 форма, чтобы ее показать (View->Forms->Form2). На ней 3 элемента типа ListBox.
При создании формы в Listbox2 заносятся все марки.
В Listbox1 хранятся названия блоков. При щелчке по блоку, в Listbox3 отображаются марки, содержащиеся в блоке.
Используется один двумерный массив marki[12][12]. Первый индекс (строка) – номер блока. Второй индекс (столбец) – номер марки Если марки нет в блоке, то значение в массиве = 0.
При удалении блока строка, соответствующая его номеру заполняется нулями.
При удалении марки из блока – соответствующей ячейке массива присваивается 0, при добавлении ей присваивается номер марки.
При нажатии стрелочек в одном ListBox удаляется элемент, в другой добавляется с таким же именем.
Для расчета m и a используются функции:
double TForm1::raschetA(int n, int block, double e, double m, double m0) и double TForm1::raschetM(int n, int block, double e)
block – номер блока (он-же номер строки в двумерном массиве)
е – точность, которую задает пользователь для нижней границы передается –e для верхней границы передается +e |