|
Чтение текстового файла "не лету" | ☑ | ||
---|---|---|---|---|
0
Кондидат В
09.02.15
✎
09:34
|
Всем привет!
Имеется программа, которые пишет в текстовый файл. Прочитать и разобрать уже записанный файл не проблема. Хотелось бы обсудить, как лучше реализовать чтение на лету (как это делает FAR) |
|||
1
eklmn
гуру
09.02.15
✎
09:36
|
только через ВК
|
|||
2
mikecool
09.02.15
✎
09:36
|
постоянно переоткрывать?
|
|||
3
eklmn
гуру
09.02.15
✎
09:36
|
(2) ну некоторые это могут )
|
|||
4
1Сергей
09.02.15
✎
09:38
|
(1) не обязательно. Можно через TextStream
|
|||
5
Кондидат В
09.02.15
✎
09:54
|
Оказалось все просто
Текст =Новый ЧтениеТекста; Текст.Открыть(Имя,,,,ЛОЖЬ); Пока ИСТИНА Цикл ОбработкаПрерыванияПользователя(); Стр =Текст.ПрочитатьСтроку(); Если Стр = Неопределено Тогда Продолжить; КонецЕсли; Сообщить(Стр); КонецЦикла |
|||
6
Лохматые Уши
09.02.15
✎
10:00
|
(5) Молодец!
|
|||
7
Кондидат В
09.02.15
✎
10:02
|
Вопрос №2. Каке запустить ее фоном??
|
|||
8
eklmn
гуру
09.02.15
✎
10:06
|
это называется "сдохнуть от цикла"
|
|||
9
Кондидат В
09.02.15
✎
10:07
|
(8) ну так в (7) у меня и вопрос соответствующий.
|
|||
10
Vovan1975
09.02.15
✎
10:09
|
это жесть, я считаю
|
|||
11
eklmn
гуру
09.02.15
✎
10:13
|
(10) это не просто жесть, это называеться "больное воображение" )
|
|||
12
Кондидат В
09.02.15
✎
10:17
|
Я так понимаю, что ОбработкаПрерыванияПользователя(); тут кое кому ни о чем не говорит... а все туда же...
|
|||
13
b_ru
09.02.15
✎
10:18
|
Не нужно так делать. Лучше сделать регламентное задание, которое раз в 5(или сколько нужно) минут будет читать файл обычным образом.
|
|||
14
Vovan1975
09.02.15
✎
10:18
|
вот глядя на эти ветки начинаешь проникаться полезностью высшего образования
|
|||
15
piter3
09.02.15
✎
10:19
|
(12)как связаны Каке запустить ее фоном?? и ОбработкаПрерыванияПользователя?
|
|||
16
1Сергей
09.02.15
✎
10:19
|
(14) сказал чел, игнорирующий знаки препинания...
|
|||
17
Провинциальный 1сник
09.02.15
✎
10:19
|
(13) А если файл состоит из пары гигабайт?
Реализация в (5) вполне допустима, только надо всё-таки вставлять паузы, а не задалбывать процессор пустым циклом. |
|||
18
Vovan1975
09.02.15
✎
10:23
|
(16) я не работаю журналистом или каким еще писателем
|
|||
19
Vovan1975
09.02.15
✎
10:24
|
(17) реализация в (5) это бесконечный цикл, это лажа
|
|||
20
eklmn
гуру
09.02.15
✎
10:25
|
(15) ответа не будет, ибо не было сабжа тогда :)
|
|||
21
Chameleon1980
09.02.15
✎
10:26
|
опять 77 и во сболтали
|
|||
22
Chameleon1980
09.02.15
✎
10:26
|
***опять 77 и во 8х сболтали
|
|||
23
Vovan1975
09.02.15
✎
10:27
|
(21) внимательно смотрим листинг в (5)
это снеговик |
|||
24
piter3
09.02.15
✎
10:27
|
(17)еще веселей будет,Если предыдущая сессия загрузки не успеет считать файл
|
|||
25
Кондидат В
09.02.15
✎
10:33
|
(23) что значит "снеговик"?
Именно в (5) никак. В случае, если будет найдена возможность запуска в фоне то вариант прерыванию будет другой. Да хотя бы созданием файла с опр. именем. Согласен с (17), но не представляю, как это реализовать. |
|||
26
Провинциальный 1сник
09.02.15
✎
10:33
|
А так бы по идее неплохо было дергать ПрочитатьСтроку через фоновые задания.. но тут возникает одна проблема - объект ЧтениеТекста надо делать глобальным, а управляемое приложение не поддерживает глобальных переменных на стороне сервера..
|
|||
27
tridog
09.02.15
✎
10:44
|
(13) Сколько же Вам остегивают производители оперативной памяти за такие долбанутые советы?
|
|||
28
ShoGUN
09.02.15
✎
10:50
|
(5) Вроде бы 1С лочит файл на запись при вызове Текст.Открыть. Конфликта не возникает, проверял?
|
|||
29
Провинциальный 1сник
09.02.15
✎
10:56
|
(28) Не лочит, всё работает
|
|||
30
b_ru
09.02.15
✎
11:16
|
(17) Пара гигабайт - это не много. Но вообще, конечно, логи нужно резать.
Код в (5), кстати, подразумевает, что твои пару гигабайт будут в оперативке висеть, что вряд ли хорошо. |
|||
31
Провинциальный 1сник
09.02.15
✎
11:20
|
(30) "Код в (5), кстати, подразумевает, что твои пару гигабайт будут в оперативке висеть, что вряд ли хорошо."
Ну разумеется, в окне сообщений они зависнут, но это же демка. В реале, конечно, данные будут обрабатываться, а не копиться. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |