#0
by ЭЦ
Здравствуйте. Прошу подсказать, как v8 прочитать текстовый файл начиная с последней строки? При последовательном доступе похоже читается только с начала. А другого способа доступа чтото не нашол. Спасибо
#5
by Jump
Ну к примеру в файле десять строк, читаешь с первой по восьмую в Null, а с восьмой по десятую в буфер.
#7
by ЭЦ
Это здорово, только не понятно как узнать скока в файле строк. Его для этого придется сначала весь прочитать
#9
by sergeante
Где начало того конца, которым оканчивается начало? (с) А по сути сдаётся мне, что только с помощью WSH
#11
by ЭЦ
Уважаемый То что Вы написали, это и есть последовательное чтение файла в буфер причем именно сначала. А мы тут думаем как бы прочитать файл сконца. Бо не раздувать этот буфер и впустую не тратить время на чтение.
#12
by Jump
Ну сказале же уже, либо WSH, либо последовательное чтение в буфер, чтобы не засорять память ненужные строки находящиеся в начале можно выкидывать. Ты бы вообще объяснил для чего тебе это нужно, может проще решение есть.
#15
by H A D G E H O G s
ВОТ! Ап стену. Рождаются же программистами. Возьмите Нетленку. Там. Это. Реализовано.
#16
by H A D G E H O G s
Объект Addin.FileStream Свойства Позиция Размер Процедура/функция ОкрытьФайл ПрочитатьФайл
#17
by ЭЦ
Да вот собственно хотелось убедиться, что в 8.1 без использования внешних компонент можно только сначала файл прочитать. А нужно для того, чтобы шипко длинные файлы обрабатывать т.к. известно, что нужная информация в них чаще находится ближе к концу. А файлы не мои я их в готовом виде получаю.
#19
by Serg_1960
(в качестве бреда) Создаем DBF-файлик, заливаем в него строки текстового файла. После этого можно "читать" как угодно :))
#21
by Живой Ископаемый
Берем открываем в ФАРе этот файл по Ф3 - и жмем Контрол+Енд, читаем... Более того, если этот текстовый файл в данный момент пишется, то мы сразу увидим добавляемые строки...
#28
by Hard man
Как это какое? Попробуй громко и отчётливо читать "Отче наш" встав возле церкви, сразу узнаешь какое.
#31
by Господин ПЖ
текстовой файл по своей сути последовательно пишется и читается. Хотите "произвольный доступ" - пользуйте соответствующие структуры
#33
by Господин ПЖ
в конце концов забросить с таблицу sql и выбрать нужное. если fso и т.п. - это медленно.
#34
by Господин ПЖ
ну грубо говоря все состоит из символов. Но txt и mdf+ldf - две большие разницы по возможностям
#35
by romix
Чтение с конца м.б. придется имитировать через многократное чтение, буферизуя строк по 100. А м.б. там метод seek есть, надо смотреть.
#37
by Serg_1960
ALL: после прочтения постов, мой вариант мне уже не кажется бредом :) Ага. Сделать такую мелкую гальотинку и порубить на файлики... авторов :)
#38
by Господин ПЖ
не бред. Только в dbf будет медленно. Bulk Insert или DTS так просто не обгонишь.
#39
by Serg_1960
Медленно - согласен. Но пусть сначала автор озвучит сколько строк в его файлике - кроме того что он "сильно большой". А то может быть и не стоит огород городить...
#40
by Torquader
Scripting.FileSystemObject позволяет пропускать данные (Skip). Но, чтобы прочитать последнюю строку файла нужно сначала найти разделитель последней и предпоследней строк, а это можно сделать только последовательным чтением файла сначала. Также хочу заметить, что данная функция честно читает файл по строкам, а не весь сразу в память, чем существенно экономит память и повышает производительность. Хотя, можно читать файл посимвольно назад. Для этого можно делать следующее:
#41
by Torquader
P.S. код писался с лёту, поэтому работоспособность не гарантиую (по крайней мере описание цикла не будет работать ни в одном мне известном языке) - перевод с JavaScript на 1С - сложное дело.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- массовое перепроведение документов - как ускорить?
- Зависает при поиске документа в журнале по номеру.
- Список работающих сотрудников запросом в ЗУП
- Фискальник анулирует чеки
- дополнительные отпуска - УПП
- v7: Нет проводок по НУ при переоценке расчетов в у.е. (УПП)
- В номере докумета поставили дробь. Надо убрать.
- как сложить две строки в запросе?
- несовместимые типы
- Как в запросе сравнить строки с точностью до регистра?
- a timeout was reached при РИБ обмене по FTP
- Как перевести приложение на управляемые блокировки?
- Отрицательный НДФЛ начисленный
- УПП. Нумерация кадровых приказов.
- Выводит ошибку на RG328.DBF файл,при открытии периода.
- Практика в ЗУП
- Обмен данными с внешней (не 1с) базой PostgreSQL.
- Ндфл удержанный не равен исчисленному
- Нарастающий итог в запросе
- V7:Управление цветом в списке справочника номенклатуры