// // Generate Specific Position's Support Comment // index is number of Supports ... string GenerateSupportSignalComment( ulong ticket, // Position/Order Ticket int index // Support Index ... ) { // string result = ""; // result = XSupportToken + "(" + (string)ticket + "," + ToString(index) + ")"; // return result; } // // Extract Support Parameters String from specified Comment ... string ExtractSupportParam(string comment) { // string result = ""; if (StringLen(comment) <= 0) { return result; } // result = ExtractString( comment, XSupportToken + "(", ")"); // return result; } // // Extract Support Info as String array for Specific Comment ... bool ExtractSupportParams( string comment, // Specified Comment ... string ¶ms[] // Hold Result ... ) { // bool result = false; // string supParam = ExtractSupportParam(comment); if (StringLen(supParam) == 0) { return result; } // SplitContent( params, supParam); int paramsCount = ArraySize(params); // result = paramsCount == 2; // return result; } // // Extract Support Parent Ticket ... ulong ExtractParentTicket(string comment) { // ulong result = 0; // string params[]; bool isSupport = ExtractSupportParams( comment, params); if (!isSupport) { return result; } // result = (ulong)params[0]; // return result; } // // Extract Support Index ... int ExtractSupportIndex(string comment) { // int result = -1; // string params[]; bool isSupport = ExtractSupportParams( comment, params); if (!isSupport) { return result; } // result = (int)params[1]; // return result; } // string GenerateSLTrailComment(int level) { // string result = ""; // if (level <= 0) { return result; } // result = XSLTrailToken + "(" + ToString(level) + ")"; // return result; } // int ExtractSLTrailLevel(string comment) { // int result = 0; // if (StringLen(comment) == 0) { return result; } // string levelStr = ExtractString( comment, XSLTrailToken + "(", ")"); if (StringLen(levelStr) == 0) { return result; } // result = (int)levelStr; // return result; } // string PrepareSLTrailComment( const string comment // Original Position Comment ... ) { // string result = ""; // if (StringLen(comment) == 0) { return result; } // int level = 0; result = comment; // // Check Comment Contains SL Trailing or not ... int lastTrailLevel = ExtractSLTrailLevel(comment); if (lastTrailLevel <= 0) { level++; } else { // level = lastTrailLevel + 1; string lastLevelStr = GenerateSLTrailComment(lastTrailLevel); StringReplace( result, lastLevelStr, ""); } // // Generate level Comment ... string levelStr = GenerateSLTrailComment(level); result += levelStr; // return result; }