:: Не фоксом единым
DBF III в DBF Visual Fox Pro с нулевой кодировкой через командную строку
registr

Сообщений: 3
Дата регистрации: 13.01.2024
Здравствуйте!
Решил зайти за советом к тем, кто наверное лучше всех знает: а возможно ли вообще такое, как конвертация через командную строку DBF III в DBF Visual Fox Pro с нулевой кодировкой.
Разъясняю свой вопрос: из ТУ (товароучётки) выходят DBF III и DBF VFP с кодировкой 1251. И конвертер для бухгалтерии их видит, но не пускает. Методом научного тыка я выяснил, что нужен именно формат DBF Visual Fox Pro с обнуленной кодировкой.
Я пытался решить через командную строку DBFShow.exe, он конвертит, но обработчик всё равное не понимает.
Сейчас для отправки документов, я их выгружаю во временную папку и там уже прогоняю через DBFNaviagator с сохранением в формате Visual Foxpro files dbf
Для примера во вложении файлы в архиве: исходник (ap_reg.dbf) и готовый файл(ap_reg2.dbf).
Помогите, пожалуйста, решить как это можно осуществить через командную строку.
Что имею на своей машине Python (но в нём я так и не смог это сделать - знаний мало), некую утилиту FoxBro в базе ТУ, но она работает чисто с базой, т.е. задействовать пока не додумал как. Ещё несколько программ просмотра DBF из которых по ходу только DBFShow.exe имеет возможность командной строки. Платные программы dbf вьюверы не рассматриваю, всё таки организация, а не домашнее.



Исправлено 1 раз(а). Последнее : registr, 13.01.24 09:52
Ratings: 0 negative/0 positive
Re: DBF III в DBF Visual Fox Pro с нулевой кодировкой через командную строку
ssa

Сообщений: 13115
Откуда: Москва
Дата регистрации: 23.03.2005
Берёте питон, рисуете на нём прогу, заменяющую C9 в 30-м байте на 0 (можно все 16 байтов начиная с 17-го) и можете брать с полки пирожок.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: DBF III в DBF Visual Fox Pro с нулевой кодировкой через командную строку
sphinx

Сообщений: 32782
Откуда: Екатеринбург
Дата регистрации: 22.11.2006
На выходные не все смотрели вопрос.
Подождите, наверное, это решаемо.




------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: DBF III в DBF Visual Fox Pro с нулевой кодировкой через командную строку
sphinx

Сообщений: 32782
Откуда: Екатеринбург
Дата регистрации: 22.11.2006
[quote ssa]Берёте питон, рисуете на нём прогу, заменяющую C9 в 30-м байте на 0 (можно все 16 байтов начиная с 17-го) и можете брать с полки пирожок.[/quote

Еще нет уверенности, что именно в Фоксе.
Релиза нет, человек новый.

Что-то вы, батенька, не договариваете. ]


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: DBF III в DBF Visual Fox Pro с нулевой кодировкой через командную строку
sphinx

Сообщений: 32782
Откуда: Екатеринбург
Дата регистрации: 22.11.2006
ssa
Берёте питон, рисуете на нём прогу, заменяющую C9 в 30-м байте на 0 (можно00000 все 16 байтов начиная с 17-го) и можете брать с полки пирожок.

И давно в нем? К Алексеичу всегда с уважением. :hi:


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: DBF III в DBF Visual Fox Pro с нулевой кодировкой через командную строку
registr

Сообщений: 3
Дата регистрации: 13.01.2024
Вы про Фокс что именно имеете в виду?
Основная база, да, она имела первоначальную сборку на Фоксе, на что намекает наличие утилиты ФоксБро.
Но здесь не в этом проблема, здесь нужна помощь в конвертации dbf, потому что уж очень специфичный конвертер.
Ratings: 0 negative/0 positive
Re: DBF III в DBF Visual Fox Pro с нулевой кодировкой через командную строку
registr

Сообщений: 3
Дата регистрации: 13.01.2024
ssa
Берёте питон, рисуете на нём прогу, заменяющую C9 в 30-м байте на 0 (можно все 16 байтов начиная с 17-го) и можете брать с полки пирожок.
Я понял идею, надо будет её рассмотреть ближе, скорее всего не на питоне, а всё таки более простым языком. Попробую пошуршать на vbs.
Ratings: 0 negative/0 positive
Re: DBF III в DBF Visual Fox Pro с нулевой кодировкой через командную строку
of63
Автор

Сообщений: 26584
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() это не конвертация содержимого таблицы, это просто обнуление "признака кодировки" ("байт с смещением где-то во второй строке С9 к 0"), как ты хотел. Поможет ли - хз.

Если что структура первых байт файла "DBF"
Часть текста скрыта
CASE m.c="Dbf" && обращение к шапке DBF
m.n = ICASE(m.c="DbfFileVersion ", 00.01,; && указано положение.длина (длина - 2 знака), положение указано начиная с 0. Непустой 3й десятичный знак, это значит тип данных - C
m.c="DbfFileVersionT ", 00.01,; && см. Q="V" (расшифровать версию файла DBF)
m.c="DbfFileVersionM ", 00.01,; && см. Q="M" (вернуть флаг необходимости наличия FPT-файла для этой версии DBF). См. также DbfTableFlag.bit1
m.c="DbfLastUpdate ", 01.03,; && байты, начиная с первого: Y,M,D (Y без столетия, естественно)
m.c="DbfLastUpdateD ", 01.03,; && см. Q="D" (преобразовать YMD в дату), вернуть/записать как дату
m.c="DbfRECCOUNT ", 04.04,;
m.c="DbfDataPosition ", 08.02,;
m.c="DbfRECSIZE ", 10.02,;
m.c="DbfRez1 ", 12.16,;
m.c="DbfTableFlag ", 28.01,;
m.c="DbfTableFlagT ", 28.01,; && см. Q="H" (bit0-has .CDX, bit1-Has MEMO field, bit2-is .DBC)
m.c="DbfTableFlagM ", 28.01,;
m.c="DbfCodePage ", 29.01,;
m.c="DbfCPDBF ", 29.01,; && см. Q="C" (преобразовать маркер кодовой страницы в значение CPDBF)
m.c="DbfRez2 ", 30.021,;
0)




Исправлено 1 раз(а). Последнее : of63, 28.01.24 18:45
Ratings: 0 negative/0 positive


Эта тема закрыта.

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

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