AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.10.2008, 18:48   #1  
LOGIC_BBS is offline
LOGIC_BBS
Участник
 
61 / 10 (1) +
Регистрация: 14.12.2005
// Выделить цифры из текстовой переменной

Вот есть функция на 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  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
По-моему также.


Код:
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  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Или так:
NewString := DELCHR(OldString, '=', DELCHR(OldString, '=', '0123456789'))
Старый 12.10.2008, 20:16   #5  
LOGIC_BBS is offline
LOGIC_BBS
Участник
 
61 / 10 (1) +
Регистрация: 14.12.2005
Огромное спасибо, шикарно. Все проблемы решены одной строчкой кода, спасибо.
Старый 13.10.2008, 09:31   #6  
Karo is offline
Karo
Участник
 
16 / 10 (1) +
Регистрация: 27.04.2003
Адрес: Москва
Еще есть:

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  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от 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.
А чем не подходит как пример аналог ReadNumeral из CU1?
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:29.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.