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

Вниз

Проблема с упаковкой таблицы!!! Помогите пожалуйста!   Найти похожие ветки 

 
Dimaz-z ©   (2003-05-19 22:02) [0]

Дело такое, упаковываю я таблицу с помощью процедуры приведённой ниже, при упаковке файла с путём, в котором присутствуют только английские буквы - всё нормально, но если встречается кириллица, путь файла превращается в иероглифы и из-за этого возникает ошибка - "... table does not exists File: <путь с иероглифами> ..."! Код - procedure Tfrm_main.PackTable(Table: TTable);
var
Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
begin
if not Table.Exclusive then raise EDatabaseError.Create("Table must be opened exclusively to pack");
Check(DbiGetCursorProps(Table.Handle, Props));
if (Props.szTableType = szPARADOX) then begin
FillChar(TableDesc, sizeof(TableDesc), 0);
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
StrPCopy(TableDesc.szTblName, Table.TableName);
StrPCopy(TableDesc.szTblType, Props.szTableType);
TableDesc.bPack := True;
Table.Active:=False;
Table.Close;
Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
end else
if (Props.szTableType = szDBASE) then Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, True))
else raise EDatabaseError.Create("Неправильный формат таблицы");
Table.Close;
end;


 
Dimaz-z ©   (2003-05-19 22:44) [1]

ЭЙ!!!!!!


 
Pat ©   (2003-05-19 23:18) [2]

Преобразовывай путь с помощью CharToOem()


 
Pat ©   (2003-05-19 23:39) [3]

или наоборот OemToChar()...я не помню..на другом винте осталось :)


 
sniknik ©   (2003-05-20 00:25) [4]

CharToOem точно помню :о). или можно AnsiToOem (устаревшее)


 
Dimaz-z ©   (2003-05-20 16:28) [5]

Спасибо! Попробую!!


 
Dimaz-z ©   (2003-05-20 16:55) [6]

Как преобразовать? Напиши кусок кода плз. преобразуется String в String.


 
sniknik ©   (2003-05-20 16:58) [7]

вместо
StrPCopy(TableDesc.szTblName, Table.TableName);
поставь
StrPCopy(TableDesc.szTblName, Table.TableName);
CharToOem(TableDesc.szTblName, TableDesc.szTblName);
(должно прокатить ;о))


 
Dimaz-z ©   (2003-05-20 17:13) [8]

ОГРОМНОЕ СПАСИБО!



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

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
3-26380
DBDev
2003-05-20 18:02
2003.06.09
Как записать объект OLE в поле БД минуя его запись в файл???


1-26466
Vorobyev Sergey
2003-05-29 08:37
2003.06.09
Есть ли методы быстрого чтения больших файлов XML?


1-26582
Dmitry_Bondarev
2003-05-28 14:33
2003.06.09
Как сделать разноцветные строки в ListBox?


14-26754
Andrew
2003-05-22 22:10
2003.06.09
Панель инструментов подобная Ms Word


14-26789
KA-87
2003-05-23 22:30
2003.06.09
Работа с майлером...