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

Вниз

Смена Table Langauge для табл.формата Paradox   Найти похожие ветки 

 
ScareCrow   (2002-10-22 15:47) [0]

Подскажите, как (на D6) используя средства BDE API
поменять Table langauge для таблицы формата Paradox???
Или может это можно сделать еще проще???
Заранее благодарю!


 
sniknik ©   (2002-10-22 16:00) [1]

смена драйвера в таблице
procedure ChangeLangDriver(DatabaseName, TableName, LDName: string);
var
TblExt: string;
Database: TDatabase;
TblDesc: CRTblDesc;
OptDesc: FLDDesc;
OptData: array [0..250] of Char;
Cur: hDBICur;
Rec: CFGDesc;
begin
if (TableName="") or (LDName="") then raise Exception.Create("Unknown TableName or LDName");
Database:=Session.OpenDatabase(DatabaseName);
try
if Database.IsSQLBased then raise Exception.Create("Function ChangeLangDriver working only with dBase or Paradox tables");
FillChar(OptDesc, SizeOf(OptDesc), #0);
FillChar(TblDesc, SizeOf(TblDesc), #0);
StrCopy(OptDesc.szName, "LANGDRIVER");
OptDesc.iLen:=Length(LDName)+1;
with TblDesc do begin
StrPCopy(szTblName, TableName);
TblExt:=UpperCase(ExtractFileExt(TableName));
if TblExt=".DBF" then StrCopy(szTblType, szDbase)
else if TblExt=".DB" then StrCopy(szTblType, szParadox)
else begin
AnsiToOEM(StrPCopy(OptData, DatabaseName), OptData);
if DbiOpenCfgInfoList(nil, dbiREADONLY, cfgPersistent, StrPCopy(OptData, "\DATABASES\"+StrPas(OptData)+"\DB INFO\"),Cur)<>DBIERR_NONE
then raise Exception.Create("Unknown table type");
try
while DbiGetNextRecord(Cur, dbiNOLOCK, @Rec, nil)<>DBIERR_EOF do
if StrComp(Rec.szNodeName, "DEFAULT DRIVER")=0 then begin
StrCopy(szTblType, Rec.szValue);
Break;
end;
finally
Check(DbiCloseCursor(Cur));
end;
end;
iOptParams:=1;
pfldOptParams:=@OptDesc;
pOptData:=@OptData;
end;
StrPCopy(OptData, LDName);
Check(DbiDoRestructure(Database.Handle, 1, @TblDesc, nil,nil, nil, False));
finally
Session.CloseDatabase(Database);
end;
end;


вызов

procedure TForm1.Button8Click(Sender: TObject);
begin
Table1.DisableControls;
Table1.Close;
ChangeLangDriver(ExtractFilePath(Edit1.Text), ExtractFileName(Edit1.Text), "cyrr");
Bol:= False;
TableOpen;
Table1.EnableControls;
Bol:= True;
DBGrid1ColEnter(Self);
end;


 
ScareCrow   (2002-10-22 16:23) [2]

С П А С И Б О Б О Л Ь Ш О Е !!!



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
1-34029
kolega
2002-11-02 22:42
2002.11.11
подсчет букв в длинном тексте


1-34110
iluxa
2002-10-31 16:48
2002.11.11
Line с onClick


14-34167
Forever
2002-10-13 16:22
2002.11.11
Помогите разобраться с иерархией протоколов


1-34103
Calm
2002-10-30 16:58
2002.11.11
Странный модуль Proxies.pas


14-34240
X@o$
2002-10-21 10:59
2002.11.11
Памажите !!!