String/Text functions 5 (WinRunner, TSL)
Parent page: Service Functions – String / WinRunner
CheckBox status value conversion
static const string_cb_state[] = {
"ON" = ON,
"OFF" = OFF,
"DIMMED" = DIMMED,
"TOGGLE" = TOGGLE
};
###
static const integer_cb_state[] = {
ON = "ON",
OFF = "OFF",
DIMMED = "DIMMED",
TOGGLE = "TOGGLE"
};
###
public function int_cb_state(in cb_state) {
auto rc;
rc = cb_state in string_cb_state;
if (rc)
return(string_cb_state[cb_state]);
else
return("");
}
###
public function str_cb_state(in cb_state) {
auto rc;
rc = cb_state in integer_cb_state;
if (rc)
return(integer_cb_state[cb_state]);
else
return("");
}
Boolean value conversion
public function bool2str(in bool_value) {
if (bool_value)
return("TRUE");
else
return("FALSE");
}
Execution Status value conversion
public function result2str(in res_value) {
auto s;
switch (res_value) {
case PASS: # 0
s = "PASS";
break;
case FAIL: # -1
s = "FAIL";
break;
case 1: # OK
s = "OK";
break;
default:
s = "";
}
return(s);
}
String-based Association to Dictionary conversion
public function str_args2dictionary(in args_str, inout dtDictionary[], in separator) {
auto i, c, arg, key, value, dtArray[], dtDefinition[];
if (args_str == "") return(E_NOT_FOUND);
if (separator == "") separator = _str_arg_separator;
c = split(args_str, dtArray, separator);
for (i=1;i<=c;i++) {
arg = dtArray[i];
split(arg, dtDefinition, "=");
key = str_trim(dtDefinition[1]);
value = str_trim(dtDefinition[2]);
dtDictionary[key] = value;
delete dtDefinition[];
}
return(E_OK);
}
String-based data Set to Array conversion
public function str_enum2vector(in enum_str, inout dtVector[], in format_str) {
auto i, c, dtArray[], s;
if (enum_str == "") return(E_NOT_FOUND);
if (format_str == "") format_str = "%s";
c = split(enum_str, dtArray, ",");
delete dtVector[];
for (i=1;i<=c;i++) {
s = str_trim(dtArray[i]);
if (is_number(s) == E_OK)
dtVector[i] = sprintf(format_str, s);
else
dtVector[i] = s;
}
dtVector[0] = c;
return(E_OK);
}

