Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];

Вниз

TmdwDBF создание файла   Найти похожие ветки 

 
Trible   (2007-02-28 13:53) [0]

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


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

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


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

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


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


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

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


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

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


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

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


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


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

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


 
mdw ©   (2007-03-01 23:53) [7]


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

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


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


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

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


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

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


 
MTsv DN ©   (2007-03-02 13:07) [10]

http://kolnmck.ru


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

Снова вопрос к 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
                 );
- все нормально.
в чем может быть ошибка?


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

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


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

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


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


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

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


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


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

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

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


 
mdw ©   (2007-04-02 12:31) [16]


> а как это сделать? "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. Стандарт такой, иначе некоторые программы могут не читать текст из мемо, а считать его бинарными данными.



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.04 c
2-1192193417
Semen_s
2007-10-12 16:50
2007.11.04
Запись и чтение структуры из файла.


15-1190989765
ProgRAMmer Dimonych
2007-09-28 18:29
2007.11.04
Версии DirectX


15-1191450765
Суслик
2007-10-04 02:32
2007.11.04
adwords от гугл


2-1192186547
Gurd
2007-10-12 14:55
2007.11.04
путь для db


15-1190924869
Petr V. Abramov
2007-09-28 00:27
2007.11.04
OEM XP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский