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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.09.2004, 23:39   #17  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Символ в строке
Цитата:
Изначально опубликовано Smith
Есть строка

,,Казань,,Татарстан,11,,38

Надо из нее выдернуть город (после двух запятых), улицу (после 4-х запятых) и т.д.
Не, это программистский подход.

Без программирования задача должна ставится следующим образом: есть клиент - узнать из адреса его город и улицу. Адрес строится согласно адресного формата.

Теперь и только теперь в дело вступает программист.

Во-первых, не надо ничего программировать и ничего никуда переводить, не надо никаких строк.
Во-вторых, смотрим стандартный функционал. Есть map AddressMap. У него есть метод AddressMap.loadFields(). Этот метод возвращает контейнер [address, streetName, zipCodeId, city, countryId, stateId, countyId].
Вот и юзайте этот стандартный метод.

В сторону и про себя: вот бы локализаторы вместо того, чтобы городить свои мапы, нормально расширили бы станадртные...

Тогда вызов будут выглядеть так:
PHP код:
Containter c;
custTable.AddressMap::loadFields()
infoconpeek(c4) ); // город
infoconpeek(c2) ); // улица 
Метод будет работать с ЛЮБЫМ адресным форматом!

Если же вы все такие поторопились и у вас есть только строка, то можно выкрутиться следующим образом - присвоить эту строку новой записи. Не забудьте указать страну.

PHP код:
Container c;
CustTable custTable;
;
custTable.country 'RU'// укажите код России в вашей базе
custTable.address ", , , Казань, Татарстан, 11, , 38";
custTable.AddressMap::loadFields();
infoconpeek(c4) ); // город
infoconpeek(c2) ); // улица 
Обратите внимание, что строка должна полностью соответствовать адресному формату. Так у меня в качестве разделителей указана запятая с пробелом ", ". Поэтому в строке мне пришлось добавить пробелы и передвинуть Казань на четвертую позицию...
Теги
textbuffer, адресный формат, законченный пример, разбор строки

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
сумма по строке закупки Nikolaich DAX: Программирование 2 03.04.2007 13:37
Как достать символ из шрифта по коду ? DTD DAX: Программирование 1 01.02.2006 17:19
Как программно изменить к-во в строке заказа в форме SalesTable BorDark DAX: Программирование 2 13.01.2005 17:02
Ловим \ в строке Smith DAX: Программирование 2 10.09.2004 16:09
Скидка по строке и многострочная скидка efim DAX: Функционал 0 18.06.2003 16:32

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

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

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