[后退] [返回首页] 复盘侠MTCommander(MTDriver)用户手册 [切换到电脑版] [复制网址]

StrToInteger用来将字符串中的某个字符,转换为int类型,可用来做比较用等.用法如下:



 

 

 


bool GetHoursAndMinutes(string time_string, int& hours, int& minutes, int& time)
{
 if (StringLen(time_string) == 4) time_string = "0" + time_string;
 


 if (
  // Wrong length.
  (StringLen(time_string) != 5) ||
  // Wrong separator.
  (time_string[2] != ':') ||
  // Wrong first number (only 24 hours in a day).
  ((time_string[0] < '0') || (time_string[0] > '2')) ||
  // 00 to 09 and 10 to 19.
  (((time_string[0] == '0') || (time_string[0] == '1')) && ((time_string[1] < '0') || (time_string[1] > '9'))) ||
  // 20 to 23.
  ((time_string[0] == '2') && ((time_string[1] < '0') || (time_string[1] > '3'))) ||
  // 0M to 5M.
  ((time_string[3] < '0') || (time_string[3] > '5')) ||
  // M0 to M9.
  ((time_string[4] < '0') || (time_string[4] > '9'))
  )
   {
      Print("Wrong time string: ", time_string, ". Please use HH:MM format.");
      return(false);
   }

   string result[];
   int number_of_substrings = StringSplit(time_string, ':', result);
   hours = (int)StringToInteger(result[0]);
   minutes = (int)StringToInteger(result[1]);
   time = hours * 60 + minutes;
  
   return(true);
}

  ------> 

int get_int_char(string my_string,int start_pos=0){  
   int AAA = StrToInteger(StringSubstr(my_string, start_pos, 1));  
   return AAA;
}

 

bool GetHoursAndMinutes(string time_string, int& hours, int& minutes, int& time)
{
 if (StringLen(time_string) == 4) time_string = "0" + time_string;
 

 if (
  // Wrong length.
  (StringLen(time_string) != 5) ||
  // Wrong separator.
  (get_int_char(time_string,2) != ':') ||
  // Wrong first number (only 24 hours in a day).
  ((get_int_char(time_string,0) < '0') || (get_int_char(time_string,0) > '2')) ||
  // 00 to 09 and 10 to 19.
  (((get_int_char(time_string,0) == '0') || (get_int_char(time_string,0) == '1')) && ((get_int_char(time_string,1) < '0') || (get_int_char(time_string,1) > '9'))) ||
  // 20 to 23.
  ((get_int_char(time_string,0) == '2') && ((get_int_char(time_string,1) < '0') || (get_int_char(time_string,1) > '3'))) ||
  // 0M to 5M.
  ((get_int_char(time_string,3) < '0') || (get_int_char(time_string,3) > '5')) ||
  // M0 to M9.
  ((get_int_char(time_string,4) < '0') || (get_int_char(time_string,4) > '9'))
  )
   {
      Print("Wrong time string: ", time_string, ". Please use HH:MM format.");
      return(false); 
 }
 

  string result[];
   int number_of_substrings = StringSplit(time_string, ':', result);
   hours = (int)StringToInteger(result[0]);
   minutes = (int)StringToInteger(result[1]);
   time = hours * 60 + minutes;
  
   return(true);
}


[后退] [返回首页] 复盘侠MTCommander(MTDriver)用户手册 [切换到电脑版] [复制网址]