Программирование

Автор работы: Пользователь скрыл имя, 10 Июня 2013 в 20:51, доклад

Краткое описание

Как пополнить базу данных (показать в коде, какие операторы выполняются, что с чем складывается?) Как добавляется последняя строчка?

При нажатии “Пополнить” вызывается функция:

Функция void __fastcall TForm1::Button1Click(TObject *Sender)

В ней:

Содержимое работы - 1 файл

Voprosy.docx

— 20.55 Кб (Скачать файл)

1. Как пополнить базу данных (показать  в коде, какие операторы выполняются,  что с чем складывается?) Как  добавляется последняя строчка?

 

При нажатии “Пополнить” вызывается функция:

 

Функция void __fastcall TForm1::Button1Click(TObject *Sender)

 

В ней:

 

// Идем в конец таблицы

 table->Last();

 

// Вставляем строку

table->Insert();

 

// Редактируем строку

table->Edit();

 

В цикле генерируем значение в заданном диапазоне dv*2 , прибавляем к значению для первой эпохи из этой колонки h0. Полученное значение округляем до 4 знаков после запятой.

 

// Сохраняем значение

 table->Post();

 

Почитай комментарии –  там они есть буквально к каждой строчке.

 
2. Как подключить базу данных  и открыть нужную таблицу? ( Показать  в коде)

 

При нажатии кнопки “Подключение к базе ”вызывается функция:

 

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.4.0;User ID=Admin;Data Source=";

     s2 = ";Persist Security Info=False";

 

        // Результирующая строка соединения

        s3 = s1 + BDName + s2;

 

        // Подключение к БД

     ADOConnection1->ConnectionString = s3;

     ADOConnection1->Connected = true;

 

        // Сохранение спска таблиц

     ComboBox1->Clear();

     ADOConnection1->GetTableNames(ComboBox1->Items);

    }

}

 

Когда открываешь выпадающий список с именами таблиц, вызывается:

 

void __fastcall TForm1::ComboBox1Change(TObject *Sender)

{

    // Выбор таблицы  в БД

 

// Номер выбранной таблицы

int i = ComboBox1->ItemIndex;

 

    // Подключение таблицы

ADOTable1->TableName = ComboBox1->Items->Strings[i];

ADOTable1->Active = true;

}

 

 

 

 

 

 

 

 

 
3. Как строятся графики верхней  и нижней границы М от А при определении устойчивости системы? (Показать в коде)

 

В функции 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);

 
4. Как настроить внешний вид  графиков (Легенда, подписи осей, формат вывода чисел на осях (как поменять кол-во знаков  после запятой?))

 

Двойной щелчок на графике  в биледере, там уже смотри сам, все мышкой делается J

 
5. Деление системы на блоки(2 уровень) (Какие массивы используются? Как происходит редактирование и заполнение ? Как разбивается?)

 

Для деления системы на блоки сделана 2 форма, чтобы ее показать (View->Forms->Form2). На ней 3 элемента типа ListBox.

 

При создании формы в Listbox2 заносятся все марки.

 

В Listbox1 хранятся названия блоков. При щелчке по блоку, в Listbox3 отображаются марки, содержащиеся в блоке.

 

Используется один двумерный  массив marki[12][12].

Первый индекс (строка) –  номер блока.

Второй индекс (столбец) –  номер марки

Если марки нет в  блоке, то значение в массиве = 0.

 

При удалении блока строка, соответствующая его номеру заполняется  нулями.

 

При удалении марки из блока  – соответствующей ячейке массива присваивается  0, при добавлении ей присваивается номер марки.

 

При нажатии стрелочек  в одном ListBox удаляется элемент, в другой добавляется с таким же именем.

 
6. Расчет верхней и нижней  границы М и А на втором уровне (показать в коде)

 

Для расчета 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

 


Информация о работе Программирование