e, amp; bytesRead, 0); (! bReadWriteError) return true; (hFile); teg;
//Позиція в файлеpositionStart; GroupSpecification=FALSE; K=29, T=32; ((m_sPattern == ГрупСпец_Ф1_gost-B_0-9 ) || ((m_sPattern == ГрупСпец_Ф1_gost- _ 10-19 )) || ((m_sPattern == ГрупСпец_Ф1_gost-B_20-29 )))
{= TRUE;=10;=19;
}
//Counter_of_lines - вважає кількість тегів в xml-файлеcounter=Counter_of_lines (fileBuffer, fileSize, K, T);
//[0] - Позиція першого символу тега section або рядки розташовується на початку//кінці таблиці
//[1] - Визначає, що це секція або рядок, яку необхідно перенести
//[2] - Визначає колічство додаються рядків перед об'єктом section ** positionSectionStart=new DWORD * [counter]; (DWORD n=0; n lt; counter; n ++) [n]=new DWORD [3]; * positionSectionEnd=new DWORD [counter]; positionLineEnd, positionStampBefore=0; section10_29=- 1, ** positionSection10_29; _29=new DWORD * [counter]; (DWORD n=0; n lt; counter; n ++) _ 29 [n]=new DWORD [2]; sizeLine10_29=0; kline_before=1, kline_after=2; (m_yes_kline == TRUE)
{_ before=m_kline_before; _after=m_kline_after;
}
//Кількість секційsection=0; line=0, kline, nline=0; bSection=false; bLine=false; sLine []= lt; line FORM=" amp; # 160 ; "/ gt; raquo ;; sizeLine=sizeof (sLine) - 1;// Мінус завершальний символ
//Загальний розмір рядків додаються до і після разделовsizeAllLine=0; (DWORD i=0; i lt; fileSize; i ++)
{(fileBuffer [i] == lt; )
{= i; {++; (fileBuffer [i]!= )
{(fileBuffer [i + 1]!= ) teg +=fileBuffer [i];
{+=fileBuffer [i]; (teg == section )
{[section] [0]=positionStart; [section] [1]=0; ++; +=sizeLine * AddLine_BeforeAfter (positionSection10_29,
amp; section10_29, amp; line, kline_before, kline_after, positionSectionStart, section, K, T);=true;
} (teg == line )
{++; ((line == K) || (((line-K)% T == 0) amp; amp; (line gt; K)))
{copyline; (copyline. GetBufferSetLength (sizeLine)
, amp; fileBuffer [positionStart], sizeLine); (CStringA (copyline)!= CStringA (sLine))
{[section] [0]=positionStart; [section] [1]=2; +=2; _29 +=sizeLine * 2; ++; ++;
}
} ((line == (K + 1)) || (((line- (K + 1))% T == 0) amp; amp; (line gt; (K + 1))))
{copyline; (copyline. GetBufferSetLength (sizeLine), amp; fileBuffer
[positionStart], sizeLine); (CStringA (copyline)!=CStringA (sLine))
{[section] [0]=positionStart; [section] [1]=1; ++; ++; _ 29 +=sizeLine; ++;
}
}=true;
} (teg == stamp )
{= raquo ;; {++; +=fileBuffer [i]; (teg == kline_before )
{= raquo ;; {++; ((fileBuffer [i] == " ) amp; amp; (m_yes_kline == FALSE)) _ before=atoi ( amp ; fileBuffer [i + 1]);
} while (fileBuffer [i]!= " );
} (teg == kline_after )
{= raquo ;; {++; ((fileBuffer [i] == " ) amp; amp; (m_yes_kline == FALSE)) _ after=atoi ( amp ; fileBuffer [i + 1]);
} while (fileBuffer [i]!= " );
} (fileBuffer [i] == ) teg= raquo ;;
//Шукаємо закриває символ елемента stamp (fileBuffer [i] == gt; )=i;
} while (fileBuffer [i]!= gt; );
}
}
} ((bSection == true) amp; amp; (fileBuffer [i] == gt; ))
{[section]=i + 1; ++;
} ((bLine == true) amp; amp; (fileBuffer [i] == gt; ))=i + 1;
} while (fileBuffer [i]!= gt; );=false;=false;= raquo ;;
}
} dPage;
//Расщітиваем число додаються рядків (GroupSpecification)
{(line gt; 10)
{= kline=(line - 10)/19;=line - 10 - kline * 19;=19 - kline;// Kline - шукане число рядків
} kline=10 - line;
}
{
//line містить загальне кількість переглянутих рядків (line gt; 29)
{= kline=(line - 29)/32;=line - 29 - kline * 32;=32 - kline;// Kline - шукане число рядків
} else kline=29 - line;
} sizeLine_after=sizeLine * klin...