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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.10.2012, 15:23   #1  
Caramba is offline
Caramba
Участник
Аватар для Caramba
 
24 / 12 (1) ++
Регистрация: 01.08.2011
служебные символы
Существует ли возможность в константу(макрос) прописать строку со всеми служебными символами от 1 до 31
Старый 17.10.2012, 15:30   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
интересно зачем? А что это за символы от 1 до 31?

Последний раз редактировалось Sada; 17.10.2012 в 15:34.
Старый 17.10.2012, 15:36   #3  
Caramba is offline
Caramba
Участник
Аватар для Caramba
 
24 / 12 (1) ++
Регистрация: 01.08.2011
от 1 до 31 - коды символов. смотрите тему
Старый 17.10.2012, 15:40   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,651 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
X++:
    #localmacro.ListSpecSymbol
        num2char(1)+
        num2char(2)+
        num2char(3)
    #endmacro

    print strLen(#ListSpecSymbol);
    pause;
    return;
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 17.10.2012, 15:41   #5  
Caramba is offline
Caramba
Участник
Аватар для Caramba
 
24 / 12 (1) ++
Регистрация: 01.08.2011
Нужен метод который будет удалять из некой строки служебные символы. Хочу поместить строку со служебными символами в макрос, чтобы каждый раз циклом не формировать
Старый 17.10.2012, 15:43   #6  
Caramba is offline
Caramba
Участник
Аватар для Caramba
 
24 / 12 (1) ++
Регистрация: 01.08.2011
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
X++:
    #localmacro.ListSpecSymbol
        num2char(1)+
        num2char(2)+
        num2char(3)
    #endmacro

    print strLen(#ListSpecSymbol);
    pause;
    return;
тогда легче циклом
Старый 17.10.2012, 15:50   #7  
Jorj is offline
Jorj
Участник
Аватар для Jorj
 
11 / 14 (1) ++
Регистрация: 03.10.2006
Адрес: Киев
Может использовать стандартную функцию StrRem и макрос как параметр?
__________________
Не принимайте жизнь всерьез - это временное явление...
Старый 17.10.2012, 15:55   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,651 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Служебные символы потому и называются "служебными", что, как правило, не имеют графического отображения. Нет символа, который можно было бы указать. Только код.

Цитата:
Сообщение от Caramba Посмотреть сообщение
Нужен метод который будет удалять из некой строки служебные символы.
Можно сделать наоборот. Составить список допустимых символов. И использовать strKeep() чтобы удалить лишнее

X++:
str strAvailable = '0123456789';
str strValue = 'xx000ddd555sdf8tt9';
;

print strValue;
print strKeep(strValue, strAvailable);
pause;
return;
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 17.10.2012, 15:56   #9  
Caramba is offline
Caramba
Участник
Аватар для Caramba
 
24 / 12 (1) ++
Регистрация: 01.08.2011
Цитата:
Сообщение от Jorj Посмотреть сообщение
Может использовать стандартную функцию StrRem и макрос как параметр?
это понятно.
я и спрашиваю, есть ли возможность поместить в макрос строку со всеми этими символами?
Старый 17.10.2012, 16:00   #10  
Caramba is offline
Caramba
Участник
Аватар для Caramba
 
24 / 12 (1) ++
Регистрация: 01.08.2011
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Можно сделать наоборот. Составить список допустимых символов
А если допустимые символу - это те у которых код больше 32. Большой список получится
Старый 17.10.2012, 16:02   #11  
Caramba is offline
Caramba
Участник
Аватар для Caramba
 
24 / 12 (1) ++
Регистрация: 01.08.2011
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Служебные символы потому и называются "служебными", что, как правило, не имеют графического отображения.
[/XPP]
Значит формирование строки, при помощи цикла от 1 до 31 - самый оптимальный вариант?
Старый 17.10.2012, 16:17   #12  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,651 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Похоже, Вы оцениваете "правильность" (оптимальность) кода по количеству символов

Но здесь возникают следующие вопросы:

- какая разница сколько символов будет в макросе, если Вы его напишите только один раз?
- как Вы будете решать проблему, если понадобяться символы вне цикла? Например, "неразрывный пробел" ASCII = 160
- всего ASCII-кодов 255. Даже если перечислить все печатные символы общий объем будет если не меньше, то, сопоставим с написанием цикла. Так какие претензии к списку допустимых символов?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 17.10.2012, 16:30   #13  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
скорее всего из вводимых данных пользователем нужно вырезать перевод каретки А все служебные символы - это на всякий случай
Теги
macros, макрос

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Служебные строковые константы в метках Logger DAX: Программирование 7 31.01.2012 19:31
Атрибуты XML и некоторые символы (AX4) kia DAX: Программирование 1 29.01.2010 12:32
Oracle(сортировка + символы) Swetik DAX: Администрирование 2 01.07.2005 14:05
Специальные символы Sirius DAX: Программирование 4 25.08.2004 12:44
Символы для шаблона ном. серий и вообще edd DAX: Функционал 1 13.02.2003 15:03
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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