LookDBF

Здесь можно обсудить ваш любимый плагин.
User avatar
Vertigo
Posts: 85
Joined: Tue 13 Apr, 2010 12:04
Location: Moscow, Russia
Has thanked: 11 times
Been thanked: 4 times

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by Vertigo »

Latest post of the previous page:

sandrey wrote:Добавьте возможность выполнения SQL команд
А это как? Научите?
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by HaRT »

Vertigo wrote: А это как? Научите?
dBase ODBC, ODBC SQL. Не?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by buniak_a_h »

Плугин LookDBF не работает с символьными полями длиной более 255 символов. Указывает "дробную" длину поля. (см. картинку)
Image
Здесь ширина поля QQQ на самом деле 1000 символов.
Пример БД
ZZZ.DBF.rar
(157 Bytes) Downloaded 110 times
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
Vertigo
Posts: 85
Joined: Tue 13 Apr, 2010 12:04
Location: Moscow, Russia
Has thanked: 11 times
Been thanked: 4 times

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by Vertigo »

Спасибо за репорт и особенно за сэмпл. Обязательно посмотрю, в чём дело, хотя и не обещаю, что скоро, т.к. отпуск на носу.

Впрочем, оригинальный автор во многих местах там наивно предполагал, что 256 байт "будет достаточно для всех".

А проблема только в неправильном отображении в этом диалоге, или плагин действительно ещё как-то не работает с такими полями?
ObSerV
Posts: 53
Joined: Wed 29 Jul, 2009 06:26
Been thanked: 1 time

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by ObSerV »

Vertigo wrote:Впрочем, оригинальный автор во многих местах там наивно предполагал, что 256 байт "будет достаточно для всех".
Кхм. Насколько я помню так полагал формат именно dbf-файла.
User avatar
Vertigo
Posts: 85
Joined: Tue 13 Apr, 2010 12:04
Location: Moscow, Russia
Has thanked: 11 times
Been thanked: 4 times

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by Vertigo »

Там по всему коду подобные ограничения.
Скажу честно, последний раз спецификацию я читал больше 15 лет назад.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by buniak_a_h »

Vertigo wrote: Обязательно посмотрю, в чём дело.
В хедере dbf для числового поля указывается байт для LEN и байт для DEC; для символьного поля надо пересчитывать:
LEN=LEN + 256*DEC;
DEC=0
Vertigo wrote: А проблема только в неправильном отображении в этом диалоге, или плагин действительно ещё как-то не работает с такими полями?
Не работает (ограниченно работает - до 255 символов показывает).
ObSerV wrote: Насколько я помню так полагал формат именно dbf-файла.
Это - в стандарте dBASE-II. В dBASE-III и в FoxPro ограничение было снято.
Vertigo wrote: не обещаю, что скоро
Соображения основаны на исходниках версии 2.06... Попробуйте^
  • (а) в описании структуры dbField указать вместо BYTE filen; - WORD filen;
    (б) в реализации функции dbBase::AddF предусмотреть пересчёт d->filen и d->dec для символьных полей, как указано наверху поста.
    (в) про отображение на экране ФАРа сказать ничего не могу. Возможно, и этого хватит...
Last edited by buniak_a_h on Fri 10 Jun, 2016 13:10, edited 1 time in total.
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by buniak_a_h »

Vertigo
ЗЫ.
Я, естественно, не написал про согласование типов аргументов функций.
НО! Я (как самый ленивый программист в мире) тупо по всему тексту заменил бы BYTE на WORD. Не та ситуация, чтоб байтики экономить.
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
ObSerV
Posts: 53
Joined: Wed 29 Jul, 2009 06:26
Been thanked: 1 time

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by ObSerV »

buniak_a_h wrote:
Vertigo wrote:
ObSerV wrote: Насколько я помню так полагал формат именно dbf-файла.
Это - в стандарте dBASE-II. В dBASE-III и в FoxPro ограничение было снято.
Таблица 4.6, Типы полей Visual FoxPro
Текстовый Character, Character(binary) Текстовые поля могут содержать буквы, цифры и специальные символы. Максимальная ширина поля составляет 254 символа. тип Character (binary) используется в том случае, если не требуется учитывать кодовую страницу отображаемых данных

И это Вижуал 9 - уточните, пожалуйста, когда было снято ограничение?
User avatar
Vertigo
Posts: 85
Joined: Tue 13 Apr, 2010 12:04
Location: Moscow, Russia
Has thanked: 11 times
Been thanked: 4 times

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by Vertigo »

buniak_a_h, спасибо за подсказки.

Исходники, кстати, доступны на GitHub, и пулл-реквесты никто не отменял. ;-)
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by buniak_a_h »

ObSerV wrote: И это Вижуал 9 - уточните, пожалуйста, когда было снято ограничение?
Я не знаю, что такое Вижуал 9, но
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by buniak_a_h »

Vertigo wrote: Исходники, кстати, доступны на GitHub, и пулл-реквесты никто не отменял.
Спасибо. А то у меня уже, к сожалению, нет Borland С++ , а как я понял, те исходники, что у меня есть, именно на BC 6.0 рассчитаны. Вы на VC++ перевели? Это мудро.
А не подскажете, как оттуда что-либо скачать? Не нашёл download
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by buniak_a_h »

Vertigo
А что такое пулл-реквесты? Запросы какие-то... Переводчик лажает :-(
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
Vertigo
Posts: 85
Joined: Tue 13 Apr, 2010 12:04
Location: Moscow, Russia
Has thanked: 11 times
Been thanked: 4 times

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by Vertigo »

Ммм... вы с Git никогда не работали? Тогда сложно будет объяснить. Если вкратце, то это такая разновидность совместной разработки. Делается собственный fork репозитория (прямо там, на гитхабе), в нём вносятся изменения, а потом отправляется "запрос на слияние" в оригинальный репозиторий.

Download там, кстати, есть где-то. Но это самый крайний случай. Правильно взять Git и склонировать репозиторий.
User avatar
Vertigo
Posts: 85
Joined: Tue 13 Apr, 2010 12:04
Location: Moscow, Russia
Has thanked: 11 times
Been thanked: 4 times

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by Vertigo »

Зелёная кнопка Clone or download.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Работа с DBF-файлами: DBFView, ViewDBF, LookDBF

Post by buniak_a_h »

Vertigo wrote:Зелёная кнопка Clone or download.
Спасибо.
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
Post Reply

Return to “Обсуждение плагинов”