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

Вниз

LangId_To_CodePage - Ошибка Left side cannot be assigned to   Найти похожие ветки 

 
Juice ©   (2006-05-03 12:29) [0]

Многие из вас наверное работали с TDBF компонентом. Команда
LangId_To_CodePage[0] := 866; должна поменять кодировку. Пишу ее и получаю ошибку компиляции : [Error]  Left side cannot be assigned to.

Что за ерунда, ведь раньше это работало? Перекомпилирую даже старые проекты где оно работало и получаю теперь эту ошибку.


 
Anatoly Podgoretsky ©   (2006-05-03 12:33) [1]

Судя по тому, что оно находится слева, то это не команда.


 
Juice ©   (2006-05-03 12:50) [2]

А что это ? Это по делу или просто замечание ?


 
Desdechado ©   (2006-05-03 13:07) [3]

это оператор присваивания
причем - присваивания константе (видимо), откуда и ошибка


 
Juice ©   (2006-05-03 15:28) [4]

А оператор присваивания назвать командой в данном контексте это разве ошибка ?
А если по делу, то как в таком случае изменить кодировку таблицы? Это действительно константа. Исправил ее в исходниках на 866, пересобрал пакет и ничего не изменилось.


 
ANB ©   (2006-05-03 16:31) [5]


> Juice ©   (03.05.06 15:28) [4]

Кодировка в таблице DBF лежит в заголовке. Исправление константы в модуле горю не поможет. Нужно править заголовок в файле.


 
Juice ©   (2006-05-03 17:06) [6]


> Кодировка в таблице DBF лежит в заголовке. Исправление константы
> в модуле горю не поможет. Нужно править заголовок в файле.
>

Я таблицу создавал по CreateTable из FieldDefs. Потом создал пустую таблицу нужной кодировки и просто копировал ее и заполнял данными. И что вы думаете, после открытия Dbf.Codepage = 866, вношу данные - Dbf.Codepage = 866, делаю PAckTable - Dbf.Codepage = 1251 ! Какого ? В довесок в конструкторе датамодуля на котором лежит компонента написал кАманды:) DbfGlobals.DefaultOpenCodePage := 866;
 DbfGlobals.DefaultCreateCodePage := 866;
Не помогло. Хрень редкая этот dbf, теперь я понимаю почему его многие так ненавидят.


 
ANB ©   (2006-05-03 17:44) [7]


> Не помогло. Хрень редкая этот dbf, теперь я понимаю почему
> его многие так ненавидят.

Не, по сравнению с битривом DBF - это просто конфетка.
Впрочем, прямая правка кодировки в файле занимает строк 10 кода и доли секунды.


 
Anatoly Podgoretsky ©   (2006-05-03 20:06) [8]

Juice ©   (03.05.06 17:06) [6]
что такое dbf файл? Только правду.


 
Juice ©   (2006-05-04 15:08) [9]


> что такое dbf файл? Только правду.

Файл, где после точечки написано dbf.
Файл базы данных состоит из записи заголовка и записей с данными. В записи заголовка определяется структура базы данных и содержится вся другая информация, относящаяся к базе данных. В файле она начинается с нулевой позиции.

Записи с данными* следуют за заголовком (байты располагаются последовательно) и включают в себя фактическое содержимое полей. Длина записи (в байтах) определяется суммированием указанных длин всех полей. Числа в данном файле размещаются в обратном порядке.

Структура заголовка файла DBFНомер байта Описание значения
00 Типы файлов с данными :

FoxBASE+/dBASE III +, без memo - 0x03
FoxBASE+/dBASE III +, с memo - 0x83
FoxPro/dBASE IV, без memo - 0x03
FoxPro с memo - 0xF5
dBASE IV с memo - 0x8B

01-03 Последнее изменение (ГГММДД)
04-07 Число записей в файле
08-09 Положение первой записи с данными
10-11 Длина одной записи с данными (включая признак удаления)
12-27 Зарезервированы
28 1-есть структ.составной инд.файл (типа .CDX),0-нет
29-31 Зарезервированы
32-n Подзаписи полей
n+1 Признак завершения записи заголовка (0x01)

Cтруктура подзаписи полейБайты Описание
00-10 Название поля (максимально - 10 символов, если меньше 10, тот дополняется пустым символом (0x00))
11 Тип данных :
C - символьное
N - числовое
L - логическое
M - типа memo
D - дата
F - с плавающей точкой
P - шаблон

12-15 Расположение поля внутри записи
16-17 Длина поля в байтах
18-32 Зарезервированы

Примечания по структуре файла с данными.

Данные в файле начинаются с позиции, указываемой в записи заголовка в байтах 08-09. Записи с данными начинаются с байта, содержащего признак удаления. Если в этот байт занесен пробел в коде ASCII (0х20), то запись не удалялась; если же в первом байте - звездочка (0х2A), то запись удалена. За признаком удаления следуют данные из полей, названия которых находятся в подзаписях полей.

Количество полей определяет число подзаписей полей. В базе данных для каждого поля существует одна подзапись поля.


 
Desdechado ©   (2006-05-04 15:29) [10]

это попытка обобщения, однако там многого нет, например, признака наличия индексов, в том числе многотэговых
и какой же из DBF у тебя?



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

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

Наверх





Память: 0.48 MB
Время: 0.011 c
2-1150421663
Anonymous2
2006-06-16 05:34
2006.07.02
Удаление файлов из папки.


15-1149159861
boriskb
2006-06-01 15:04
2006.07.02
5 худших продуктов в IT за все время.


15-1149687062
oldman
2006-06-07 17:31
2006.07.02
Вам не надоела сотовая связь MTS?


2-1150294685
Megabyte
2006-06-14 18:18
2006.07.02
Как "урезать" лишние знаки после запятой у чисел типа real?


2-1150274440
boriss
2006-06-14 12:40
2006.07.02
Как изменить один бит в строке (String)!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский