Имя: Пароль:
1C
1C 7.7
v7: Строку длиннее 256 символов в 7.7 в текстовый файл
0 НастоящееИмя
 
14.12.11
13:23
Подскажите, может ли платформа 7.7 записать строку длинной >256 символов в текстовый файл? Понятно, что в отладчике её не увидишь, да и метод Сообщить() не понятно - работает или нет.
1 zak555
 
14.12.11
13:23
может
2 filh
 
14.12.11
13:43
можно
3 andrewks
 
14.12.11
13:48
(0) не верь никому кроме меня. на самом деле - может

:)
4 ЧеловекДуши
 
14.12.11
13:49
Я разрешаю :)
5 ЧеловекДуши
 
14.12.11
13:51
+ Сообщить() действительно имеет ограничение, но и это решается через 1С++, там выставляешь нужные параметры и длинные строки начинают разбиваться на мелкие. :)
6 andrewks
 
14.12.11
14:51
(0) кстати, если тебе понадобится записывать реально большие строки (больше нескольких мегов), тебе очень пригодится adodb
7 1Сергей
 
14.12.11
14:52
(6) + brain.dll
8 MagTux
 
14.12.11
14:59
(7) brain.sys
9 andrewks
 
14.12.11
15:07
(8) учи матчасть.

dnk.sys, а brain.dll

ещё есть компонента  hands.ocx, и её усовершенствованная версия direct_hands.ocx
10 antoneus
 
14.12.11
15:27
(9) не dna.sys разве?
11 filh
 
14.12.11
16:35
(10) deoxyribonucleic acid?
12 andrewks
 
14.12.11
20:28
(10) ага, очепятался
13 НастоящееИмя
 
15.12.11
16:17
(4) Ну разрешения я не спрашивал :). Все получилось без всяких дээлэллок :)
14 ПиН
 
15.12.11
16:24
dnkberhwjhk.dll все разрешает, даже 10 в 20 степени строчку...
15 Vladal
 
15.12.11
16:28
НастоящееИмя
Я тут анекдот вспомнил про регистрацию чловека с ником "Какой тут нафих еще ник указать?"
16 Vladal
 
15.12.11
16:30
(13) Поделись, как?
Откусывал кусочек по 255 символов, потом кусал следующий кусочек?

Я когда-то так делал - надо было вывести текст запроса, а он был одной строкой из-за вертикальных палок. Тоже ругался.
17 Vladal
 
15.12.11
16:32
(13) Понимаешь, когда-то модераторы эти посты с ДНК и разрешениями потрут, а останется твой полезный - как ты это сделал.
На память потомкам.
18 FN
 
15.12.11
16:40
(0) легко. 100мб одной строкой пишет не напрягаясь. Скорее всего ступит только после того как памяти не хватит...
19 andrewks
 
15.12.11
16:42
(18) нифига. где-то на 4-5 мегах (емнип) начинает вылетать с ошибкой
20 Vladal
 
15.12.11
16:43
(18) Программно он прочитает.
А вот вывести - может затупить.
Хотя в реквизите типа строки неограниченной длины всё работает.
Проверял на наименовании более 300 символов.
21 FN
 
15.12.11
16:43
(19) проверь

ТекстОбычный=СоздатьОбъект("Текст");
   стрПерем="1";
   Пока СтрДлина(стрПерем)<15000000 Цикл
       Сообщить(СтрДлина(стрПерем));
       ТекстОбычный.Очистить();
       ТекстОбычный.ДобавитьСтроку(стрПерем);
       ТекстОбычный.Записать("C:\test.txt");
       стрПерем=стрПерем+стрПерем;
   КонецЦикла;
22 andrewks
 
15.12.11
16:47
(21) ну да, если тупо записать, то, может быть, и прокатит. а если начать текстовые функции юзать - вылетает точно, это я очень хорошо помню, потому как пришлось извращаться через jscript
23 Vladal
 
15.12.11
16:51
(21) Ага. Тупо жрёт оперативную память. Враз > 250 метров съел. Сейчас

Сообщить(стрПерем);

Или Найти(стрПерем, "999999999");
24 andrewks
 
15.12.11
17:01
(23) телепатирую:
первым вылетит  с предупреждением Сообщить(), потом Найти() вылетит с ошибкой на какую-то виндовую длл, вроде mfc
25 Злопчинский
 
16.12.11
04:26
(5) как?
26 НастоящееИмя
 
16.12.11
12:44
(16) Ну, во-первых, мне эту строку не надо никуда выводить. Только записать в файл и всё. А в коде, да, есть одна строка, её тупо надо прописывать(т.е. в ней нет переменных), пришлось разбивать по 255
AdBlock убивает бесплатный контент. 1Сергей