Форум » [x]Harbour » Harbour dbf editor (продолжение) » Ответить

Harbour dbf editor (продолжение)

Pasha: Выкладываю апдейт (давненько не выкладывал): http://files.mail.ru/LXJ3D7 Whatsnew - смотрите сами, не помню уже. Хочу перевести на буржуйскую мову, но не все сообщения еще сделал, так что буржуям пока не показываю, чтобы их великий и могучий не шокировал :)

Ответов - 52, стр: 1 2 3 All

Pasha: Andrey пишет: Не делал никогда у себя в коде такого. Скорее всего был сбой по базе. Так уже и сбой ? Самопроизвольно в memo-блок записался двоичный код типа данных L и значение .f. ? А что насчет неинициализированных Public/Private ? Как раз значение .f. и будет. А как насчёт этого ? в окне указываю имя файла и условие IDZ>73423 База копируется ЦЕЛИКОМ !!! Поставь фильтр и выполняй копирование. В настоящее время там используется не стандартная команда COPY TO, поскольку она при наличии поля AutoInc не работает (ты как раз нарвался на такой случай), а другой режим.

Andrey: Pasha пишет: Поставь фильтр и выполняй копирование. Понял ! СПАСИБО !

Pasha: Ссылка на новую версию программы: https://cloud.mail.ru/public/Ek8Q/nyqkFKAri Что нового: - добавлены функции фильтра: с записи #, по запись # - автоматическое преобразование выражения фильтра по полю в scope (при наличии подходящего индекса) - доработано копирование/вставка прямоугольных блоков - просмотр несимвольных memo-полей - добавлен параметр "User=" в letodb.ini для авторизации на сервере


Dima: Pasha пишет: Ссылка на новую версию программы Спасибо !

Dima: Pasha пишет: - доработано копирование/вставка прямоугольных блоков Это где и как ? Попробовал при редактировании MEMO не работает.

PSP: Dima пишет: Это где и как ? Строки/столбцы таблицы можно помечать. Но что с ними потом делать, - я не понял)

Pasha: Прямоугольные блоки можно использовать для обмена данными между файлом dbf и книгой Excel или OpenOffice. Надо скопировать прямоугольную область в Excel в буфер обмена, затем в dbedit вызвать меню Операция - Вставить блок из буфера обмена. Затем в диалоге можно привязать столбцы Excel к полям dbf, если они идут не последовательно, или с пропусками. Аналогично можно пометить прямоугольную область в dbf (Shift+стрелки), и скопировать ее в буфер обмена для вставки в Excel. Только там уже привязки столбцов естественно не будет.

Pasha: Поясню насчет фильтров. При установке фильтра (F4) добавлены две функции: с записи - будет сформирован фильтр RecNo() >= <nCurRec>, аналогично - по запись. Это небольшой сервис. Фильтр по значению поля: Пусть для поля Year есть индекс: Year или Str(Year)+Str(Month) При уставке фильтра по значению 2017 будет установлен не медленный обычный фильтр Year=2017 а быстрый фильтр - scope по индексу - 2017 Если затем добавить фильтр по значению Month - 12, то вместо фильтра Year=2017.and.Month=12 будет установлен scope 201712

PSP: Павел, можно попросить подправить hotkeys? )) 1. Alt-S - одновременно и scope и суммирование 2. Поиск по ключу - клавиша не предусмотрена. Руки так и тянутся к F7)), но там просто поиск. Можно сделать так: если есть открытый индекс, то F7 - поиск по активному ключу? 3. Вызов меню - F10 - всегда начинается сначала. Можно, чтобы к последнему пункты меню возвращалось?

Pasha: PSP пишет: 2. Поиск по ключу - клавиша не предусмотрена. Руки так и тянутся к F7)), но там просто поиск. Можно сделать так: если есть открытый индекс, то F7 - поиск по активному ключу? Клавиша там как раз есть, Ctrl+S. По поводу совмещения поиска по ключу (а это dbSeek) с поиском по F7 - можно конечно проанализировать, если текущая колонка является первой в индексном выражении, то отработать поиск по ключу. Но поиск по F7 нечувствителен к регистру, да и там ищется вхождение подстроки. Если его заменить на поиск по ключу, то при этом потеряется такая функциональность, а это не есть гут. Если есть какие-то идеи как можно организовать интерфейс без такой потери - предлагайте.

PSP: Pasha пишет: Клавиша там как раз есть, Ctrl+S Никакой реакции на это сочетание (версия 3.27, вроде последняя) В хэлпе Ctrl-S указана, но в меню этого нет и прога не откликается на Ctrl-S По поводу совмещения поиска по ключу (а это dbSeek) с поиском по F7 - можно конечно проанализировать, если текущая колонка является первой в индексном выражении, то отработать поиск по ключу. Но поиск по F7 нечувствителен к регистру, да и там ищется вхождение подстроки. Если его заменить на поиск по ключу, то при этом потеряется такая функциональность, а это не есть гут. Если есть какие-то идеи как можно организовать интерфейс без такой потери - предлагайте. Пусть будет другая клавиша. Неважно. Лишь бы была)

Pasha: PSP пишет: Никакой реакции на это сочетание (версия 3.27, вроде последняя) Да, увы, комбинацию ctrl+s в харборе использовать нельзя. Поставлю другую клавишу.

Pasha: Новая версия программы доступна по ссылке: https://cloud.mail.ru/public/EkR8/rEiqnF4dn Изменения в программе: - доработана функция полного сравнения с файлом: теперь можно записать выявленные различия. - небольшие изменения в интерфейсе

PSP: Спасибо))

Andrey: Привет всем. Вот прислали мне очередной шедевр - битую базу ! Как такое происходит у них на ХР мне до сих пор непонятно ? За много лет, только несколько раз правил битые dbf от нескольких пользователей. Пробовал руками копировать в другую базу с условиями RECNO() < 72715 вылетает dbedit в конце, хотя базу создаёт. При копировании в другую базу с условиями RECNO() > 73058 вылетает dbedit. Т.е. ручками сбойный участок вырезать невозможно, хотя раньше без полей типа ModTime или автоинкремент этот фокус проходил. Пробовал пометить все сбойные записи (исходя из ведения базы в программе - условие NUM < 99), записи помечаются, но удалить их невозможно, вылетает dbedit. Попробовал в "Меню Операция - Поиск ошибок" - сработало ! Классная менюшка в программе !

Pasha: А в чем эта битость заключается ? И что за вылет ?

Andrey: Pasha пишет: А в чем эта битость заключается ? И что за вылет ? Базу пришлю на почту ! База мусором заполнена. Как такое сейчас на ХР может происходить ?

Vlad04: Обычно, заголовки портятся. Бывает база мусором заполняется. Но это давно было - во времена Клиппера. Лечилось - был какой-то просмотрщик, который заголовок исправлял. - в эталонную пустую базу по-байтно считывалась битая и данные помещались в нужные поля

Andrey: Привет ! Делаю копирование части базы в другой файл. Не копируется... Целиком копируется база в другой файл. Кол-во записей в базе 11845. Баг или неправильно делаю ?

Pasha: Проверяю. Поставил условие для копирования: recno()>20. В результирующем файле получается на 20 записей меньше, чем в исходном.



полная версия страницы