Имя: Пароль:
1C
1C 7.7
v7: Разбить строку на несколько
,
0 MagicFly
 
16.10.14
14:12
Всем доброго времени суток! :))
   Подскажите, пожалуйста, как можно разбить строку на несколько строк.
   Задача следующая: вывожу в окно сообщений текстовую переменную, но она не помещается в окно и хотелось бы узнать, как можно перенести ее на другую строку?
1 MagicFly
 
16.10.14
14:12
Сейчас я прописываю Сообщить(СокрЛП(Прич))
2 Asmody
 
16.10.14
14:13
например, так же, как вводятся тексты запросов, через |
или добавлять Символы.ПС
3 NS
 
16.10.14
14:15
(1)
Прич=сокрлп(Прич);
Пока стрдлина(Прич)>0 Цикл
  сообщить(Лев(Прич,мин(80,стрдлина(Прич))));
  Прич=сред(Прич,мин(80,стрдлина(Прич))+1);
КонецЦикла;
4 lavalit
 
16.10.14
15:16
РазделительСтрок в помощь.... ставь его например каждые 80 символов в твою длинную строку и будет тебе в окне сообщений многострочное чудо)))
5 lavalit
 
16.10.14
15:16
(0) соедини с (3) получишь решение
6 PR
 
16.10.14
15:22
(0) Если телепат меня не подводит, то никак
7 User_Agronom
 
16.10.14
15:24
(6) Да ладно! Если есть конкретная строка, то можно посчитать её длину (даже с учетом того, что ширина символов разная)
8 PR
 
16.10.14
15:25
(7) И чо?
9 lavalit
 
16.10.14
15:30
(6) не лги царю... можно
10 PR
 
16.10.14
15:39
(9) Можно для выведенного в окно сообщений текста настроить автоперенос на другую строку как, например, в блокноте?
11 Ёпрст
 
16.10.14
15:45
(10) с помощью вк, да, можно
12 palpetrovich
 
16.10.14
15:49
(10) про автоперенос вроде никто ничего не говорил, а это вполне себе работает:
сообщить("первая
|вторая"
13 PR
 
16.10.14
15:49
(11) С помощью ВК можно и спутник в космос запустить.
14 PR
 
16.10.14
15:50
(12) Читай внимательно (6), первые 5 слов
15 lavalit
 
16.10.14
15:50
(10) вопрос был "как можно перенести ее на другую строку?" а не про настройки окна сообщений...)))
16 PR
 
16.10.14
15:51
(15) И тебе (14) :))
17 lavalit
 
16.10.14
15:52
(10) ответ использовать РазделительСтрок
18 lavalit
 
16.10.14
15:52
))))))))))))))))
19 palpetrovich
 
16.10.14
15:57
(14) читаю как манрту "Если телепат меня не подводит" ...прозрение не приходит ...не всем дано наверное :(
20 MagicFly
 
16.10.14
16:02
(17) а что, с помощью РазделительСтрок и вправду можно автоперенос осуществить?
21 lavalit
 
16.10.14
16:04
проверь сам  выведи такое Сообщить("Привет+РазделительСтрок+"СноваПривет");
и можешь зрить аккурат две строки с табле сообщений)))
22 lavalit
 
16.10.14
16:05
ту главное в нужные места впихнуть этот самый разденитель строк)))
23 User_Agronom
 
16.10.14
16:05
(8) Если он знает ширину окна вывода, он сможет её резать.
24 lavalit
 
16.10.14
16:07
923) ну конечно можно заморочиться с вычислением размера окна и соответственно этого самого табла... главное, что можно выводить многострочно в принципе своем...
25 lavalit
 
16.10.14
16:08
Формексом можно смотретьразмер текущего окошка программы...
26 MagicFly
 
16.10.14
16:09
РазделительСтрок действует только  когда ты знаешь в каком месте его ставить
27 PR
 
16.10.14
16:09
(23) И чо? Я про автоперенос предположил, а не про перенос текста при выводе после каждого количества символов.
28 lavalit
 
16.10.14
16:09
плюс-минус сколько занимает символ н аекране.. делить и получить количество символов с втроке... минус процента 2-3 на свякие там "широкие" буквы типа ш-м-ж-щ и т.д. и все .. останется заняться пиханием управсимвола куда надо))))
29 PR
 
16.10.14
16:10
(26) Ну, то есть мой телепат пашет?
30 lavalit
 
16.10.14
16:12
а при чем телепат? пашет конечно только изначально ты подумал про автоперенос в табле.. потом кинуло тебя  в настройки табла.. и все... ответ был верным "никак"... то есть если  бы не свернул чуток от курса))) получил бы друго ответ)))
31 PR
 
16.10.14
16:13
(30) Я только про автоперенос и говорил и говорю.
32 lavalit
 
16.10.14
16:14
(29) но вопрос то был иной)))) не про автоперенос))))
сктати знаешь принцип автопилота? Чем чаще ошибается тем точнее летит)))) ну если совсем верно чем чаще проверяет отклюение от курса и корректирует полет)))))
33 lavalit
 
16.10.14
16:15
(31) если только про автоперенос то таки да.. телепат не ошибся. автопереноса там нет . .его надо  прикручиватьсамому))))
34 MagicFly
 
16.10.14
16:16
а вот как узнать в каком месте ставить РазделительСтрок?
35 PR
 
16.10.14
16:20
(34) Ставь через каждые пять символов, точно все уместится.
36 Ёпрст
 
16.10.14
16:24
(35) добрый ты..
делай так,чтоб наверняка:

стр = стрЗаменить(стр," ","" "");
сообщить(стр);
37 NS
 
16.10.14
16:40
(7) Принято в строке сообщений использовать моноширинный шрифт.
38 Злопчинский
 
16.10.14
17:12
Принято вообще писать интерфейсы чтобы от изменения размеров системных шрифтов - все нормально было.. а в натуре - фигняс частенько выходит..
39 User_Agronom
 
16.10.14
17:16
(31) Увольняй телепата.
40 MagicFly
 
17.10.14
09:04
А вобще у меня есть на форме многострочное поле ввода, в котором записывается текст. Так вот, с этим полем не совсем удобно работать, так как там не все сразу отображается и приходится листать. Как вариант я выбрал выводить этот текст в окно сообщений, но может можно это еще каким то образом решить?
41 lavalit
 
17.10.14
11:48
ну решил что ли задачку?
42 NS
 
17.10.14
12:05
(40) Так выведи в "Таблицу" по кнопке.
И будет тебе автоматический перенос.
43 MagicFly
 
17.10.14
12:17
(41) нет, это у меня было изначально (40)
44 MagicFly
 
17.10.14
12:19
можно было бы расширить банальным образом поле ввода, но у меня ограничено место на форме, из-за этого такая канитель происходит
45 lavalit
 
17.10.14
12:23
в почте лови...
46 lavalit
 
17.10.14
12:23
покуролесишь немного и подточишь под себя))
47 MagicFly
 
17.10.14
13:04
ок, спс
48 lavalit
 
17.10.14
13:27
не за что главное, что бы помогло))
49 lavalit
 
17.10.14
13:27
потом отпиши че там и как оно?))))
50 MagicFly
 
17.10.14
13:31
(49)Я вставил это в документ к себе, но при переносе он слава обрывает
51 MagicFly
 
17.10.14
13:32
Это почти тоже что было в (3)
52 MagicFly
 
17.10.14
13:32
я при том. когда в табло выводит))
53 lavalit
 
17.10.14
13:34
ну да.. то о чем я писал в (5)
54 MagicFly
 
17.10.14
13:35
(49)А давай я тебе скину свою базу, могу даже только md-ник
55 MagicFly
 
17.10.14
13:36
и ты посмотришь как это выглядит хотя бы для понимания сути задачи
56 lavalit
 
17.10.14
13:36
(50) а вот про слова обрывает... просто не стал морочиться.. ет уже сам думаю справишься... проверяй, если разделитель попадает на слово, то двигай разделитель либо вперед либо назад... до ближайшего пробела... тогда будет красившее
57 lavalit
 
17.10.14
13:37
базу не надо .. мд достаточно
58 NS
 
17.10.14
13:40
Чем (42) Не устраивает? Три строчки кода.
59 MagicFly
 
17.10.14
13:41
(58) что ты подразумеваешь под таблицей?
60 NS
 
17.10.14
13:51
(59) В 1С только один объект "Таблица"
таб=создатьобъект("Таблица");