Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 мая 2024, 23:35

Как добавить пробелы

Автор Denka, 08 июл 2014, 09:00

0 Пользователей и 1 гость просматривают эту тему.

Denka

Добрый день. Я вывожу индекс, как мне програмно поставить пробелы между цифрами. Спасибо

freez1301

ДлинаСтрока = СтрДлина(СтрокаИндекс);
Для Счетчик = 1 По ДлинаСтрока Цикл
СтрокаСПробелами = Лев(СтрокаИндекс, Счетчик);
СтрокаСПробелами = СтрокаСПробелами + " " + Лев(СтрокаИндекс, Счетчик)
Счетчик = Счетчик +1;
КонецЦикла;

LexaK

так короче и понятнее,

СтрокаСПробелами="";
ДлинаСтроки = СтрДлина(СтрокаИндекс);
Для Счетчик = 1 По ДлинаСтроки Цикл
   СтрокаСПробелами = СтрокаСПробелами + Сред(СтрокаИндекс, Счетчик, 1)+ " ";
КонецЦикла;
если помогло нажмите: Спасибо!

Denka

Цитата: LexaK от 08 июл 2014, 09:57
так короче и понятнее,

СтрокаСПробелами="";
ДлинаСтроки = СтрДлина(СтрокаИндекс);
Для Счетчик = 1 По ДлинаСтроки Цикл
   СтрокаСПробелами = СтрокаСПробелами + Сред(СтрокаИндекс, Счетчик, 1)+ " ";
КонецЦикла;

не понятно)
Добавлено: 08 июл 2014, 10:38


Цитата: freez1301 от 08 июл 2014, 09:36
ДлинаСтрока = СтрДлина(СтрокаИндекс);
Для Счетчик = 1 По ДлинаСтрока Цикл
СтрокаСПробелами = Лев(СтрокаИндекс, Счетчик);
СтрокаСПробелами = СтрокаСПробелами + " " + Лев(СтрокаИндекс, Счетчик)
Счетчик = Счетчик +1;
КонецЦикла;
спасибо
Добавлено: 08 июл 2014, 10:39


Цитата: LexaK от 08 июл 2014, 09:57
так короче и понятнее,

СтрокаСПробелами="";
ДлинаСтроки = СтрДлина(СтрокаИндекс);
Для Счетчик = 1 По ДлинаСтроки Цикл
   СтрокаСПробелами = СтрокаСПробелами + Сред(СтрокаИндекс, Счетчик, 1)+ " ";
КонецЦикла;
что куда писать?не догоняю

LordWizard

С моей точки зрения строка с каждым пробелом увеличивается на 1 символ, поэтому мне кажется нужно учитывать символ или разбивать строку на массив символов, а затем складывать строку из массива добавляя пробел. Т.е. приблизительно знаем длину через СтрДлина(СокрЛП(ИсхСтрока)), а дальше уже работа с по разбиению и слиянию символов с пробелами.
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

LexaK

Цитироватьчто куда писать?не догоняю

... нас не догонят !!!

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

если индексы или другие строки надо частенько разбавлять пробелами, то лучше сделать экспортную функцию в общем модуле
Функция ВставитьПробелы(СтрокаБезПробелов)Экспорт
... (код см.выше)
Возврат СтрокаСПробелами;
КонецФункции

а у себя в программе пишите следующий код

ИндексСПробелами = ВставитьПробелы(Индекс);

если помогло нажмите: Спасибо!

Denka

Цитата: LexaK от 08 июл 2014, 11:08
Цитироватьчто куда писать?не догоняю

... нас не догонят !!!

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

если индексы или другие строки надо частенько разбавлять пробелами, то лучше сделать экспортную функцию в общем модуле
Функция ВставитьПробелы(СтрокаБезПробелов)Экспорт
... (код см.выше)
Возврат СтрокаСПробелами;
КонецФункции

а у себя в программе пишите следующий код

ИндексСПробелами = ВставитьПробелы(Индекс);


все разобрался спасибо

cska-fanat-kz

Цитата: LexaK от 08 июл 2014, 09:57
так короче и понятнее,

СтрокаСПробелами="";
ДлинаСтроки = СтрДлина(СтрокаИндекс);
Для Счетчик = 1 По ДлинаСтроки Цикл
   СтрокаСПробелами = СтрокаСПробелами + Сред(СтрокаИндекс, Счетчик, 1)+ " ";
КонецЦикла;


Тока надо не забыть "откусить" последний пробел тем же СокрЛП() ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK

ЦитироватьТока надо не забыть "откусить" последний пробел тем же СокрЛП()
Автор куда то на печать выводит такой "разбавленый" индекс, действительно что бы цифры не сливались, поэтому последний пробел не актуален, при печати его все равно не видно.
а если уже нормально писать "раздвижку" то надо еще контролировать и количество вставляемых пробелов (или задавать их количество параметром), что бы два раза(и более) нельзя было вставить больше нужного пробелов.
если помогло нажмите: Спасибо!

LordWizard

Цитата: LexaK от 09 июл 2014, 12:30
ЦитироватьТока надо не забыть "откусить" последний пробел тем же СокрЛП()
Автор куда то на печать выводит такой "разбавленый" индекс, действительно что бы цифры не сливались, поэтому последний пробел не актуален, при печати его все равно не видно.
а если уже нормально писать "раздвижку" то надо еще контролировать и количество вставляемых пробелов (или задавать их количество параметром), что бы два раза(и более) нельзя было вставить больше нужного пробелов.

Вот я и предложил разложить в массив символов, а потом пробежаться складывая бутербродом с пробелом массив символов. Например так

// получили массив индексов до этого из индекса разбиением на символы
СтрокаСпробелами = Массив[1];
Для Номер = 2 По (КонецМассива) Цикл
  СтрокаСпробелами = СтрокаСпробелами  + " " + Массив[Номер];
КонецЦикла;
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск