:: Visual Foxpro, Foxpro for DOS
Объединение строк txt файла
sonik
Автор

Сообщений: 31
Дата регистрации: 28.06.2016
Есть файл File.txt c перенесенной строкой. Например:
1;Парковая улица;;;90;1=
5;90;9000;
При выполнении функции APPEND FROM &file DELIMITED WITH CHARACTER ";"
и дальнейшего преобразования в DBF файл
получается 2 строчки:
[attachment 33177 1.jpg]


Как объединить строки TXT фала в одну, чтобы при переводе в DBF получился файл?

[attachment 33178 2.jpg]



Исправлено 1 раз(а). Последнее : sonik, 30.04.20 15:21
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Надо полагать, что строки "переносятся" из-за символов в конце строки CHR(10)+CHR(13)? В конце записи такие символы должны присутствовать, а после символа = (в приведенном примере) таких символов быть не должно. В принципе, если размер файла не очень большой, можно DBF-файл (курсор, если угодно) сформировать так, как и в примере, а потом уже обработать такой файл по отдельным записям, проверяя, например, значение поля N2, где должно быть наименование улично-дорожного элемента, а не "просто число".

Иногда приходилось обрабатывать схожую информацию в текстовых файлах. Поскольку было не совсем ясно, какие виды разрыва записи могут встретиться, то сначала загонял текст в DBF-файл и изучал все возможные варианты. После этого обрабатывал промежуточный DBF-файл и результат записывал уже в "правильный" файл.



Исправлено 3 раз(а). Последнее : Simple777, 30.04.20 16:00
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
nik_l

Сообщений: 47
Откуда: Лида
Дата регистрации: 28.12.2011
хотелось бы посмотреть сам файл. Отличается ли перенос строк от переноса внутри строки. Обычно перенос это последовательность chr(13)+chr(10), а "мягкий" перенос - только chr(10). Если это так, достаточно удалить "мягкие" переносы в текстовом файле и затем скормить его Fox-у. Если же все переносы одинаковые, то это плохая новость для Вас, все существенно усложняется.
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
nik_l

Сообщений: 47
Откуда: Лида
Дата регистрации: 28.12.2011
simple777 опередил
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Да ничего сложного нет, если даже переносы одинаковые. Можно много к чему "привязаться". Даже можно обрабатывать две подряд записи в цикле, если везде разрыв происходит в одном и том же месте.



Исправлено 1 раз(а). Последнее : Simple777, 30.04.20 16:23
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Читать файл FGETS (он сам разберется с мягкими и твердыми ВКПС), строку распарсить ALINES-ом, нечетные строки в одни поля (имена полей поможет узнать FIELD(n)), четные в другие - вот путь воина землекопа!
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
nik_l

Сообщений: 47
Откуда: Лида
Дата регистрации: 28.12.2011
да я уже сам понял, а ТС молчит
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
of63
нечетные строки в одни поля (имена полей поможет узнать FIELD(n)), четные в другие - вот путь воина землекопа!
Я думаю, что если бы каждая строка распадалась на две, то и проблемы бы не было.

Хотя я и так особой проблемы не вижу, ведь количество полей должно быть одинаково - посчитал количество разделителей в строке и сразу знаешь, является ли следующая строка продолжением, или нет.
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
sphinx

Сообщений: 31189
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
nik_l
а ТС молчит

А что молчит - так это он от волненья,
От осознанья так сказать и просветленья.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
nik_l

Сообщений: 47
Откуда: Лида
Дата регистрации: 28.12.2011
ну, вроде как бухать еще рано, четверг еще. Только если на самоизоляции
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Не только рано, а уже поздно
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
nik_l

Сообщений: 47
Откуда: Лида
Дата регистрации: 28.12.2011
я стою у ресторана: замуж поздно, сдохнуть - рано (с) Э.Радзинский
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Да, работать нано )
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
sonik
Автор

Сообщений: 31
Дата регистрации: 28.06.2016
Simple777
Да ничего сложного нет, если даже переносы одинаковые. Можно много к чему "привязаться". Даже можно обрабатывать две подряд записи в цикле, если везде разрыв происходит в одном и том же месте.
. Разрыв в одном и том же месте, то есть каждая строка распадается на две.
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
sphinx

Сообщений: 31189
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
sonik
Разрыв в одном и том же месте, то есть каждая строка распадается на две.

Ну так замените повторяющийся разделитель на один. Функция из трех строк.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> Разрыв в одном и том же месте, то есть каждая строка распадается на две.
Соник новую физику задвигает (на конец то)

Соник, расскажи подробнее, где "разрыв"-ы происходят, в четных+/нечетных ипостасях.
() Баька сказало на "две"... жестко, ново, но... немного непонятно...
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
sphinx

Сообщений: 31189
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
nik_l
ну, вроде как бухать еще рано, четверг еще

А разминку никто не отменял. К тому же накануне праздника. ;)


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
sonik
Разрыв в одном и том же месте, то есть каждая строка распадается на две.

Тогда поясните, в чем конкретно ваша проблема.
Вы не знаете, как:
1) читать текстовый файл построчно
2) считать количество прочитанных строк
3) объединять строки
4) писать строку в текстовый файл

Если все из этого вы умеете, то:
1) читаете файл построчно
2) нечетные строки просто сохраняете в переменной
3) четные строки склеиваете с предыдущей, а результат записываете в выходной (другой) файл
-----------

"Извращаться" с разделителями строк, загоняя содержимое всего файла в строку, я бы не стал - при больших размерах файла только время терять.



Исправлено 1 раз(а). Последнее : akvvohinc, 01.05.20 01:04
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
sphinx

Сообщений: 31189
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
of63
> Разрыв в одном и том же месте, то есть каждая строка распадается на две.
Соник новую физику задвигает (на конец то)

Да не, я вангую, что ему просто повторяющийся разделитель заменить на один. И будет щастье.

(неизвестно, сколько подряд разделителей может идти, вроде готовой функции нет... ну так она пишется на уровне 1-го курса).

Ну если и это не получится - завтра кину. Ну или, ИК что-то подскажет.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Объединение строк txt файла
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
sphinx
а не, я вангую, что ему просто повторяющийся разделитель заменить на один.

Нет у него никакого повторяющегося разделителя - ему надо просто склеивать каждую вторую строку с предыдущей.

Цитата:
Ну или, ИК что-то подскажет.
Это вряд ли - не его уровень.



Исправлено 1 раз(а). Последнее : akvvohinc, 01.05.20 01:08
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 27 (Гостей: 27)

© 2000-2024 Fox Club 
Яндекс.Метрика