48888 (Розробка програмного забезпечення системи збору даних про хід та параметри технологічного процесу), страница 5
Описание файла
Документ из архива "Розробка програмного забезпечення системи збору даних про хід та параметри технологічного процесу", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48888"
Текст 5 страницы из документа "48888"
return;
}
if (time_tEnd < time_tBegin)
{
Application->MessageBoxA("Конечное время меньше начального", "Error!", MB_OK);
Form1->Button3->Enabled = TRUE;
return;
}
iTypeUVM = Form1->ComboBox1->ItemIndex + 1;
//Формирование шапки таблицы
if (iTypeUVM == 1)
{
StringGrid1->Cells[7][0] = "Скорость 1";
StringGrid1->Cells[8][0] = "Скорость 2";
StringGrid1->Cells[9][0] = "Темпер. 1";
StringGrid1->Cells[10][0] = "Темпер. 2";
StringGrid1->Cells[11][0] = "Темпер. 3";
StringGrid1->Cells[12][0] = "Вес 1";
StringGrid1->Cells[13][0] = "Вес 2";
StringGrid1->Cells[14][0] = "Вес 3";
StringGrid1->Cells[15][0] = "Длина 1";
StringGrid1->Cells[16][0] = "Длина 2";
}
else
{
StringGrid1->Cells[7][0] = "Скорость 1";
StringGrid1->Cells[8][0] = "Скорость 2";
StringGrid1->Cells[9][0] = "Скорость 3";
StringGrid1->Cells[10][0] = "Темпер. 1";
StringGrid1->Cells[11][0] = "Темпер. 2";
StringGrid1->Cells[12][0] = "Вес 1";
StringGrid1->Cells[13][0] = "Вес 2";
StringGrid1->Cells[14][0] = "Вес 3";
StringGrid1->Cells[15][0] = "Вес 4";
StringGrid1->Cells[16][0] = "Длина";
}
//формирование и отсылка запроса на диапазон времён
reqRange.typeRequest = 2;
reqRange.typeSender = 5;
reqRange.lengthPack = sizeof (requestRange);
reqRange.iTypeUVM = iTypeUVM;
reqRange.tBegin = time_tBegin;
reqRange.tEnd = time_tEnd;
nLeft = reqRange.lengthPack;
idx = 0;
while(nLeft > 0)
{
ret = send(sClient, ((char *)&reqRange) + idx, nLeft, 0);
if (ret == SOCKET_ERROR)
{
Application->MessageBoxA("Ошибка отправки запроса на приём данных", "Error!", MB_OK);
CloseClientSocket();
return;
}
nLeft -= ret;
idx += ret;
}
//приём от сервера кол-ва записей входяих в диапазон
nLeft = sizeof(packageServer);
idx = 0;
while(nLeft > 0)
{
ret = recv(sClient, ((char *)&packServ)+idx, nLeft, 0);
if ((ret == SOCKET_ERROR)||(ret == 0))
{
Application->MessageBoxA("Ошибка приёма количества данных", "Error!", MB_OK);
CloseClientSocket();
return;
}
nLeft -= ret;
idx += ret;
}
if (packServ.AmountPacks == 0)
{
Application->MessageBoxA("Нет данных в заданном диапазоне времени", "Error!", MB_OK);
Form1->Button3->Enabled = TRUE;
return;
}
//приём в цикле записей
StringGrid1->RowCount = packServ.AmountPacks+1;
for (i = 0; i { if (iTypeUVM == 1) nLeft = sizeof(package1); else nLeft = sizeof(package2); idx = 0; while(nLeft > 0) { if (iTypeUVM == 1) ret = recv(sClient, ((char *)&pack1)+idx, nLeft, 0); else ret = recv(sClient, ((char *)&pack2)+idx, nLeft, 0); if ((ret == SOCKET_ERROR)||(ret == 0)) { Application->MessageBoxA("Ошибка приёма структуры данных", "Error!", MB_OK); CloseClientSocket(); return; } nLeft -= ret; idx += ret; }//while //отображение полученной записи StringGrid1->Cells[0][i+1] = i+1; if (iTypeUVM == 1) tmTime = localtime(&pack1.time); else tmTime = localtime(&pack2.time); StringGrid1->Cells[1][i+1] = (*tmTime).tm_year+1900; StringGrid1->Cells[2][i+1] = (*tmTime).tm_mon; StringGrid1->Cells[3][i+1] = (*tmTime).tm_mday+1; StringGrid1->Cells[4][i+1] = (*tmTime).tm_hour; StringGrid1->Cells[5][i+1] = (*tmTime).tm_min; StringGrid1->Cells[6][i+1] = (*tmTime).tm_sec; if (iTypeUVM == 1) { StringGrid1->Cells[7][i+1] = pack1.speed1; StringGrid1->Cells[8][i+1] = pack1.speed2; StringGrid1->Cells[9][i+1] = pack1.temperature1; StringGrid1->Cells[10][i+1] = pack1.temperature2; StringGrid1->Cells[11][i+1] = pack1.temperature3; StringGrid1->Cells[12][i+1] = pack1.weight1; StringGrid1->Cells[13][i+1] = pack1.weight2; StringGrid1->Cells[14][i+1] = pack1.weight3; StringGrid1->Cells[15][i+1] = pack1.length2; StringGrid1->Cells[16][i+1] = pack1.length2; } else { StringGrid1->Cells[7][i+1] = pack2.speed1; StringGrid1->Cells[8][i+1] = pack2.speed2; StringGrid1->Cells[9][i+1] = pack2.speed3; StringGrid1->Cells[10][i+1] = pack2.temperature1; StringGrid1->Cells[11][i+1] = pack2.temperature2; StringGrid1->Cells[12][i+1] = pack2.weight1; StringGrid1->Cells[13][i+1] = pack2.weight2; StringGrid1->Cells[14][i+1] = pack2.weight3; StringGrid1->Cells[15][i+1] = pack2.weight4; StringGrid1->Cells[16][i+1] = pack2.length; } }//for Form1->Button3->Enabled = TRUE; } //---------------------------------------------------------------------------