Главная страница
    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.45 MB
Время: 0.007 c
1-34088
Yasha
2002-10-31 11:54
2002.11.11
графика


3-33915
surkis
2002-10-23 12:45
2002.11.11
Форматирование в TDBEdit


1-34014
DelphiDummy
2002-11-02 13:59
2002.11.11
Constant expression violates subrange bound


14-34182
pomka
2002-10-21 17:43
2002.11.11
помогите!!!!!!HELP ME, PLIS!!!


4-34290
Denni
2002-09-30 18:21
2002.11.11
Знатокам!





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