dbGo
function dbGo(base:string;numero_de_ligne:integer):boolean;
se positionner sur la ligne numero_de_ligne (varie de 1 à dbRowCount)
dbGetData
function dbGetData(base,champ:string):string;
retourne le contenu du champ de la ligne active, s'utilise de concert avec dbGo
dbSetData
function dbSetData(base,champ,valeur:string):boolean;
Modifie la valeur de champ en lui attribuant valeur, s'utilise de concert avec dbGo
dbAddRow
function dbAddRow(base:string):boolean;
Ajoute une ligne à la base, après la création de la ligne vous pouvez utiliser dbSetData sans avoir à utiliser dbGo;
dbClear
function dbClear:boolean;
Efface toute les lignes
dbAddField
function dbAddField(base,champ:string):boolean;
Ajoute un champ à la base
dbGetFields
function dbGetFields(base:string;Liste:TStringList):boolean;
Remplir Liste avec les noms des champs de la base
dbRowCount
function dbRowCount(base:string):integer;
retourne le nombre de ligne de la base
dbFind
function dbFind(base,requete:string):boolean;
effectue une requête sur la base
dbFindGo
function dbFindGo(base:string;numero_de_ligne:integer):boolean;
se positionner sur la ligne numero_de_ligne (varie de 1 à dbFindRowCount) des lignes correspondantes à la requête effectué par dbFind
dbFindGetData
function dbFindGetData(base,champ:string):string;
retourne le contenu du champ de la ligne active, s'utilise de concert avec dbFind et dbFindGo
dbFindRowCount
function dbFindRowCount(base:string):integer;
retourne le nombre de ligne correspondates à la requête effectuée avec dbFind
dbXhtmlTable
function dbXhtmlTable(base,id,summary,caption,foot,cssTable,cssRow:string):string;
retourne le code xhtml du tableau correspond à la base
base id summary caption foot cssTable cssRow |
nom de la base identifiant unique du tableau résumé du contenu du tableau titre du tableau pied de tableau, * pour reprendre le noms des champs classe CSS appliquée au tableau classe css appliquée au ligne paire |
dbFindXhtmlTable
function dbFindXhtmlTable(base,requete,id,summary,caption,foot,cssTable,cssRow:string):string;
retourne le code xhtml du tableau correspond à la requête
base requete id summary caption foot cssTable cssRow |
nom de la base requête identifiant unique du tableau résumé du contenu du tableau titre du tableau pied de tableau, * pour reprendre le noms des champs classe css appliquée au tableau classe css appliquée au ligne paire |
dbTable
function dbTable(base,colWidths:string):string;
retourne le code help&web classique pour la définition d'un tableau rempli avec la base
colWidths permet d'indiquer la largeur des colonnes ex : 80,400 par défaut toute les colonnes font 100 pixels
dbFindTable
function dbFindTable(base,requete,colWidths:string):string;
retourne le code help&web classique pour la définition d'un tableau rempli d'après la requête effectuée sur la base
le composant dbTable utilise ces fonctions
Voici un petit script qui permet de tenir une sorte de journal de compilation, il enregistre le numéro de version de l'aide, la date et le format
// déclaration variables
var database,datepub:string;
maj,min,build:integer;
begin
// n'exécuter le script qu'une fois par compilation
if GetVarInt('COMPIL_LOG',0)=0 then
begin
SetVarInt('COMPIL_LOG',1);
// la base portera le nom du projet
database := GetProjet+'.csv';
// si elle n'existe pas, on crée les champs
if dbRowCount(database)=0 then
begin
dbAddField(database,'Version');
dbAddField(database,'Date');
dbAddField(database,'Compilation');
end;
// obtenir les infos sur la version de l'aide
GetVersion(maj,min,build,datepub);
// on ajoute une ligne à notre base
dbAddRow(database);
// on renseigne les champs de la ligne créée
dbSetData(database,'Version',intToStr(maj)+'.'+intToStr(min)+'.'+inttostr(build));
dbSetData(database,'Date',FormatDateTime('',Now));
if Condition('_HLP_') then dbSetData(database,'Compilation','Hlp') else
if Condition('_HTMLHELP_') then dbSetData(database,'Compilation','HtmlHelp') else
if Condition('_HTML_') then dbSetData(database,'Compilation','Html') else
if Condition('_PDF_') then dbSetData(database,'Compilation','Pdf') else
if Condition('_RTF_WORD_') then dbSetData(database,'Compilation','Rtf') else
dbSetData(database,'Compilation','???');
end;
end;
end.
var database,datepub:string;
maj,min,build:integer;
begin
// n'exécuter le script qu'une fois par compilation
if GetVarInt('COMPIL_LOG',0)=0 then
begin
SetVarInt('COMPIL_LOG',1);
// la base portera le nom du projet
database := GetProjet+'.csv';
// si elle n'existe pas, on crée les champs
if dbRowCount(database)=0 then
begin
dbAddField(database,'Version');
dbAddField(database,'Date');
dbAddField(database,'Compilation');
end;
// obtenir les infos sur la version de l'aide
GetVersion(maj,min,build,datepub);
// on ajoute une ligne à notre base
dbAddRow(database);
// on renseigne les champs de la ligne créée
dbSetData(database,'Version',intToStr(maj)+'.'+intToStr(min)+'.'+inttostr(build));
dbSetData(database,'Date',FormatDateTime('',Now));
if Condition('_HLP_') then dbSetData(database,'Compilation','Hlp') else
if Condition('_HTMLHELP_') then dbSetData(database,'Compilation','HtmlHelp') else
if Condition('_HTML_') then dbSetData(database,'Compilation','Html') else
if Condition('_PDF_') then dbSetData(database,'Compilation','Pdf') else
if Condition('_RTF_WORD_') then dbSetData(database,'Compilation','Rtf') else
dbSetData(database,'Compilation','???');
end;
end;
end.
Regardez aussi le code source du composant DataRubrique qui permet d'insérer du code en fonction de la rubrique ainsi que les composants New, TableNew et Faq.