Имя: Пароль:
1C
1C 7.7
v7: Как убрать символы.
0 roalang
 
03.04.13
07:08
Доброй день. Считываю с ДБФ столбец со значениями:
г. "название города", 654789, ул. "название улицы",д. 34, кв. 7 или г. "название города", ул. "название улицы",д. 34, кв. 7.

Подскажите как убрать название города и индекс, чтобы получилось название улицы, дом и квартира.
1 Wobland
 
03.04.13
07:10
по пробелам. найти первый, отрезать левее, конец цикла.
2 Mikeware
 
03.04.13
07:11
(1) или стандартное глРазложить, а потом обратно собрать из последних...
3 kosts
 
03.04.13
07:14
(0) с = Заменить(с, ",", символ_переноса_строки);
Ул = функция получить cтроку по номеру строки(с, 2);
4 roalang
 
03.04.13
07:16
дело в том, в ДБФ-ке и может быть строка с индексом, а может быть т олько название городы и дальше идет улица, как сделать проверку.
5 Wobland
 
03.04.13
07:16
теперь пусть автор сам думает, как понять, что третий элемент массива - индекс
6 Wobland
 
03.04.13
07:20
предлагаю внимательно посмотреть на код первого символа
7 kosts
 
03.04.13
07:21
(4)

Если Вопрос("" + с + " это индекс? ", ДаНет) = Да Тогда
   Сообщить("Это индекс");
ИначеЕсли Вопрос("" + с + " это улица? ", ДаНет) = Да Тогда
   Сообщить("Это улица");
Иначе
   Сообщить("Я не знаю что это");
КонецЕсли;
8 roalang
 
03.04.13
07:34
adr =СокрП(ФайлБазы.ПолучитьЗначениеПоля("ADDR"));    
       
п = Лев(adr, Найти("г. Мыски"," " )-8);

у меня получаеются пустые кавычки
9 Wobland
 
03.04.13
07:35
(8) никогда не задумывался, буду знать. при отрицательном значении второго параметра Лев возвращает пустую строку
10 roalang
 
03.04.13
07:35
точнее пусто значение
11 Wobland
 
03.04.13
07:36
(10) точнее, пустая строка. в адр ищи, а не в мысках
12 roalang
 
03.04.13
07:45
adr =СокрП(ФайлБазы.ПолучитьЗначениеПоля("ADDR"));    
п = Лев(adr, Найти(adr,"," ) -1);

получилось г. Мыски
13 Wobland
 
03.04.13
07:49
(12) поздравляю!
14 Wobland
 
03.04.13
08:00
стр="г. Носки, 654789, ул. Хренулица, д. 34, кв. 7";
стр1="г. Носки, ул. Хренулица, д. 34, кв. 7";
стр=СтрЗаменить(стр, ",", "");
стр=СтрЗаменить(стр, " ", Символы.ПС);
ЕстьИндекс=КодСимвола(СокрЛП(СтрПолучитьСтроку(стр, 3)));
ЕстьИндекс=ЕстьИндекс>=48 И ЕстьИндекс<=57;

Улица=СокрЛП(СтрПолучитьСтроку(стр, 4+ЕстьИндекс));
Дом=СокрЛП(СтрПолучитьСтроку(стр, 6+ЕстьИндекс));
Квартир=СокрЛП(СтрПолучитьСтроку(стр, 8+ЕстьИндекс));
Сообщить(Улица+"_"+Дом+"_"+Квартир);
15 ЧеловекДуши
 
03.04.13
08:32
(0) Единственным способом, запретить вводить произвольный адрес. Т.е. хранить в БД адрес в каком либо формате, либо по КЛАДР-у, либо по реквизитам, но что бы всегда было понятно, что и откуда.

А так, никак :)