Имя: Пароль:
1C
 
Убрать из строки символы табуляции.
,
0 kuznecovii
 
22.06.09
12:02
Уважаемые подскажите , что не так.

Вообщем получаю данные из таблицы Word-а. В обработку получаю строку таблицы и соответствующие ячейки пихаю куда надо. Но получилось что в ячейке при заполнении ручками ставят ентер ну и получается что моя строка получается много строчной :). Пытаюсь убрать все эти табуляции строчками кода

Стр = ЯчейкаИзВорда.Текст;
НоваяСтрока.Колонка1=СтрЗаменить(Стр,Символ(182)," ");

Но не получается как была табуляция так и осталась. Попробвал так

Стр = ЯчейкаИзВорда.Текст;
НоваяСтрока.Колонка1=СтрЗаменить(Стр,Символы.ПС," ");

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

Для Инд=2 По колСтроки Цикл
       Попытка
           НоваяСтрока = ТЗ.Добавить();
           НоваяСтрока.Автомобиль = Таблица.Cell(Инд,1).Range.Text;
           НоваяСтрока.Автомобиль = СтрЗаменить(НоваяСтрока.Автомобиль,Символы.ПС,"");
           НоваяСтрока.Топливо = Таблица.Cell(Инд,2).Range.Text;
           НоваяСтрока.Топливо = СтрЗаменить(НоваяСтрока.Топливо,Символы.ПС,"");
           НоваяСтрока.ЛитрНаСтоКм = Таблица.Cell(Инд,3).Range.Text;
           НоваяСтрока.ЛитрНаСтоКм = СтрЗаменить(НоваяСтрока.ЛитрНаСтоКм,Символы.ПС,"");
           НоваяСтрока.ЛитрНаМашЧ = Таблица.Cell(Инд,4).Range.Text;
           НоваяСтрока.ЛитрНаМашЧ = СтрЗаменить(НоваяСтрока.ЛитрНаМашЧ,Символы.ПС,"");
       Исключение
       КонецПопытки;
   КонецЦикла;
1 ТелепатБот
 
гуру
22.06.09
12:02
2 asady
 
22.06.09
12:08
а тупо в отладчике посмотреть какй код символа там набит не пробовал?
3 Puppets
 
22.06.09
12:09
Есть замечательное системное перечисление Символы
Символы (Chars)
Символы (Chars)
Значения
ВК (CR)
ВТаб (VTab)
НПП (NBSp)
ПС (LF)
ПФ (FF)
Таб (Tab)

Описание:
Определяет набор специальных символов. Значения этого набора имеют тип Строка.
4 skunk
 
22.06.09
12:11
если у вас 182 - это символ табуляци... то я испанский летчик
5 kuznecovii
 
22.06.09
12:12
дык вот в том то и дело что делал через КодСимвола(КопированиеВыералСимволСюда)
6 kuznecovii
 
22.06.09
12:12
Я согласен что вроде все как то непонятно
7 kuznecovii
 
22.06.09
12:13
Стр = ЯчейкаИзВорда.Текст;
НоваяСтрока.Колонка1=СтрЗаменить(Стр,Символ(182)," ");

Вот это у меня отрабатывает если на форму кинуть поле ввода и кинуть туда хреновую строку и вызвать код выше то у меня получается замечательная строка. Я не понимаю почему это не отрабатывает в цикле.
8 kuznecovii
 
22.06.09
12:15
Может это ворд вставляет символ с кодом 182 . Просто значек похожь на символ перевода на новую строку.¶
9 1СCовец
 
22.06.09
12:21
ЛитрНаСтоКм это ведь число у тебя?
тогда это скорее всего символ разделителя разрядов.
Формат()тебе поможет.
10 kuznecovii
 
22.06.09
12:23
неееее с числами то все норма
у меня проблема с тем что я выдераю наименование автомобиля а там есть еще типо комментариев к нему. Мне нужно как то выдерать правильно модель автомобиля потому как я буду затем на основании этой строчки выдерать из постонавления данные. Поэтому мне нужно из многострочной строки получить одну без ентеров.
11 1СCовец
 
22.06.09
12:26
попробуй так...
НоваяСтрока.ЛитрНаСтоКм = Формат(Таблица.Cell(Инд,3).Range.Text,"ЧГ=");
12 kuznecovii
 
22.06.09
12:27
Повторяю с ЛитрНаСтоКМ все норма , мне надо НоваяСтрока.Автомобиль получить без ентеров
13 kuznecovii
 
22.06.09
12:29
Вот строка

Машина коммунально-строительная многоцелевая  МКСМ-1000Н ¶(дв. НАТZ 3M41, 36,8 kW)¶    погрузка (разгрузка) грунтов I-II категории¶

надо получить

Машина коммунально-строительная многоцелевая  МКСМ-1000Н (дв. НАТZ 3M41, 36,8 kW)погрузка (разгрузка) грунтов I-II категории
14 1СCовец
 
22.06.09
12:31
Ну а нафига так делать
НоваяСтрока.Автомобиль = Таблица.Cell(Инд,1).Range.Text;
НоваяСтрока.Автомобиль = СтрЗаменить(НоваяСтрока.Автомобиль,Символы.ПС,"");

попробуй
сначала
автомобиль = Таблица.Cell(Инд,1).Range.Text;
а потом
НоваяСтрока.Автомобиль = автомобиль;

может ты когда первый раз присваиваешь я чейке тип многострочной строки
она потом у тебя такой и остается.
15 1СCовец
 
22.06.09
12:34
во второй строке вот так
НоваяСтрока.Автомобиль = СтрЗаменить(автомобиль,Символы.ПС,"");
16 kuznecovii
 
22.06.09
13:06
делал так таже фигня , но у меня мысля ишла что в коллекции Cell имеет ReadOnly поэтому брал временную переменную и игрался , но таже фигня
17 Serg_1960
 
22.06.09
13:12
НаСтоПостовХрени. Раз такая пьянка - режь последний огурец. Слабо по строке посимвольно пройти и показать коды символов?
18 Aprobator
 
22.06.09
13:14
Сделай тест. Выгрузи содержимое ячейки в ТекстовыйДокумент и затем считай свойство РазделительСтрок. дальше дело техники :)
19 Aprobator
 
22.06.09
13:19
+(18) потому как разделитель строк могет идти ВК (возврат каретки), ПС (перевод строки) или ВК + ПС.
20 Aprobator
 
22.06.09
13:24
¶ = код этого символа в самом деле 182. Если не получается его заменить (мало ли служебный символ не цепляется), но метод найти его видит, то сделай конструктор строки.
21 kuznecovii
 
22.06.09
14:18
17
Serg_1960 Так и сделал . Раз не идет стандарт функ значит напишем свою стандартную ;)
22 kuznecovii
 
22.06.09
14:32
а можно еще так

Функция УбратьХреньСимволы(Строка)
   Количество = СтрЧислоСтрок(Строка);
   Стр ="";
   Для Инд=0 по Количество-1 Цикл
       Стр = Стр + СтрПолучитьСтроку(Строка,Инд)+" ";    
   КонецЦикла;
   Возврат СокрЛП(Стр);
КонецФункции