yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017
-
20 févr. 2012 à 07:38
f0xi
Messages postés4204Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
16 mars 2012 à 02:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
f0xi
Messages postés4204Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202234 16 mars 2012 à 02:35
Bon début mais quelques trucs ne vont pas :
On utilise pas le type TXMLDocument pour le type mais IXMLDocument (tout comme IXMLNode)
->
TXMLConfig = class
private
FXMLDoc: IXMLDocument;
Stocker le FileName est injustifié, Il y a déjà une propriété FileName dans TXMLDocument, FFileName à supprimer, faire deux méthode SetFileName/GetFileName sur FXMLDocument.FileName
N'oublie pas d'ajouter la clause Virtual au Create dans un soucis de dérivation de la classe, FileName est a renomer aFileName (a = argument) de type TFileName plutot que String.
->
constructor Create(const aFilename: TFileName); virtual; overload;
constructor Create; virtual; overload;
La structure XML est un peu brouillon :
il manque l'entête et l'encodage :
<?xml version="1.0" encoding="iso-8859-1"?>
ou
<?xml version="1.0" encoding="UTF-8"?>
Ne pas oublier les <[CDATA[]> pour protéger l'XML dans certains cas, il ne me semble pas en avoir vus la gestion, il suffit de definir le type ntCData dans le NodeType des ChildNodes (IXMLNode)
cela permet de stocker ... de l'XML, de l'HTML, du PHP, du texte français accentué dans une balise XML ou du texte en général.
Bon c'est tout pour le moment.
cs_daoudzd
Messages postés1Date d'inscriptionvendredi 21 novembre 2008StatutMembreDernière intervention20 février 2012 20 févr. 2012 à 12:24
Bonjour yvessimon essaye de changer les uses dans "MANPAGESRC.pas"
moi j'utilise Delphi XE2
16 mars 2012 à 02:35
On utilise pas le type TXMLDocument pour le type mais IXMLDocument (tout comme IXMLNode)
->
TXMLConfig = class
private
FXMLDoc: IXMLDocument;
Stocker le FileName est injustifié, Il y a déjà une propriété FileName dans TXMLDocument, FFileName à supprimer, faire deux méthode SetFileName/GetFileName sur FXMLDocument.FileName
N'oublie pas d'ajouter la clause Virtual au Create dans un soucis de dérivation de la classe, FileName est a renomer aFileName (a = argument) de type TFileName plutot que String.
->
constructor Create(const aFilename: TFileName); virtual; overload;
constructor Create; virtual; overload;
La structure XML est un peu brouillon :
il manque l'entête et l'encodage :
<?xml version="1.0" encoding="iso-8859-1"?>
ou
<?xml version="1.0" encoding="UTF-8"?>
Ne pas oublier les <[CDATA[]> pour protéger l'XML dans certains cas, il ne me semble pas en avoir vus la gestion, il suffit de definir le type ntCData dans le NodeType des ChildNodes (IXMLNode)
cela permet de stocker ... de l'XML, de l'HTML, du PHP, du texte français accentué dans une balise XML ou du texte en général.
Bon c'est tout pour le moment.
20 févr. 2012 à 12:24
moi j'utilise Delphi XE2
uses
SysUtils,
Classes, TypInfo,
Controls, Forms, Dialogs, StdCtrls,
uCiaXml, ComCtrls, inifiles, Buttons, ExtCtrls;
(*) Je n’ai pas testé mais je crois que ça marchera.
20 févr. 2012 à 07:38
Dommage à la compilation il ne trouve pas Vcl.Forms