![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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, там было без мемо.