powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обработка MS-Dos текстового файла
7 сообщений из 7, страница 1 из 1
Обработка MS-Dos текстового файла
    #33348317
victorp_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые ! Есть проблема обработки логов. По сути это обычный ms-dos'овский файлы с Code Page 866. Но в программе, открывая его командой FOPEN ,затем читая с пом. FGETS видится нечитаемая 'гречка'. Как я понимаю, это потому , что у меня в настройках VFP 6.0 стоит кодовая страница 1251.
Вопрос . Как в программе прочитать текстовый файл с кодовой страницей 866 нормально. Прежде чем спросить, несколько раз искал на форуме похожее, но там проблемы были в основном вокруг таблиц. А мне в тексте надо находя ключевые слова, создать таблицу результатов.
...
Рейтинг: 0 / 0
Обработка MS-Dos текстового файла
    #33348376
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
?CPCONVERT( 866 , 1251 ,(очередная строка текстового файла))
...
Рейтинг: 0 / 0
Обработка MS-Dos текстового файла
    #33348479
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, зачем fopen?

можно же filetostr
или если очень большой то append в таблицу

быстрей же обрабатывать будет?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Обработка MS-Dos текстового файла
    #33348525
victor_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо ВладимируМ ! По крайней мере нормально обрабатываются строки текстового файла .... А вот 1024'ого я не понял. Можно чуть подробнее? Что предлагается : сделать копию текстового файла в какой-то другой формат ? Да и Append большого текстового файла в таблицу , в котором нет явных разделителей кроме конца строки - это как ?
Интересно, что большие объемы текста будут быстрее обрабатываться.....
...
Рейтинг: 0 / 0
Обработка MS-Dos текстового файла
    #33348554
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в твоем текстовом файле не более 65 тысяч строк, то можно так:

Код: plaintext
1.
2.
LOCAL laLines( 1 ), lnLines
lnLines = ALINES(laLines,CPCONVERT( 866 , 1251 ,FileToStr("MyLog.txt")))

Получим массив laLines в котором каждый элемент - это отдельная строка твоего текстового файла.

Правда, поскольку у массива не может быть больше 65 тысяч элементов, то такой способ не подойдет, если количество строк в файле может быть больше.

Насчет "быстрее" в данном случае не уверен. Хотя в общем случае групповые команды работают быстрее, чем цикл по одиночным.

В данном случае много зависит от размера этого файла и характеристик железа самого компьютера.
...
Рейтинг: 0 / 0
Обработка MS-Dos текстового файла
    #33348579
victor_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо , мне необходимо обрабатываать логи до 10-20 тыс строк....пока....
Так что этот совет как раз впору.......Ну а все же , если будет больше, то без выбора ?
...
Рейтинг: 0 / 0
Обработка MS-Dos текстового файла
    #33348656
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
append from file.log delimited with /
если поля разделяются знаком "/"

append from file.txt type sdf
если поля фиксированной длины


в справке описаны форматы
--

быстрее в том плане что предпологается обработка типа "сколько раз
встречается запись где id=3 и we>57"
стандартными скл-командами всяко быстрей будет чем самому в цикле считать.
Да и проиндексить можно


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обработка MS-Dos текстового файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]