begin process at 2012 02 11 07:42:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > CRÉATION D'UNE TABLE XML PAR PROGRAMMATION.

CRÉATION D'UNE TABLE XML PAR PROGRAMMATION.


 Description

Cliquez pour voir la capture en taille normale
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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture EXEMPLE UTILISATION DBGRID
Source avec Zip Source avec une capture IMAGE DANS UN TDBGRID
Source avec Zip Source avec une capture MESSAGEDLG PERSONNALISÉ
Source avec Zip Source avec une capture HINT PAR CELLULE DANS UN TDBGRID
Source avec Zip Source avec une capture DEVELOPERBIBLIO

 Sources de la même categorie

Source avec Zip Source avec une capture STOCKEUR CODE SOURCE par PythonGreg
Source avec Zip Source avec une capture EXEMPLE UTILISATION DBGRID par HAFTARIFOUAD
Source avec Zip EXPORTE TABLE VER EXCEL par apcmorsott
Source avec Zip Source avec une capture BAK_RESORT POUR SGBD INTERBASE par solitair
Source avec Zip Source avec une capture GESTION DES CODE POSTAUX AVEC UNE BASE ACCESS par AlexFr23

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture FICHIER DUPLIQUÉ AVEC UNE TABLE DE HACHAGE par jerome1875
Source avec Zip Source avec une capture TEXAS HOLDEM COMPTEUR par PhilLU
Source avec Zip EXPORTE TABLE VER EXCEL par apcmorsott
Source avec Zip Source avec une capture GESTIONNAIRE DE CONTACTS par HAFTARIFOUAD
Source avec Zip Source avec une capture CREATION D’UNE TABLE PARADOX PAR PROGRAMMATION par HAFTARIFOUAD

Commentaires et avis

Commentaire de yvessimon le 19/03/2008 09:41:42

Bonjour,

Quand je click sur le ficier BaseRepTel
j'ai l'arborescence xml mais pas un tableau ?

Salutations

Commentaire de HAFTARIFOUAD le 19/03/2008 12:24:21

Salut Mr: yvessimon
essaiez de consulter ce lien:

http://www.tetraedre.com/advanced/xml.php

Aprés vous aller découvrire pour quoi vous avez trouvé une arboredcence et non pas un tableu

bon courage.

Commentaire de yvessimon le 19/03/2008 13:43:13


Efectivement c'est plus clair

Merci
Saluttaions

 Ajouter un commentaire


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é


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,385 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales