![]() |
|
Большая переменная типа Строка | ☑ | ||
---|---|---|---|---|
0
Nikoss
01.08.12
✎
07:38
|
Есть список значений с большим кол-вом записей. Каждая запись это строка. Как можно побыстрее склеить все в одну переменную?
Сейчас делаю так: Для каждого СтрокаСЗ Из СписокЗначений Цикл ОбщаяСтрока = ОбщаяСтрока + СтрокаСЗ.Значение; КонецЦикла; Что по скорости быстрее будет? Может массив или ТЗ с одной колонкой, вместо списка значений? (Конечно это все можно попробовать самому, но вдруг кто знает) |
|||
1
ДенисЧ
01.08.12
✎
07:40
|
да эквипенисуально.
Всё одно будет |
|||
2
Живой Ископаемый
01.08.12
✎
07:48
|
ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.УстановитьСтроку(); СериализаторXDTO.ЗаписатьXML(ЗаписьXML, СписокЗначений ); СтрокаXML = ЗаписьXML.Закрыть(); СтрокаXML= СтрЗаменить(СтрокаXML,"<Value xsi:type=""xs:string"">",""); СтрокаXML= СтрЗаменить(СтрокаXML,"</Value>",""); Сообщить(СтрокаXML); останется <Array xmlns="http://v8.1c.ru/8.1/data/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> sdgjklnksdg wsdgkmkgmksdf оитолитол лолплавиывап лолплоива </Array> Но можно красивее, но я еще не освоил XSLT |
|||
3
МихаилМ
01.08.12
✎
08:33
|
||||
4
H A D G E H O G s
01.08.12
✎
08:50
|
ЗаписьТекста может и побыстрее быть
|
|||
5
H A D G E H O G s
01.08.12
✎
08:51
|
Жалко нельзя обратиться к конкретному символу строки по индексу, или привести массив символов/чисел к строке.
|
|||
6
Serg_1960
01.08.12
✎
09:17
|
Просто так :)
Функция СтрСред(Строка, НачальныйНомер, ЧислоСимволов, НомерСтроки = 1) Возврат Сред(СтрПолучитьСтроку(Строка, НомерСтроки), НачальныйНомер, ЧислоСимволов); КонецФункции Процедура КнопкаВыполнитьНажатие(Кнопка) Строка = "123(это строка)"; Сообщить(СтрСред(Строка,1,3)); // "123" МногоСтрок = "123(это первая строка)" + Символы.ПС + "456(это вторая строка)" + Символы.ПС + "789(это третья строка)"; Сообщить(СтрСред(МногоСтрок,1,3,3)); // "789" Возврат; |
|||
7
H A D G E H O G s
01.08.12
✎
09:20
|
(6) Че это?
|
|||
8
Maxus43
01.08.12
✎
09:21
|
(7) это >>Просто так :)
|
|||
9
Serg_1960
01.08.12
✎
09:26
|
(7) Это пример написания своих "расширенний" функционала языка (во как загнул :)
Хочешь и твою "жалко нельзя" напишу :) |
|||
10
Serg_1960
01.08.12
✎
09:29
|
PS: Внедрение ЗУПа начинал с того, что исходные первоначальные данные мне предоставили в виде форматированного разделителями текста, таблиц экцеля и файлов ворда. Прикольно было из вордовских ведомостей начисления зарплаты вытаскивать данные попредыдущим начислениям зарплаты :)
|
|||
11
Nikoss
01.08.12
✎
10:27
|
Из вот этой темы: Эффективный способ конкатенации строк в 1С
Взял вариант с ADODB.Stream: быстрее стало в 7 раз. Пока этого достаточно. В (2), не стал проверять производительно этого метода. Не знаю что такое XDTO, быстрый пробег по СП сходу не дал понимания. Всем спасибо! Будет необходимость еще больше ускорять процесс, вернусь к этой теме. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |