Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
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 de la même categorie
Commentaires
Discussions en rapport avec ce code source
|
CalendriCode
| | | L | M | M | J | V | S | D |
| | 1 | 2 | 3 | 4 | 5 | 6 |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | | | |
|
Téléchargements
Logiciels à télécharger sur le même thème :
|