11.10.2008, 18:48 | #1 |
Участник
|
// Выделить цифры из текстовой переменной
Вот есть функция на Delphi. Выделить числа из стринговой переменной Код: function ExtractNumber(const S:string):string; var I:Integer; begin Result:=''; if Trim(S)='' then Exit; for I:=1 to Length(S) Do if S[I] in ['0'..'9'] then Result := Result + S[I]; end; S := ExtractNumber('-?/ 123CE4N5A6'); {a S contain '123456'} Не могу сообразить как написать подобную для Nav. |
|
11.10.2008, 22:49 | #2 |
MCTS
|
По-моему также.
Код: textfrom:='-?/ 123CE4N5A6'; //это типа передан параметр. IF textfrom='' then //проверка на пустоту строки. exit; textto:=''; //сюда будет помещен результат FOR iii:=1 to STRLEN(textfrom) do //строка это массив типа Char. IF textfrom[iii] in ['0','1','2','3','4','5','6','7','8','9'] then //проверяем каждые элемент массива, на вхождение в интересующий нас набор символов. textto+=format(textfrom[iii]); //при положительном результате добавляем его к результирующей строке. message(textto); //показываем результат. |
|
12.10.2008, 09:44 | #3 |
Участник
|
Или так:
NewString := DELCHR(OldString, '=', DELCHR(OldString, '=', '0123456789')) |
|
12.10.2008, 10:32 | #4 |
MCTS
|
Шикарно
|
|
12.10.2008, 20:16 | #5 |
Участник
|
Огромное спасибо, шикарно. Все проблемы решены одной строчкой кода, спасибо.
|
|
13.10.2008, 09:31 | #6 |
Участник
|
Еще есть:
EVALUATE (Variable) Use this function to evaluate a string representation of a value into its normal representation. The system assigns the result to a variable. [Ok :=] EVALUATE(Variable, String[, Number]) Variable Data type: boolean, integer, option, date, time, text constant, code or GUID. Any type of variable. The value of the string is assigned to the variable. String Data type: text constant or code A string containing a value of any simple C/AL data type. |
|
13.10.2008, 18:06 | #7 |
Участник
|
Цитата:
Сообщение от LOGIC
// Выделить цифры из текстовой переменной
Вот есть функция на Delphi. Выделить числа из стринговой переменной Код: function ExtractNumber(const S:string):string; var I:Integer; begin Result:=''; if Trim(S)='' then Exit; for I:=1 to Length(S) Do if S[I] in ['0'..'9'] then Result := Result + S[I]; end; S := ExtractNumber('-?/ 123CE4N5A6'); {a S contain '123456'} Не могу сообразить как написать подобную для Nav. |
|