Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PZ_Ispravlennaya.doc
Скачиваний:
3
Добавлен:
18.09.2019
Размер:
1.06 Mб
Скачать

Продолжение приложения а

ProgressBar->Visible = true;

Task_DrawGraph->Enabled = true;

Task_ShowResult->Enabled = true;

}

//---------------------------------------------------------------------------

void __fastcall TFormMain::Task_ShowResultClick(TObject *Sender){

FormResult->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMain::Task_DrawGraphClick(TObject *Sender){

FormGraph->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMain::N3Click(TObject *Sender)

{

Form1->Show();

}

//---------------------------------------------------------------------------

FormDataUnit:

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "FormDataUnit.h"

#include "stdio.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormData *FormData;

extern float X[100], Y[100], H;

extern int Num;

//---------------------------------------------------------------------------

__fastcall TFormData::TFormData(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormData::ButtonLoadClick(TObject *Sender){

FILE* fr;

char* Name;

char s[80];

if (OpenDialog->Execute()){

Name = OpenDialog->FileName.c_str();

if((fr=fopen(Name,"r"))==NULL) ShowMessage("Невозможно открыть файл!!!");

else{

fscanf(fr,"%s%s%s%s%s%s%s%s%s%s%s%s",&s,&s,&s,&s,&s,&s,&s,&s,&s,&s,&s,&s);

fscanf(fr,"%s",&s); fscanf(fr,"%s",&s); EditX0->Text = s;

fscanf(fr,"%s",&s); fscanf(fr,"%s",&s); EditY0->Text = s;

fscanf(fr,"%s",&s); fscanf(fr,"%s",&s); EditXk->Text = s;

fscanf(fr,"%s",&s); fscanf(fr,"%s",&s); EditH->Text = s;

}

}

}

Продолжение приложения а

//---------------------------------------------------------------------------

void __fastcall TFormData::ButtonSaveClick(TObject *Sender){

FILE* fr;

char* Name;

if (EditX0->Text==""||EditY0->Text==""){

ShowMessage("Требуется ввести начальные условия");

return;

}

if (EditH->Text==""){

ShowMessage("Требуется ввести шаг интегрирования");

return;

}

if (EditXk->Text==""){

ShowMessage("Требуется ввести конец интервала");

return;

}

if (SaveDialog->Execute()){

Name=SaveDialog->FileName.c_str();

if((fr=fopen(Name,"w+t"))==NULL) ShowMessage("Невозможно создать файл!!!");

else {

fprintf(fr,"файл данных для решения уравнения явным многошаговым методом Нистрема третьего порядка точности");

fprintf(fr,"\nX0= %s Y0= %s", EditX0->Text, EditY0->Text);

fprintf(fr,"\nXk= %s", EditXk->Text);

fprintf(fr,"\nH= %s", EditH->Text);

fclose(fr);

}

}

}

//---------------------------------------------------------------------------

void __fastcall TFormData::ButtonApplyClick(TObject *Sender){

float xk;

if (EditX0->Text==""||EditY0->Text==""){

ShowMessage("Требуется ввести начальные условия");

return;

}

if (EditH->Text==""){

ShowMessage("Требуется ввести шаг интегрирования");

return;

}

if (EditXk->Text==""){

ShowMessage("Требуется ввести конец интервала");

return;

}

xk = StrToFloat(EditXk->Text);

if (!xk>StrToFloat(EditX0->Text)){

ShowMessage("Конечное значение интервала должно быть больше начального");

return;

}

H = StrToFloat(EditH->Text);

X[0] = StrToFloat(EditX0->Text);

Y[0] = StrToFloat(EditY0->Text);

Num = (xk - X[0])/H+1;

Close();

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]