Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Количество полей в строке файла-каталога может быть разным, в зависимости от версии MyHomeLib и типа файла-каталога. Для проверки Вашей программы я использовал часть файла-каталога new1.inp из этого архива
 https://yadi.sk/d/OF8YMwdyrZid5
Пожалуйста, проверьте работу Вашей программы с этим образцом. Кстати, аналогичный образец - в шапке темы.
Там строка содержит 14 полей. Каталог Библиотеки Трауба имел 16 полей. В дальнейшем количество полей будет увеличено, так пишет Автор MyHomeLib на своем сайте...
С тем образцом, который Вы прислали действительно все в порядке, входной и выходной файлы имеют по 16 полей.
Потеря последнего символа (EOT) в выходном файле возникает, если у входного файла в конце строки (EOT)(EOT)(CR)(LF), тогда у выходного файла  мы имеем в конце строки (EOT)(CR)(LF) - т.е. один символ (EOT) в конце строки теряется.
 
Входной файл:

http://s017.radikal.ru/i421/1605/8f/b89793a39222.jpg
Выходной файл после преобразования Вашей программой:
http://s020.radikal.ru/i714/1605/15/4ab7b82b26cb.jpg
Изменено: jakky - 08.05.2016 20:48:52
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Угу.. Этот уже лучше. Открывается и после редактирования создает выходной файл Test.inp
Однако опять те же грабли, что и у Уважаемого   Fedorch, с которым последнее время общались на Форуме этой раздачи, (он как раз Автор преобразователя txt---inp)
http://torrent.rus.ec/viewtopic.php?t=45&start=480
Количество EOT в выходном файле на единицу меньше, чем во входном файле. Например, у Вас вместо 14 получилось 13. Режется последний (EOT) а почему? Вообще-то вопрос не к EOT, а к символу "Табуляции", на который заменяется EOT при преобразовании inp-->txt  
Толи это фокусы кодировки "UFT-8 без BOM",...
то ли в EXCEL-е  "Табуляция"  "не любит" соседства с (CR)(LF)... и  у входного файла надо добавлять пробел между последним  ("Табуляция") и  (CR)(LF)  в конце строки, а потом (после сохранения в EXCEL-е) удалять этот пробел у выходного файла ... х.з.
Но эта потеря последнего символа "Табуляция" происходит именно после того, как файл пропускают через EXCEL
Изменено: jakky - 08.05.2016 19:00:16
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
А что это за файл? При загрузке Вашего файла мой EXCEL вылетает(макросы разрешены). Другими (LibreOffice 5.1, OpenOffice 4.1.2) он тоже не открывается, ругаются на макросы.
У меня EXCEL-2007, Windows7x64 SP1
Желательно, чтобы эта программа работала начиная с MS OFFICE 2003
Изменено: jakky - 08.05.2016 16:41:48
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Как раз наоборот. Я несчастный пользователь. Бедный, как церковная крыса. Отношение к MyHomeLib как к основателю Майкрософта: Билл Гейтс МастДай!!!, но заменить его нечем. А насколько потянет Сахарная Косточка "Программа Экспорта-Импорта файла-каталога MyHomeLib в EXCEL с графическим интерфейсом для Чайников"?  Девочка у Вас уж больно внушительная…
 Кстати, в исходном файле каталога Библиотеки Траума 16 разделителей EOT-символов в строке, а в Вашем файле они заменены 13-ю символами Табуляции, что также не айс…  
На сайте koreec Автора  MyHomeLib   указано, «Разделитель chr($04), Количество полей может быть произвольным, указанным в structure.info»   http://forum.home-lib.net/index.php?showtopic=16
Изменено: jakky - 08.05.2016 12:45:03
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Это я от жадности.
Вообще-то после обработки в EXCEL файл-каталог надо вернуть обратно в с исходной структурой, т.е. с  разделителями EOT, иначе программа-Библиотекарь MyHomeLib не воспримет этот файл-каталог
Для обратной замены символа-разделителей Табуляции HT  \x09 на символ-разделитель EOT  \x04 есть программа-перекодировщик  от Автора
https://yadi.sk/d/T0ldyKecrZ6ji
но для запуска этой программы надо еще скачать IDLE (Python 3.5 32-bit)
https://www.python.org/downloads/
Изменено: jakky - 07.05.2016 23:50:27
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Ага, у Doober получилось больше... тока вот через Notepad++ видно что все символы-разделители тоже превратились из  EOT  \x04 в Табуляцию HT  \x09
http://donsnotes.com/tech/charsets/ascii.html#CTRL
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Не, ерунда какая-то... если посмотреть программой Notepad++  с сравнить исходный и конечный файлы(Ваш xlsx я преобразовал в txt), то видно что потеряны по 4 поля на строке(должны быть 14 , а у Вас 10), к тому же символ EOT в исходном тексте заменен на символ "горизонтальную табуляцию"
\011   9   HT  \x09  ^I \t (Horizontal tab)
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Мда... С каталогом хотелось бы разобраться. Без EXCEL-я внести туда свои книге дохлый номер.
К тому же запись "1" в девятое поле строки файла-каталога делает книгу "невидимой" для читателя... Такая, блин цензура от Держателя Каталога.
А без Каталога все собрание книг - просто Гора непойми-чего.
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Вариант #2 т.е. открываешь файл Блокнотом, копируешь оттуда символ EOT (он там виден, как перевернутая буква "г"), потом открываешь этот файл в EXCEL-е и в Мастере выбираешь "другой" и в окошко копируешь из буфера(при этом в окошке ничего не появляется)?
Ничего не получилось.
Я вот что-то не пойму, как у Вас получилось при прямом копировании текста ... EXCEL-2010 по умолчанию воспринимает символ EOT как разделитель?? Фантастика.
 
