Modifier dynamiquement le "langage d'une table paradox"
Bonjour,
J'utilise Delphi 7 avec le bde et des tables paradox.
Une table paradox contient une propriéte "Langage de table" qui lui est attribuée lors de sa création (elle prend le paramètre langdriver défini dans le BDE)
Je dois modifier le langage de tables paradox existantes afin de les uniformiser (pour résoudre pb d'accents suite à requêtes sql sur ces tables).
Je peux modifier cette propriété par l'option "Restructurer" du module Base de donnée (dans la fenêtre déroulante "propriété") mais je souhaiterai crée un .exe qui fasse cette opération afin de l'automatiser.
Quelqu'un a-t-il une idée.
Merci.
Antoine.
modifier le langage d'une table paradox
bonjour,
je sais que ma réponse est tardive mais elle peut toujours intéresser des personnes qui, comme moi, peuvent tomber sur cette question du forum par hasard.
voici une petite fonction développée sous delphi 6 permettant de changer le langage d'une table paradox :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
uses bde;
// appel de la fonction : on passe le langage de la table client en 'WEurope' ANSI
tableparadox_langdriver('c:\base\client.db', 'LANGDRIVER', 'dbwinwe0');
// fonction langdriver
function tableparadox_langdriver(chemintable_st : string; option, optdata : string) : boolean;
var table : TTable;
hdb : hDBIDb;
res : dbiresult;
tabledesc : CRTblDesc;
fielddesc : FLDDesc;
begin
{raffraichissement barre d'attente.}
Application.ProcessMessages;
{parametrage de la table}
table := TTable.Create(nil);
table.DatabaseName := ExtractFilePath(chemintable_st);
table.TableName := ExtractFileName(chemintable_st);
if (table.Active and not table.Exclusive) then table.Close;
if (not table.Exclusive) then table.Exclusive := true;
if (not table.Active) then table.Open;
Check(DbiGetObjFromObj(hdbiobj(table.Handle), objDATABASE, hdbiobj(hdb)));
table.Close;
FillChar(tabledesc, sizeof(tabledesc), 0);
StrPCopy(tabledesc.sztblname, table.TableName);
StrCopy(tabledesc.sztbltype, szPARADOX);
fielddesc.iOffset := 0;
fielddesc.iLen := length(optdata) + 1;
StrPCopy(fielddesc.szname, option);
tabledesc.iOptParams := 1;
tabledesc.pfldOptParams := @fielddesc;
tabledesc.pOptData := @optdata[1];
try
res := DbiDoRestructure(hdb, 1, @tabledesc, nil, nil, nil, false);
result := (res = DBIERR_NONE);
finally
table.Open;
end;
table.Free;
end; |
Code de la langue Paradox Intl
Bonjour,
au Hazard, je vois que tu utilises dbwinwe0 pour 'WEurope' ANSI
connaitrais tu le code/dll pour affecter le language paradox 'intl' ??