-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathim58hello.cpp
136 lines (128 loc) · 4.36 KB
/
im58hello.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//---------------------------------------------------------------------------
#pragma hdrstop
#include "im58main.h"
#include "im58serial.h"
#include "im58about.h"
#include "im58drive.h"
#include "im58recorder.h"
#include "im58hello.h"
#include "im58auto.h"
#include "im58testsettings.h"
#include "im58results.h"
#include "im58who.h"
#include "im58heights.h"
#include "im58archive.h"
extern HANDLE hThread;
extern HANDLE hRead1;
extern HANDLE hRead2;
extern HANDLE hSend1;
extern HANDLE hSend2;
extern DWORD WINAPI thSend1(LPVOID);
extern bool inputState;
extern bool port1Closed,port2Closed;
extern TTest test;
extern TTest currentTest;
extern int globalID;
bool ResumeTest=false;
int ResumeBrakeCount;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "_GClass"
#pragma link "AbLED"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form9->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form8->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Form5->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
test.clutch(false);
test.drive(false);
test.setCurrent(1,0);
if(!port1Closed)comPort1Close();
if(!port2Closed)comPort2Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form10->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Application->Terminate();
// Form3->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
Form10->ADODataSet2->Active=true;
int id=Form10->ADODataSet2Expr1000->AsInteger;//îí ñàì íàçâàë ïîëå òàê. Â íåì õðàíèòñÿ èä ïîñëåäíåé çàïèñè
Form10->ADODataSet2->Active=false;
ADODataSet1->CommandText="select * from every where id="+IntToStr(id)+" order by brakeID asc";
ADODataSet1->Active=true;
ADODataSet2->CommandText="select * from widths where id="+IntToStr(id);
ADODataSet2->Active=true;
for(int i=1;i<=10;i++)
{
if(ADODataSet1->FieldByName("speed")->Value==0)
{
//åñëè â êàêîé-òî çàïèñè êàêîå-òî ïîëå, íàïð.ñêîðîñòü, ñîäåðæèò 0, çíà÷èò
//ýòî è ïîñëåäóþùåå òîðìîæåíèå íå ïðîâîäèëîñü. Ïðåäëàãàåì íà÷àòü ñ íåãî
switch(MessageBox(NULL,"Ïîñëåäíåå èñïûòàíèå íå çàâåðøåíî. Æåëàåòå ïðîäîëæèòü?","Åñòü íåçàâåðøåííîå èñïûòàíèå",MB_ICONQUESTION|MB_YESNO|MB_SYSTEMMODAL))
{
case ID_YES:
globalID=id;
ResumeTest=true;
ResumeBrakeCount=ADODataSet1->FieldByName("brakeID")->Value;
ADODataSet1->Active=false;
currentTest.brakecount=ResumeBrakeCount+5;
test.brakecount=ResumeBrakeCount+5;
//ïîëó÷åíèå òîëùèí îáðàçöîâ ïîñëå ïðèòèðêè, èçìåðåííûõ â ïîñëåäíåì èñïûòàíèè
for(int j=1;j<=Form3->StringGrid1->RowCount;j++)
{
Form3->StringGrid1->Cells[1][j]=ADODataSet2->FieldByName("wobr"+IntToStr(i))->Value;
}
for(int j=1;j<=Form3->StringGrid2->RowCount;j++)
{
Form3->StringGrid2->Cells[1][j]=ADODataSet2->FieldByName("wc"+IntToStr(i))->Value;
}
Form4->RichEdit1->Lines->Add("Èñïûòàíèå áóäåò âîçîáíîâëåíî ñ çà÷åòíîãî òîðìîæåíèÿ ¹"+IntToStr(ResumeBrakeCount)+". \r\nÓñòàíîâèòå ñâÿçü, âêëþ÷èòå ïðèâîä, âûáåðèòå ïðîãðàììó èñïûòàíèÿ è íàæìèòå Ñòàðò.");
ADODataSet2->Active=false;
Form4->Show();
return;
case ID_NO:
ADODataSet1->Active=false;
return;
}
}
else
{
ADODataSet1->RecNo++;
}
}
}
//---------------------------------------------------------------------------