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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.08.2012, 12:55   #1  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,514 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Для таких ветвлений кмк лучше switch использовать. он как-то понагляднее
__________________
С уважением,
Вячеслав
Старый 10.08.2012, 12:59   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от pitersky Посмотреть сообщение
Для таких ветвлений кмк лучше switch использовать. он как-то понагляднее
Вот уж чего здесь точно не нужно! Вообще-то, здесь вообще нет ветвления. Просто последовательное создание разрядности.


X++:
str 1024  strDuration;
;

// Сначала формируем секунды
// Ограничение на меньше 59999 - смысла не имеет, поскольку в противном случае
// нужна еще ветка по формированию часов и минут, если значение больше 59999
if (duration > 999)
{
    strDuration = Int2Str(duration div 1000) + " с ";
}

// Теперь формируем миллисекунды
strDuration += Int2Str(duration mod 1000) + " мс";

testPerfomanceTable.Duration2 = strDuration;
Другими словами, никакого ветвления. Просто последовательное формирование разрядов от старших к младшим
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 10.08.2012, 13:13   #3  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,514 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Вот уж чего здесь точно не нужно! Вообще-то, здесь вообще нет ветвления. Просто последовательное создание разрядности.
если нет ветвления, то switch по определению не нужен. а нужен он там, где ветвление есть и его не обойти. как будто десяток вложенных else if выглядит лучше...
__________________
С уважением,
Вячеслав
Старый 10.08.2012, 13:57   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от pitersky Посмотреть сообщение
если нет ветвления, то switch по определению не нужен. а нужен он там, где ветвление есть и его не обойти. как будто десяток вложенных else if выглядит лучше...
Проблема в том, что если здесь использовать swith, то это будет switch (true). Надеюсь, Вы не предлагаете 59999 case писать А конструкция switch (true) однозначно указывает на ошибку проектирования. Такая конструкция - это то же самое, что и десяток вложенных else if, но "вид сбоку" И то и другое выглядит "не естесственно". Как следствие, возникает желание проверить логику на предмет отказа от ветвления. Проверил. Не нужна она в данном случае.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Arijit Basu: Dynamics AX 2009 Bulk Data insert using SSIS Blog bot DAX Blogs 0 09.03.2010 10:05
method insert() when insert table from outside susenyudha DAX in English 1 29.08.2008 18:51
axaptapedia: Howto insert a menu reference into the MainMenu Blog bot DAX Blogs 0 03.08.2007 23:20
Про Insert, DoInsert и IAxaptaRecord::Insert murad DAX: Программирование 5 23.05.2006 12:26
Не работает Insert_Recordset Yprit DAX: Программирование 21 06.10.2004 12:02

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:54.