![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с упаковкой таблицы!!! Помогите пожалуйста! [D7, Paradox]
Dimaz-z © (2003-05-19 22:02:00)Дело такое, упаковываю я таблицу с помощью процедуры приведённой ниже, при упаковке файла с путём, в котором присутствуют только английские буквы - всё нормально, но если встречается кириллица, путь файла превращается в иероглифы и из-за этого возникает ошибка - "... 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-20 17:13:00) [1]ОГРОМНОЕ СПАСИБО!
sniknik (2003-05-20 16:58:00) [2]вместо
StrPCopy(TableDesc.szTblName, Table.TableName);
поставь
StrPCopy(TableDesc.szTblName, Table.TableName);
CharToOem(TableDesc.szTblName, TableDesc.szTblName);
(должно прокатить ;о))
Dimaz-z (2003-05-20 16:55:00) [3]Как преобразовать? Напиши кусок кода плз. преобразуется String в String.
Dimaz-z (2003-05-20 16:28:00) [4]Спасибо! Попробую!!
sniknik (2003-05-20 00:25:00) [5]CharToOem точно помню :о). или можно AnsiToOem (устаревшее)
Pat (2003-05-19 23:39:00) [6]или наоборот OemToChar()...я не помню..на другом винте осталось :)
Pat (2003-05-19 23:18:00) [7]Преобразовывай путь с помощью CharToOem()
Dimaz-z (2003-05-19 22:44:00) [8]ЭЙ!!!!!!