Главная страница
    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
3-33888
Higs
2002-10-22 16:17
2002.11.11
Uniqueidetifier в MS SQL


3-33867
Higs
2002-10-22 11:51
2002.11.11
Record in SQL Insert


1-33943
Dekanovich
2002-10-31 20:24
2002.11.11
Сериализация?


1-34107
iluxa
2002-10-31 16:30
2002.11.11
как проще сделать похожую форму


1-33938
skiph
2002-10-30 09:54
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский