Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.02;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.034 c
2-1150270626
Olleg_ator
2006-06-14 11:37
2006.07.02
Исправить структуру dbf таблицы


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


2-1149706598
ПарадоксКвери
2006-06-07 22:56
2006.07.02
Как мне быть с Query&


3-1147005977
wirg
2006-05-07 16:46
2006.07.02
нужна помощь


15-1149435362
antonn
2006-06-04 19:36
2006.07.02
вид сайта