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

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

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


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

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

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

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

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

В данном случае много зависит от размера этого файла и характеристик железа самого компьютера.
...
Рейтинг: 0 / 0
27.10.2005, 18:43:50
    #33348579
victor_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка MS-Dos текстового файла
Спасибо , мне необходимо обрабатываать логи до 10-20 тыс строк....пока....
Так что этот совет как раз впору.......Ну а все же , если будет больше, то без выбора ?
...
Рейтинг: 0 / 0
27.10.2005, 19:16:17
    #33348656
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка MS-Dos текстового файла
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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обработка MS-Dos текстового файла / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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