Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Отчеты по практике » Розробка програми контролю виробів і підготовка програмної документації

Реферат Розробка програми контролю виробів і підготовка програмної документації





NodeAccess (i) -> GetNode (0) -> GetNodeValue ())) {

(* ModuleList) [0]. version_count = ThirdLevelNodeAccess (i) -> GetCount () - 1;

for (j = 0; j <(* ModuleList) [0]. Version_count; j + +) {

(* ModuleList) [0]. version [j] = new TVersion;

(* ModuleList) [0]. version [j] -> address = StrToInt (FourthLevelNodeAccess (i, j +1) -> GetNode (0) -> NodeValue);

(* ModuleList) [0]. version [j] -> value = StrToInt (FourthLevelNodeAccess (i, j +1) -> GetNode (1) -> NodeValue);

(* ModuleList) [0]. version [j] -> type = StrToInt (FourthLevelNodeAccess (i, j +1) -> GetNode (2) -> NodeValue);

(* ModuleList) [0]. version [j] -> description =

}

break;

}

}

/* LOG-> Add ((* ModuleList) [0]. name + AnsiString ("") + (* ModuleList) [0]. Baseaddress);

for (i = 0; i <(* ModuleList) [0]. Version_count; i + +) {

LOG-> Add ((* ModuleList) [0]. version [i] -> address);

LOG-> Add ((* ModuleList) [0]. version [i] -> value);

LOG-> Add ((* ModuleList) [0]. version [i] -> type);

} */

}

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

unsigned int _fastcall get_version (unsigned int BaseAddress, unsigned int type)// зчитуємо версію з модуля

{

unsigned short i, j;

unsigned short SHsum;// контрольна сума

unsigned char * pTarget = new unsigned char [10];

unsigned char * pReceived;

unsigned short MessageSize = 6;

unsigned int version;

ComPort = new TCom ("COM2", 115200);

i = ComPort-> link_on ();

if (i) {

MessageBox (NULL, AnsiString (i). c_str (), "Помилка ініціалізації порту", MB_OK);

return 0;

}

pTarget [0] = 0x31;

pTarget [1] = (unsigned char) (MessageSize);// молодший байт

pTarget [2] = (unsigned char) (MessageSize>> 8);// старший байт

pTarget [3] = 0x04;

pTarget [4] = (unsigned char) type;

* (int *) (pTarget + 0x05) = BaseAddress;

version = 0;

SHsum = 0x0;

for (i = 3; i <= 8; i + + ) {SHsum + = pTarget [i];}// підрахунок КС

// MessageBox (NULL, AnsiString (SHsum). C_str (), "Контрольна сума", MB_OK);

pTarget [9] = (unsigned char) (SHsum) ;//молодший байт

pTarget [10] = (unsigned char) (SHsum>> 8) ;//старший байт

ComPort-> write (pTarget, 3 + MessageSize +2);

delete [] pTarget;

Sleep (100);

i = ComPort-> read ();

if (i> 0)

{

// MessageBox (NULL, AnsiString (i). C_str (), "Прийнято байт", MB_OK);

pReceived = ComPort-> get_receiver_ptr ();// Зчитуємо отримане значення

if (pReceived [0]! = 0x55 | | pReceived [1] ! = 0xAA) {

MessageBox (NULL, pReceived, "Помилка", MB_OK);

return 0;

}

// накладення масок

switch (type) {

case 1:

version = (unsigned int) (* (char * ) (PReceived + 5)) &0x000000FF;

break;

case 2:

version = (unsigned int) (* (short * ) (PReceived + 5)) &0x0000FFFF;

break;

case 4:

version = (unsigned int) * (int * ) (PReceived + 5);

break;

default:

version = (unsigned int) (* (short * ) (PReceived + 5)) &0x0000FFFF;

break;

}

}

ComPort-> link_off ();

return version;

}

__fastcall Executing :: Executing (bool CreateSuspended)// конструктор

: TThread (CreateSuspended)

{

end = false;// мітка закінчення = хибно

}

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

int __ fastcall get_correction (PCorrection * CorrectionList)//Обробка файлу виправлень

{

int i = 0;

int j = 0;

int n = 0;

int correction_counter = 0;// кількість виправлень

FILE * CorrectFilePtr;// файл з виправленнями

char tempchar = '';

char * tempFile;// масив під файл з сіправленіямі

char control_buff [20];// масив знаків пунктуації

if ((CorrectFilePtr = fopen ("corrections.txt", "r")) == NULL) {

return 0;

}

// дізнаємося розмір файлу і виділяємо тимчасовий масив під файл

fseek (CorrectFilePtr, 0L, SEEK_END);

n = ftell (CorrectFilePtr);

fseek (CorrectFilePtr, 0L, SEEK_SET);

tempFile = new char [n];

// виправляємо можливі помилки пунктуації

while (tempchar == ' n' | | tempchar == '') {

tempchar = fgetc (CorrectFilePtr);

}

tempFile [0] = tempchar;

i = 1;

while (1) {

tempchar = fgetc (CorrectFilePtr);

if (tempchar == ' n') {

continue;

}

if (tempchar == '') {

continue;

}

if (tempchar == '=') {

control_buff [j] = t...


Назад | сторінка 6 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Ukrainian break-through in the European and World strategy of individual pr ...
  • Реферат на тему: Return to materialism
  • Реферат на тему: Організаційно-економічна характеристика ТОВ &Байт-сервіс&
  • Реферат на тему: Практична обробка безлічі даних, що представляють собою масив покажчиків на ...
  • Реферат на тему: Бураковський-Аганозерского відшарований масив Заонежья