|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
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.
Fichier Zip
Pour les "Membres Club", vous pouvez 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
Sources de la même categorie
Sources en rapport avec celle ci
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
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 table DBF par requet sql [ par deltacO ]
Salut a touscomment creat une table DBF par requete SQLmerci
Appliquer les requêtes SQL sur une table xml. [ par HAFTARIFOUAD ]
Bonjour Je développe une application de base de données à l'aide d'un TClientDataSet et un TDataSourceJ'aimerai bien appliquer un filtre sur plu
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|