|
11 символов в названии поля ДБФ | ☑ | ||
|---|---|---|---|---|
|
0
Если
17.04.08
✎
09:03
|
Собственно сабж. Есть ли возможность? Xbase and ADO только 10 позволяют.
|
|||
|
1
ZanderZ
17.04.08
✎
09:15
|
(0) кодирование какой-нить пирдумать
|
|||
|
2
Если
17.04.08
✎
09:15
|
Т.е. нет такой возможности? Хоть бы телепат, что сказал бы.:(
|
|||
|
3
Если
17.04.08
✎
09:15
|
(1) Кодирование чего?
|
|||
|
4
ZanderZ
17.04.08
✎
09:17
|
длинных названий
|
|||
|
5
Mikeware
17.04.08
✎
09:18
|
низзя. см стандарт dbf DBaseIII.
|
|||
|
6
Если
17.04.08
✎
09:22
|
(4) Ну давай предисторию поведаю. Есть во стольном граде Москве такая компания-Антор, написали они прогу для мониторинга автотранспорта и логистики, т.е. выгружаю в ДБФ накладные, они загружаются в прогу и она раскидывает их по авто и формирует рейс. Все работает хорошо, только все поля в ДБФ фиксированные, два поля до этого неиспользовавшиеся 11 символов, сейчас появилась необходимость задействовать эти поля, а ДБФ обрезает имя до 10 знаков и соответственно не загружает данные.:((
|
|||
|
7
Garykom
гуру
17.04.08
✎
10:03
|
http://www.codenet.ru/progr/formt/dbf.php
там на комментарии внимание обрати |
|||
|
8
Если
17.04.08
✎
10:09
|
(7) Ну в комментарии 11 символом идет признак завершения заголовка, а на длинну заголовка так и есть ограничение 10 символов.
|
|||
|
9
Garykom
гуру
17.04.08
✎
10:20
|
(8) "Поскольку вместо признака завершения может появиться первый символ названия следующего поля, который обязан быть латинской буквой, признаком завершения на самом деле может быть любой символ больше 0x0 и меньше 0x41 ('A')"
Т.е. вместо признака завершения поставь 11 символ названия да и проверь. |
|||
|
10
Если
17.04.08
✎
10:23
|
Только я слегка невъезжаю, как мне задать char name[11];
|
|||
|
11
Chieftain
17.04.08
✎
11:09
|
Для делфы есть такой компонент - TDBF от Брусникина И.В.
Сейчас попробовал немножко изменить - легко получается 20 символов и больше... Тока мне не совсем понятно - нафига курочать стандарты? |
|||
|
12
Garykom
гуру
17.04.08
✎
11:11
|
(10) запиши dbf как обычно из 1С, потом открой в hex редакторе и поправь название
или у меня есть обработка которая через binfiles.dll работает с dbf файлами на низком уровне (без использования XBase, ADO и т.д.) |
|||
|
13
Если
17.04.08
✎
11:13
|
(12) Все, огромный сенкс. Москва проснулась, решили проблемку уменьшением ддлинны имени.:)
|
|||
|
14
FreeFin
17.04.08
✎
11:13
|
(0)
"В заголовке DBF-ф файла на каждое поле отводится запись длиной в 32 (20h) байта, и идут они начиная опять же со смещения 20h в файле. А в каждой из этих записей по смещению 11 (0Bh) хранится тип поля - и его уже никуда не сдвинешь. Отсюда и ограничение на длину поля." Из этого вывод = забей, ничо не получится а думай, как покороче поля обзывать. |
|||
|
15
Если
17.04.08
✎
11:24
|
(14) Придумал ужо!:)
|
|||
|
16
ZanderZ
17.04.08
✎
11:36
|
(15) ну давай делись че там надумал ..
|
|||
|
17
Если
17.04.08
✎
11:39
|
(16) Создатели проги ткнули носом в настройки соответствий полей ДБФ загружаемого и СКЛ таблиц.:)
|
|||
|
18
Если
17.04.08
✎
11:40
|
Т.Е. могу хоть один символ в названии поля ставить и соответствие задать.
|
|||
|
19
Если
17.04.08
✎
11:40
|
Но проблема 10 символов в ДБФ мной есссно не решена.:(
|
|||
|
20
Skom
17.04.08
✎
11:42
|
(11) курочить стандарты можно для допольнительной защиты своей программы например
|
|||
|
21
FreeFin
17.04.08
✎
11:46
|
(18) А я думал, что ты чото по типу фоксового "словаря данных" DBC (метеданных?) сочинил. Тама сето один файлик с соответствиями присобачить, к нему и обращаться типа если имя поля содержит служебный префикс=дуй в словарик и ищи как его зовут внатуре.
|
|||
|
22
Если
17.04.08
✎
11:48
|
(21) О таком думал, но проблема решилась просто, а лень матушка.........:)
|
|||
|
23
Если
17.04.08
✎
11:55
|
(12)Garykom а может обормотку кинешь, так на всякий.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |