Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TmdwDBF создание файла [Delphi, Windows]


Trible ©   (2007-02-28 13:53:00) 

Вопрос к mdw:
Можно ли с помощью компонента TmdvDBF создать файл DBF с нуля? (т.е. могу ли я создать структуру таблицы, сразу добавить несколько записей и сохранить все это в нормальный DBF?) Или для этого нужно использовать другие компоненты?


mdw   (2007-04-02 12:31:00) [1]


> а как это сделать? 'Descr'#2'M'#2'512'#1 - так?


Нет. Открываем KOLmdvDBF.pas и видим:
   {    DescriptionDBF format:
   <CodePage>#2 <BlockSize>#1
........



> насчет новой сигнатуры для мемо-полей - скажите, пожалуйста,
>  если можно - что именно и где было исправлено по сравнению
> с предыдущей версией (1.02). И ограничиваются ли изменения
> только исправленной сигнатурой и новым методом NewDbf? (это
> важно).


Сравнил файлы. Отличия:
- добавлен режим ReadOnly, т.е. открывается именно только на чтение (например из папки с доступом только на чтение). По умолчанию False.
- function NewDbf(AFileName: String; DescriptionDBF: String): Boolean;
- для блоков мемо полей dBaseIV сигнатура = $08FFFF. Стандарт такой, иначе некоторые программы могут не читать текст из мемо, а считать его бинарными данными.


Trible   (2007-04-01 17:18:00) [2]


> Короче, выложил на сайт свежую версию. Добавил создание
> DBF в формате dBase IV.

Компонент mdvDBF - прямой доступ к DBF-файлам (с memo) без использования дополнительного ПО.
// - История -
// Дата: 01.03.2007 Версия: 1.03
{
[+] - добавил метод NewDbf
[*] - Поправил сигнатуру мемо-полей для dBaseIV
}

насчет новой сигнатуры для мемо-полей - скажите, пожалуйста, если можно - что именно и где было исправлено по сравнению с предыдущей версией (1.02). И ограничиваются ли изменения только исправленной сигнатурой и новым методом NewDbf? (это важно).


Trible   (2007-04-01 14:10:00) [3]


> Кстати, для мемо-полей лучше все же указывать длину блока
> (стандарт 512).

а как это сделать? 'Descr'#2'M'#2'512'#1- так?


mdw   (2007-03-31 23:13:00) [4]

Кстати, для мемо-полей лучше все же указывать длину блока (стандарт 512). А то, если не указано, то берется минимум, а это очень мало (байт 20, не помню точно). Если не нужен супер "плотный" мемо файл, лучше побольше указать быстрее будет работать. Хотя сейчас это и не актуально...:))


Trible   (2007-03-31 21:58:00) [5]

Разобрался, ограничений нет. Проблема была в том, что использовал русские символы в именах полей. Заменил на латиницу - все заработало.


Trible   (2007-03-31 19:54:00) [6]

Снова вопрос к mdw:
есть ли ограничение на количество memo-полей в DBF формата dBase IV?
пытаюсь делать так:
 DB.NewDBF(Filename,
                   '201' { Windows_Russian_1251 } + #1 +
                   '№'#2'N'#2'10'#1  +
                   'Проект'#2'M'#1 +
                   'Описание'#2'M'#1 +
                   'Размещение'#2'M'#1 +
                   'Комментарий'#2'M'#1
                 );
- не создается ДБФ.
пытаюсь делать так:
 DB.NewDBF(Filename,
                   '201' { Windows_Russian_1251 } + #1 +
                   '№'#2'N'#2'10'#1  +
                   'Проект'#2'M'#1 +
                   'Описание'#2'M'#1 +
                   'Размещение'#2'M'#1
                 );
- все нормально.
в чем может быть ошибка?


MTsv DN   (2007-03-02 13:07:00) [7]

http://kolnmck.ru


Alex3   (2007-03-02 12:23:00) [8]

А ссылочку, на какой сайт выложил?


Trible   (2007-03-02 08:49:00) [9]


> Гм. Даже обидно. В KOLxBase нет поддержки мемо, дальше dBase3
> тоже, и вообще все через жопу, извиняюсь. Ну да ладно, кода
> больше - значит круче:))

Ну ладно, я просто внимательно не смотрел, что там и как в KOLxBase. Так что извиняй, если что не так :)


mdw   (2007-03-01 23:53:00) [10]


> mdvDBF задумывалась как облегченная версия KOLxBase

Гм. Даже обидно. В KOLxBase нет поддержки мемо, дальше dBase3 тоже, и вообще все через жопу, извиняюсь. Ну да ладно, кода больше - значит круче:))
Короче, выложил на сайт свежую версию. Добавил создание DBF в формате dBase IV.
Кстати, не понял сегодня на работе, http://www.delphimaster.ruне дает писать в форум, типа пишет что запрещено мне...козёл типа:)) То ли у них глюк, или наши сетевики постарались... Если надо быстро лучше на мыло писать, отвечу быстрее, если в форуме не рассосется. Дома я редко комп включаю.


Trible   (2007-03-01 09:15:00) [11]


> Посмотрел. Завтра сделаю.

Будет здорово :) Да и логичнее как-то будет: все в одном флаконе. А то KOLxBase позволяет создавать DBF, a mdvDBF нет. На мой взгляд, mdvDBF задумывалась как облегченная версия KOLxBase, но возможность создания DBF (типа CreateDBF в KOLxBase) все же часто нужна.


mdv   (2007-02-28 19:38:00) [12]

Посмотрел. Завтра сделаю.


mdv   (2007-02-28 15:18:00) [13]

Если будешь делать, то бери за основу чтение из файла, ну и вместо read() ставь свои значения. И лучше делать формат Dbase VI, с Foxpro, черт ногу сломит:)


Trible   (2007-02-28 15:01:00) [14]


> Собственно, там делов то: проинициализировать поля заголовков,
>  и работать, потом сохранить.:)

ОК, буду в ближайшее время пробовать.


mdv   (2007-02-28 14:27:00) [15]

Собственно, там делов то: проинициализировать поля заголовков, и работать, потом сохранить.:)


mdv   (2007-02-28 14:24:00) [16]

Сейчас там нету такого, не нужно мне было. Хотя сделать можно. Или выдрать из KOLxBase, там было без мемо.


Наверх

Титульная страница Поиск, карта сайта Написать письмо