| 
    
            
         
         | 
    
    
  | 
Чтение текстового файла "не лету" | ☑ | ||
|---|---|---|---|---|
| 
    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), кстати, подразумевает, что твои пару гигабайт будут в оперативке висеть, что вряд ли хорошо."
 
        Ну разумеется, в окне сообщений они зависнут, но это же демка. В реале, конечно, данные будут обрабатываться, а не копиться.  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |