Descriptor (TQueryExecuteTask)
<source lang='delphi'>property Descriptor:TfwxmlDocument;</source>
Cette propriété contient le descriptif d'exportation.
Un descriptif d'exportation à trois sections principales :
queries
Cette section est une collection de requêtes (query)
query
Cette section décrit une requête
output
Cette section décrit la destination de l'export
exporter
Cette section décrit le formatage des données exportées.
Exemple :
Création dynamique de descriptif d'exportation :
<source lang="delphi"> //Function CreateDescriptor():TxmlDocument; var itr,itqs,itq,itt,itcs,itc,itu,itvs,itv:TxmlItem; begin
Result := TxmlDocument.Create(nil); itr := TxmlItem.Create(Result); itr.ItemName := 'root'; // itqs := itr.AddItem('queries'); itq := itqs.AddItem('query'); itq.AddItems(['QueryName','ClassName'],['main','WfClasseA']); // itt := itr.addItem('output'); itt.AddItemText('ExportColumns','true'); itcs := itt.AddItem('columns'); // itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unCode','Code']); // itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unBool','Boolean']); itvs := itc.AddItem('values'); // itv := itvs.AddItem('value'); itv.AddAttribute('oldValue','N'); itv.AddAttribute('newValue','false'); // itv := itvs.AddItem('value'); itv.AddAttribute('odlValue','O'); itv.AddAttribute('newValue','true');
itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unCompteur','Compteur']);
itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unEntier','Entier']);
itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unEtat','Enuméré']);
itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unDouble','Double']);
itu := itr.AddItem('exporter'); itu.AddItems(['ClassName'],['TCSVExporter']);
end; </source>
Affectation du descriptif à l'instance :
<source lang="delphi"> //Procedure Test; var qbe:TQueryExecuteTask; doc:TxmlDocument; begin
qbe := TQueryExecuteTask.Create;
doc := CreateDescriptor(); AStr := doc.SaveToString;
// Do not create the descriptor directly inside the Descriptor.document // instead, use an intermediate document. // This will recreate the document with the correct internal item classes // qbe.Descriptor.Document.LoadFromString(AStr);
...
end; </source>
Voir aussi:
{{#if:TQueryExecuteTask_(class)|
{{#if:TQueryExecuteTask_(class)|— TQueryExecuteTask_(class) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}