// - .
for (int i=0; g_asData_Array[i][0]!="-1"; i++)
{
if (g_asData_Array[i][0].Pos(RadioButton_Cycle_Begin->Caption) != 0) i = iWrite_Block(i, 1, 1, asFile_Name); // .
else iWrite_Block(i, 1, 1, asFile_Name); // 1 .
ProgressBar_File->Position = (100 * i) / StringGrid_Blocks->RowCount;
}
//- .
int __fastcall TForm_Main::iWrite_Block(const int iBlock_Begin, int iBlock_Count, int iCycle_Count, const AnsiString asFile_Name)
{
int iBlocks_Maked = iBlock_Count; // , , .
Application->ProcessMessages();
if (g_bCancel) return StringGrid_Blocks->RowCount;
for (int i=iBlock_Begin; idiv>
{
// ().
// .
else if (g_asData_Array[i][0] == RadioButton_Cycle_Begin->Caption)
{
int iEnds_To_Skip = 0; // - .
iBlock_Count = 0;
iCycle_Count = slSplit(g_asData_Array[i][1], g_asSeparator)->Strings[1].ToInt();
while (iEnds_To_Skip == 0)
{
while (g_asData_Array[iBlock_Count+i][0] != RadioButton_Cycle_End->Caption)
{
if (g_asData_Array[iBlock_Count+i][0] == RadioButton_Cycle_Begin->Caption) iEnds_To_Skip++;
iBlock_Count++;
}
for (int j=0; j/*1.
{
iBlocks_Maked += iWrite_Block(iBlock_Begin+1, iBlock_Count-1, iCycle_Count, asFile_Name);
}
iEnds_To_Skip--;
}
//*1 ?
}
ProgressBar_Block->Position = (100 * i) / (iBlock_Begin + iBlock_Count);
}
return iBlock_Begin+iBlock_Count;
}