Изменено: jakky - 07.05.2016 22:25:29
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Супер!
Так что, EXCEL-2010 понимает символ EOT как разделитель столбцов?? Там что, и вкладка с выбором EOT есть в Мастере Текстов??
Достать-то EXCEL-2010 не проблема, а как запустить эту перекодировку... Вы скопировали символ EOT в блокноте из исходного текста каталога, а потом вставили в поле "другой разделитель" в Мастере Текстов EXCEL-2010 ?
Изменено: jakky - 07.05.2016 22:02:12
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Интересно... Вы смогли использовали EOT как разделитель или тоже его чем-то заменили?
Вот полный файл-каталог  от Библиотеки Траума( там только порядка 200000 книг) В сжатом виде он 13Mb, после распаковки архиватором 7Z будет 50Mb (расширение .inp, но это простой txt-файл)  
https://yadi.sk/d/RBp22PGhrYyLX
Изменено: jakky - 07.05.2016 21:46:32
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Сорри...
Программа-библиотекарь  MyHomeLib бесплатная, свободно распространяемая и с открытым кодом. Типа дерзайте пацаны, учите Программирование... мда.
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Вот ведь блин… Интересно, за каким  <...>  Уважаемый Автор-создатель Программы-Бибиотекаря MyHomeLib
http://home-lib.net/
устроил нам всем такую засаду? А может, символ-разделитель EOT используется в каких-то других Электронных таблицах(не EXCEL)?  Тогда и файл с EOT-разделителем надо открывать не с EXCEL?
Но я вроде все известные Табличные Процессоры  перебрал …
Изменено: jakky - 07.05.2016 21:25:51
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Судя по Вашему скептицизму, заставить EXCEL использовать символ EOT( т.е \x04) в качестве разделителя столбцов НЕвозможно?
(прошу прощения, я не программист)
Изменено: jakky - 07.05.2016 21:34:05
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
т.е. Вы в текстовом файле заменили знак EOT на знак тильду, а Затем этот измененный текстовый файл передали в EXCEL?
Мдаа... там вообще-то много книг(500000 и больше), и знак Тильда наверняка есть на каких-то строках, а каждая строка - это книга... т.е. те книги будут потеряны, что не айс...
Увы.
Нужен именно ПРЯМОЙ выбор EOT как Разделитель столбцов. Замена EOT на какой-то другой символ крайне не желательна
Изменено: jakky - 07.05.2016 21:33:39
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Супер. Будем пробовать. А какую Windows (у меня Windows7x64 SP1) и какую версию EXCEL (у меня Microsoft Office Excel 2007) использовать, это без разницы?
Sanja написал:
Вариант - заменить в Блокноте Ваш спецсимвол на, например ~ (тильду). А дальше по общей схеме с разделителем ~ (тильда)
Увы, там до 500000 и выше записей Книг, умереть не встать... Если уж и менять, ... то на что-то экзотическое, чтоб не было потерь книг в Каталоге.
Изменено: jakky - 07.05.2016 21:35:09
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Уважаемый Sanja вы меня озадачили. Я пробовал решить эту задаче на разных программах электронных Таблиц (Kingsoft Office,  LibreOffice 5.1, OpenOffice 4.1.2, SoftMaker Office Professional) – без результата
Моя система Windows 7x64 SP1 16Gb ; Microsoft Office Excel 2007
Пожалуйста(если это возможно) поясните подробнее,
- какой Программой открыли файл и затем скопировали символ EOT
- Ваша версия Windows
- Ваша версия  Microsoft Office Excel (или другая версия Электронной Таблицы)
Подробно, по шагам Ваши действия по преобразованию файла в EXCEL
Спасибо.
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Стандартные символы – разделители полей(столбцов) в EXCEL это Табуляция, Пробел, точка с запятой, запятая, пробел.
Проблема:
Подскажите, Как включить в список разделителей полей для EXCEL символ EOT(Конец Передачи) ?
Напрямую, «в лоб» проблема не решается. Если в Мастере Текстов указать Alt04 что соответствует символу EOT то никакой реакции.
Символ EOT (Конец Передачи)  \004 или   4 или  EOT или   \x04 или  ^D  или  Alt04       (End of transmission)
http://donsnotes.com/tech/charsets/ascii.html
Все Дело в том, что в  старом текстовом файле-каталоге Электронной Библиотеки  в качестве разделителей полей были использованы символы EOT
Стоит задача редактировать этот файл-каталоге в EXCEL
Образец файла-каталога во Вложении
Спасибо!
Изменено: jakky - 07.05.2016 18:41:06
Страницы: 1
Наверх