Accueil > > > CRÉATION D'UNE TABLE XML PAR PROGRAMMATION.
CRÉATION D'UNE TABLE XML PAR PROGRAMMATION.
Information sur la source
Description
Bonne journée à tous voila un petit exemple qui montre; comment créer une table xml. en réalité le présent programme est la suite du programme que j'ai déposé tout à l'heure "Gestionnaire de contacts". Grâce à ce modeste travail comme vous le voyer, vous aller apprendre: 1- Comment créer une table xml par programmation. 2- Comment exploiter une table xml. 3- Comment créer un un composant TClientDataSource. 4- Comment exlpoiter une table existante. 5- Comment enregister la table à l'aide d'une boitte de dialigue. 6- et d'autres que vous aller découvrire vous même. Avant de terminer, je souhaite que mon travail vous fournira beaucoup d'idées. A la fin je vous souhaite bonne chance et plein de succès.
Source
- unit AFirst;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids,DB,DBClient;
-
- type
- Txmltable = class(TForm)
- MainMenu: TMainMenu;
- Fichier: TMenuItem;
- Crerlatable: TMenuItem;
- N1: TMenuItem;
- Quitter: TMenuItem;
- Sauvegarder: TMenuItem;
- Ouvrire: TMenuItem;
- SaveDialog: TSaveDialog;
- Panel1: TPanel;
- DBGrid: TDBGrid;
- Panel2: TPanel;
- DBNavigator: TDBNavigator;
- OpenDialog: TOpenDialog;
- procedure CrerlatableClick(Sender: TObject);
- procedure SauvegarderClick(Sender: TObject);
- procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- procedure QuitterClick(Sender: TObject);
- procedure OuvrireClick(Sender: TObject);
- private
- { Déclarations privées }
- public
- { Déclarations publiques }
- end;
-
- var
- xmltable: Txmltable;
- CDSet:TClientDataSet;
- implementation
-
- {$R *.dfm}
- uses DataModule;
-
- procedure Txmltable.CrerlatableClick(Sender: TObject);
- begin
- // c bien de vérifier l'existance d'un composant avant de créer la table
-
- // Créer un TClientDataSet
- CDSet:= TClientDataSet.Create(nil); // n'oubliez pas d'ajouter DBClient aux uses
- // avec CDSet faire
- With CDSet.FieldDefs do
- begin // bedut
- Clear; // Effacer tous les champs
- Add('Reference',ftAutoInc,0);// n'oublie pas d'ajouter DB aux uses
- Add('Nom',ftString,40); // ajouter le champs nom de type string et de taille 40
- Add('Prenom',ftString,40);
- Add('Adresse',ftString,40);
- Add('Ville',ftString,20);
- Add('Paye',ftString,30);
- Add('Tel_Portable',ftString,40);
- Add('Tel_Bureau',ftString,40);
- Add('Groupe',ftString,20);
- Add('Notes',ftMemo,255); // Ajouter Notes de type Memo et de taille 255
- Add('Photo',ftGraphic,0); // Ajouter Photo de type graphique
- end; // fin
- CDSet.CreateDataSet;// créer le CDSet
- //CDSet.Free; // Libérer CDSet
- Sauvegarder.Enabled:=true; // activer l'item sauvegarder
- ShowMessage('La table a été crée avec succès');
- end;
-
- procedure Txmltable.SauvegarderClick(Sender: TObject);
- begin
- SaveDialog.FileName:='BaseRepTel.xml'; // le nom du fichier du SaveDialog
- if SaveDialog.Execute then // Si SaveDialog est exécuté
- CDSet.SaveToFile(SaveDialog.FileName); // enregistrer notre table
- CDSet.Free; // Libérer CDSet
- Sauvegarder.Enabled:=false; // Désactiver l'item Sauvegarder
- end;
-
- procedure Txmltable.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- begin
- CanClose:=False; // empécher la fermeture de l'application
- // Afficher un message de confirmation
- if MessageDlg('Etes vous sûre de vouloir quitter?', mtConfirmation, [mbYes, mbNo], 0)
- // si oui est choisi
- = mrYes then
- // Terminer le programme
- Application.Terminate;
- end;
-
- procedure Txmltable.QuitterClick(Sender: TObject);
- begin
- if MessageDlg('Etes vous sûre de vouloir quitter?', mtConfirmation, [mbYes, mbNo], 0)
- // si non est choisi annuler
- = mrNo then Exit;
- // Terminer le programme
- Application.Terminate;
- end;
-
- procedure Txmltable.OuvrireClick(Sender: TObject);
- begin
- if OpenDialog.Execute then// Si OpenDialog est exécuté
- begin
- Data.CDSet.Active:=false;// Désactiver CDSet
- Data.CDSet.LoadFromFile(OpenDialog.FileName); // charger le fichier séléction
- Data.CDSet.Active:=true;// Activer CDSet
- end;
- end;
-
- end.
- _____________________________________________
- unit DataModule;
-
- interface
-
- uses
- SysUtils, Classes, DB, DBClient;
-
- type
- TData = class(TDataModule)
- DS: TDataSource;
- CDSet: TClientDataSet;
- procedure DataModuleCreate(Sender: TObject);
- private
- { Déclarations privées }
- public
- { Déclarations publiques }
- end;
-
- var
- Data: TData;
-
- implementation
-
- {$R *.dfm}
-
- procedure TData.DataModuleCreate(Sender: TObject);
- begin
-
- if FileExists('BaseRepTel.xml') then
- begin
- CDSet.LoadFromFile('BaseRepTel.xml');
- CDSet.Open;
- end else
- begin
- With CDSet.FieldDefs do
- begin
- Clear;
- Add('Reference',ftAutoInc,0);
- Add('Nom',ftString,40);
- Add('Prenom',ftString,40);
- Add('Adresse',ftString,40);
- Add('Ville',ftString,20);
- Add('Paye',ftString,30);
- Add('Tel_Portable',ftString,40);
- Add('Tel_Bureau',ftString,40);
- Add('Groupe',ftString,20);
- Add('Notes',ftMemo,0);
- Add('Photo',ftGraphic,0);
- end;
- CDSet.CreateDataSet;
- CDSet.SaveToFile('BaseRepTel.xml');
- end;
- end;
-
- end.
-
unit AFirst;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids,DB,DBClient;
type
Txmltable = class(TForm)
MainMenu: TMainMenu;
Fichier: TMenuItem;
Crerlatable: TMenuItem;
N1: TMenuItem;
Quitter: TMenuItem;
Sauvegarder: TMenuItem;
Ouvrire: TMenuItem;
SaveDialog: TSaveDialog;
Panel1: TPanel;
DBGrid: TDBGrid;
Panel2: TPanel;
DBNavigator: TDBNavigator;
OpenDialog: TOpenDialog;
procedure CrerlatableClick(Sender: TObject);
procedure SauvegarderClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure QuitterClick(Sender: TObject);
procedure OuvrireClick(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
xmltable: Txmltable;
CDSet:TClientDataSet;
implementation
{$R *.dfm}
uses DataModule;
procedure Txmltable.CrerlatableClick(Sender: TObject);
begin
// c bien de vérifier l'existance d'un composant avant de créer la table
// Créer un TClientDataSet
CDSet:= TClientDataSet.Create(nil); // n'oubliez pas d'ajouter DBClient aux uses
// avec CDSet faire
With CDSet.FieldDefs do
begin // bedut
Clear; // Effacer tous les champs
Add('Reference',ftAutoInc,0);// n'oublie pas d'ajouter DB aux uses
Add('Nom',ftString,40); // ajouter le champs nom de type string et de taille 40
Add('Prenom',ftString,40);
Add('Adresse',ftString,40);
Add('Ville',ftString,20);
Add('Paye',ftString,30);
Add('Tel_Portable',ftString,40);
Add('Tel_Bureau',ftString,40);
Add('Groupe',ftString,20);
Add('Notes',ftMemo,255); // Ajouter Notes de type Memo et de taille 255
Add('Photo',ftGraphic,0); // Ajouter Photo de type graphique
end; // fin
CDSet.CreateDataSet;// créer le CDSet
//CDSet.Free; // Libérer CDSet
Sauvegarder.Enabled:=true; // activer l'item sauvegarder
ShowMessage('La table a été crée avec succès');
end;
procedure Txmltable.SauvegarderClick(Sender: TObject);
begin
SaveDialog.FileName:='BaseRepTel.xml'; // le nom du fichier du SaveDialog
if SaveDialog.Execute then // Si SaveDialog est exécuté
CDSet.SaveToFile(SaveDialog.FileName); // enregistrer notre table
CDSet.Free; // Libérer CDSet
Sauvegarder.Enabled:=false; // Désactiver l'item Sauvegarder
end;
procedure Txmltable.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=False; // empécher la fermeture de l'application
// Afficher un message de confirmation
if MessageDlg('Etes vous sûre de vouloir quitter?', mtConfirmation, [mbYes, mbNo], 0)
// si oui est choisi
= mrYes then
// Terminer le programme
Application.Terminate;
end;
procedure Txmltable.QuitterClick(Sender: TObject);
begin
if MessageDlg('Etes vous sûre de vouloir quitter?', mtConfirmation, [mbYes, mbNo], 0)
// si non est choisi annuler
= mrNo then Exit;
// Terminer le programme
Application.Terminate;
end;
procedure Txmltable.OuvrireClick(Sender: TObject);
begin
if OpenDialog.Execute then// Si OpenDialog est exécuté
begin
Data.CDSet.Active:=false;// Désactiver CDSet
Data.CDSet.LoadFromFile(OpenDialog.FileName); // charger le fichier séléction
Data.CDSet.Active:=true;// Activer CDSet
end;
end;
end.
_____________________________________________
unit DataModule;
interface
uses
SysUtils, Classes, DB, DBClient;
type
TData = class(TDataModule)
DS: TDataSource;
CDSet: TClientDataSet;
procedure DataModuleCreate(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Data: TData;
implementation
{$R *.dfm}
procedure TData.DataModuleCreate(Sender: TObject);
begin
if FileExists('BaseRepTel.xml') then
begin
CDSet.LoadFromFile('BaseRepTel.xml');
CDSet.Open;
end else
begin
With CDSet.FieldDefs do
begin
Clear;
Add('Reference',ftAutoInc,0);
Add('Nom',ftString,40);
Add('Prenom',ftString,40);
Add('Adresse',ftString,40);
Add('Ville',ftString,20);
Add('Paye',ftString,30);
Add('Tel_Portable',ftString,40);
Add('Tel_Bureau',ftString,40);
Add('Groupe',ftString,20);
Add('Notes',ftMemo,0);
Add('Photo',ftGraphic,0);
end;
CDSet.CreateDataSet;
CDSet.SaveToFile('BaseRepTel.xml');
end;
end;
end.
Conclusion
Toutes critiques, contributions, commentaires, dans le sens d'améliorer les bienvenues.
bonne programmation a tous.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Creation de table avec DAO [ par kristof708 ]
bonjourComment fait-on pour creer dynamiquement une base de donnée avec DAOsachant que ma base de donnée doit etre de format dbase(Dbase III+ ou Dbas
creation d'une table par l'application [ par koaiz ]
Salut le mecest il possible que mon application cree sa propre table de base de donnesj'explique par cette exemple :J'ai un magasin qui a bien sur des
créer par programmation un index dans une table paradox [ par juan ]
bjour tous, J'ai une TTable obtenue par copie (méthode batchmove) d'une autre table, et donc sans aucun index défini. Est il possible de définir cet i
convertir une table Interbase en un fichier XML [ par demande001 ]
Bonjour;Comment je peut convertir une table Interbase en un fichier XML sous Delphi ?Merci d'avance...
TClientDataSet et rajout de colonnes [ par mike255 ]
Bonjour, J'utilise un TClientDataSet avec un fichier XML pour sauvegarder les paramètres de mon programme. La table que j'utilise s'appele contacts.x
QUERY CREATION TABLE [ par yvessimon ]
Bonjour,Avec TTable il est possible de crée une base de données "mabase.db"avec TQuery il est possible d'ouvrir cette basePouvez-vous me confirmer s'i
Probleme avec TClientDataSet, je sais pas quoi faire! [ par othland ]
Bonjour tous le monde,je sais que c'est une question debile d'habitude je travaille avec un ADOConnection, ADOQuery et DataSource plus un DBGrid, et j
Creation table DBF par requet sql [ par deltacO ]
Salut a touscomment creat une table DBF par requete SQLmerci
Recherche infos sur la creation dans une table de champ typés ou d'array [ par ericmaudouit ]
Bonjour à tout le monde,Je programme BDE et lors de la creation d'une table PARADOX, j'ai besoin de creer un champ array[0..13] et un champ du type su
creation d'une table bdAccess a partie delphi [ par MohInfo ]
bonsoir a tous Est ce que c'est possible de créer unr base de données access a partie delphi 7 comme interBase ou bien Paradox par exemple on peut cré
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|