Re: Объединение строк txt файла | |
---|---|
akvvohinc Сообщений: 4201 Откуда: Москва Дата регистрации: 11.11.2008 |
Может, и набросал бы, если бы автор написал, что на Фоксе не программирует, но он не признается.
|
Re: Объединение строк txt файла | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
А по уровню вопроса не видно? Лабораторную или курсач сдаст и забудет. А так третья страница темы ни о чем. И не лень же. ;) |
Re: Объединение строк txt файла | |
---|---|
sphinx Сообщений: 31166 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Ребят, не ссорьтесь по пустякам. ТС поблагодарил Тарана, значит все у него взлетело.
А между собой выяснять отношения по знаниям - к чему? Кому-то на потеху? ------------------ "Veni, vidi, vici!"(с) |
Re: Объединение строк txt файла | |
---|---|
akvvohinc Сообщений: 4201 Откуда: Москва Дата регистрации: 11.11.2008 |
А что здесь тебе показалось похожим на ссору? Ни я ему в Москве, ни он мне у себя стрелку не забивал. Если всё - это эти две строки, то да, взлетело. |
Re: Объединение строк txt файла | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Какие наши годы. Ещё стрелканемся за здравым столом, да не с пустыми бокалами. |
Re: Объединение строк txt файла | |
---|---|
sphinx Сообщений: 31166 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Я про споры в программировании. Ну и да, это ссорами назвать сложно. Чаще друг друга не понимаем, а смысл один. Удачи, брат и коллега! И Тарану мое. ------------------ "Veni, vidi, vici!"(с) |
Re: Объединение строк txt файла | |
---|---|
sphinx Сообщений: 31166 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Рассказать, чем "стрелки" закончатся? ;) ------------------ "Veni, vidi, vici!"(с) |
Re: Объединение строк txt файла | |
---|---|
sonik Автор Сообщений: 31 Дата регистрации: 28.06.2016 |
Именно так, и как их склеить? Возможен вариант, когда таких строк в файле будет несколько. Тоесть прийдется склеивать первую со второй, третью с четвертой и т.д. |
Re: Объединение строк txt файла | |
---|---|
sonik Автор Сообщений: 31 Дата регистрации: 28.06.2016 |
Да на знаке = прерывается. Сбербанк такого типа файлы присылает. |
Re: Объединение строк txt файла | |
---|---|
sonik Автор Сообщений: 31 Дата регистрации: 28.06.2016 |
Данный код не работает, возможно потому что не использую временный файл а вот:
Но если в фале больше одной строки, разделенной "=" ,то все строки все равно превращаются в одну. Тоесть мне нужно 1+2, 3+4, 5+6 и т.д., а получается 1+2+3+4+5+6 Как быть? Исправлено 1 раз(а). Последнее : sonik, 06.05.20 14:02 |
Re: Объединение строк txt файла | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Суть приведенного выражения в принципе проста - удалить концы строк, стоящие именно после "=". Если же не срабатывает - возможно это из-за того, что не всегда для переноса строки используется сочетание CHR(10)+CHR(13). В каких-то случаях может использоваться любой из этих двух символов, т.е. скажем вместо заданного сочетания стоит: "="+CHR(13). В итоге естественно функция не находит "="+CHR(10)+CHR(13) и ничего не делает. Простейший выход - для начала открыть свой файл в любом Hex-редакторе и посмотреть, какие коды (и сколько символов) стоят после знака "=" в качестве переноса строки. Обычно я давно уже для подобного использую WinHex, неплохой и удобный редактор. Но можно посмотреть хоть даже и hex-просмотром в FAR-е например. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) Исправлено 1 раз(а). Последнее : Crispy, 06.05.20 14:01 |
Re: Объединение строк txt файла | |
---|---|
sonik Автор Сообщений: 31 Дата регистрации: 28.06.2016 |
Taran strtofile(strtran(filetostr(m.file),'='+chr(13)+chr(10),'='),m.file) А потом append... Данный код не работает, возможно потому что не использую временный файл а вот: strtofile(CHRtran(filetostr(m.file),'='+chr(13)+chr(10),'='),m.file) Работает! Но если в фале больше одной строки, разделенной "=" ,то все строки все равно превращаются в одну. Тоесть мне нужно 1+2, 3+4, 5+6 и т.д., а получается 1+2+3+4+5+6 Как быть? |
Re: Объединение строк txt файла | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Просто во втором случае используется команда, которая заменяет не сочетание(!) символов, а каждый(!) символ, на соответствующий ему по порядку в следующем параметре (после запятой внутри функции). Т.е. вместо "=" эта функция ставит "=". Вместо chr(13) - пустой символ (поскольку в следующем параметре для него нет соответствия). Также и для chr(10) - пустота. В результате - все(!) концы строк и удаляются. Это неправильно. Правильный вариант как раз был приведен у Тарана. Разве что - как раз про это я и написал! - нужно сначала узнать, что используется в данном файле в качестве символа переноса: сочетание chr(13)+chr(10), или же всего лишь один символ, например chr(10). Для чего его и нужно посмотреть в hex-редакторе! ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) Исправлено 1 раз(а). Последнее : Crispy, 06.05.20 14:14 |
Re: Объединение строк txt файла | |
---|---|
sonik Автор Сообщений: 31 Дата регистрации: 28.06.2016 |
Taran
strtofile(strtran(filetostr(m.file),'='+chr(13)+chr(10),'='),m.file) Данный код не работает, возможно потому что не использую временный файл а вот: strtofile(CHRtran(filetostr(m.file),'='+chr(13)+chr(10),'='),m.file) Работает! Но если в фале больше одной строки, разделенной "=" ,то все строки все равно превращаются в одну. Тоесть мне нужно 1+2, 3+4, 5+6 и т.д., а получается 1+2+3+4+5+6 Как быть? Просто во втором случае используется команда, которая заменяет не сочетание(!) символов, а каждый(!) символ, на соответствующий ему по порядку в следующем параметре (после запятой внутри функции). Т.е. вместо "=" эта функция ставит "=". Вместо chr(13) - пустой символ (поскольку в следующем параметре для него нет соответствия). Также и для chr(10) - пустота. В результате - все(!) концы строк и удаляются. Это неправильно. Правильный вариант как раз был приведен у Тарана. Разве что - как раз про это я и написал! - нужно сначала узнать, что используется в данном файле в качестве символа переноса: сочетание chr(13)+chr(10), или же всего лишь один символ, например chr(10). Для чего его и нужно посмотреть в hex-редакторе! Вот так выглядит Hex
|
Re: Объединение строк txt файла | |
---|---|
sonik Автор Сообщений: 31 Дата регистрации: 28.06.2016 |
Просто во втором случае используется команда, которая заменяет не сочетание(!) символов, а каждый(!) символ, на соответствующий ему по порядку в следующем параметре (после запятой внутри функции). Т.е. вместо "=" эта функция ставит "=". Вместо chr(13) - пустой символ (поскольку в следующем параметре для него нет соответствия). Также и для chr(10) - пустота. В результате - все(!) концы строк и удаляются. Это неправильно. Правильный вариант как раз был приведен у Тарана. Разве что - как раз про это я и написал! - нужно сначала узнать, что используется в данном файле в качестве символа переноса: сочетание chr(13)+chr(10), или же всего лишь один символ, например chr(10). Для чего его и нужно посмотреть в hex-редакторе! Вот так выглядит Hex
|
Re: Объединение строк txt файла | |
---|---|
akvvohinc Сообщений: 4201 Откуда: Москва Дата регистрации: 11.11.2008 |
Значит, вы нас постоянно путали - символом "=" у вас не заканчивается нечетная строка, а с него начинается четная. И вообще при таком формате я бы уточнил у банка, является ли символ "=" частью данных, или нет. |
Re: Объединение строк txt файла | |
---|---|
sonik Автор Сообщений: 31 Дата регистрации: 28.06.2016 |
Тут такую информацию из инструкции нашел: [attachment 33194 1.jpg] |
Re: Объединение строк txt файла | |
---|---|
akvvohinc Сообщений: 4201 Откуда: Москва Дата регистрации: 11.11.2008 |
Значит, ничего хорошего вы пока не добились, так как цель изначально была поставлена неверно. Судя по части описания формата, в вашем файле есть строки по меньшей мере двух типов - обычные (строки данных) и контрольные. И кто решил, что надо склеивать обычные и контрольные строки? Зачем включать признак контрольной строки в поле с данными? Зачем объединять в одно поле последнее поле обычной строки, символ "=" и первое поле контрольной строки? (как вы показали в вашем первом сообщении) В общем, непонятно, что в конце концов (то есть после APPEND FROM) вам нужно получить и как этим будут пользоваться. Исправлено 1 раз(а). Последнее : akvvohinc, 06.05.20 16:45 |
Re: Объединение строк txt файла | |
---|---|
sonik Автор Сообщений: 31 Дата регистрации: 28.06.2016 |
Все для того чтобы перевести в DBF и построчно обработать. 1.Не все параметры из txt мне нужны для загрузки в DBF. 2. Склеиваю, так как в этих двух строках данные по одной оплате. Так что пока все работает верно. |
Re: Объединение строк txt файла | |
---|---|
akvvohinc Сообщений: 4201 Откуда: Москва Дата регистрации: 11.11.2008 |
Ну, если вам понятно, что за кентавр, равный "1=5" содержится в поле N6, то и ладно. Но почему бы не отделить человека от лошади, то есть сделать так, чтобы "1" записывалось в одно поле, а "5" - в другое, выкинув ничего не значащий мусор в виде '='? |
© 2000-2024 Fox Club  |