Creation d?une table paradox par programmation

Soyez le premier à donner votre avis sur cette source.

Vue 13 176 fois - Téléchargée 1 948 fois

Description

Suite à une question est posée sur le forum, j?ai fait un petit essaie pour répondre? voilà.

En bref, cet exemple permet y comme son nom indique de créer une table Paradox par programmation ; j?ai essayé d?utiliser presque tous les types des champs possibles (Alphanumérique, Numérique, Date, Graphiques et Mémo).

Avant de conclure, je désire que cette idée vous servira dans vos travaux.

Et pour conclure, je vous souhaite bonne chance et bonne programmation.

Source / Exemple :


{Création d'une table PARADOX par programmation}
unit AFirst;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, Menus, ExtCtrls, DBCtrls, StdCtrls, Mask, Grids,
  DBGrids, Buttons, ExtDlgs;

type
  TForm1 = class(TForm)
    DBGrid: TDBGrid;
    DBNavigator: TDBNavigator;
    DS: TDataSource;
    PlFiche: TPanel;
    DBENom: TDBEdit;
    DBEPrenom: TDBEdit;
    DBEAge: TDBEdit;
    LabelNom: TLabel;
    LabelPrenom: TLabel;
    LabelAge: TLabel;
    SBQuitter: TSpeedButton;
    DBEDate: TDBEdit;
    LabelDate: TLabel;
    DBImage: TDBImage;
    OPD: TOpenPictureDialog;
    LabelPhoto: TLabel;
    Label1: TLabel;
    DBMemo: TDBMemo;
    procedure FormCreate(Sender: TObject);
    procedure SBQuitterClick(Sender: TObject);
    procedure DBImageDblClick(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
  TableEtudiants: TTable;
implementation

{$R *.dfm}

{Programme réalisé par HAFTARI FOUAD pour toutes informations n'hésitez pas de prendre mon contacte
                                  haftari.fouad.ifrance.com
}
procedure TForm1.FormCreate(Sender: TObject);
begin
// N'oublie pas de déclarer TableEtudiants dans les variables (TableEtudiants:=TTable)
// Tout d'abord on débute par la création de la TableEtudiants

    TableEtudiants := TTable.Create(nil);
    with  TableEtudiants do begin
// Nom de la table = Etudiants.DB qui se trouve dans le même répertoire du l'éxécutable

          TableName := 'Etudiants.db';
// on vérifie l'éxistance de la table TableEtudiants.DB

          if not Exists then begin
// si la table n''existe pas afficher le message et continuer

                 MessageDlg('Le fichier de la base de données "Etudiants.db" n''existe pas, il va être crée.'
                 , mtInformation, [mbok], 0);
// désactiver TableEtudiants

                 Active := False;
// on doit préciser le type de la table; dans notre cas c'est une table PARADOX=ttParadox;

                 TableType := ttParadox;
// On doit préciser le nom de la table qu'elle sera crée

                 TableName := 'Etudiants.db';
// ici on commance par la création des champs

                 with FieldDefs do begin
// tout d'abord on doit supprimer tous les champs existants;

                      Clear;
// on a six champs à créer successivemet "Nom", "Prenom", "Date de naissance", "Age", "Photo", "Remarques";

// Notre premier champ est nommé 'Nom' est de type String=ftstring, la taille =40;
                      with AddFieldDef do begin
                           Name := 'Nom';
                           DataType := ftstring;
                           Size:=40;
                           Required := True;
                      end;
// Notre deuxième champ est nommé 'Prenom' est de type string=ftstring;, la taille du champ = 25;
                      with AddFieldDef do begin
                           Name := 'Prenom';
                           DataType := ftstring;
                           Size:=25;
                           Required := True;
                      end;
// Notre troisième champ est nommé 'Date_Naissance' est de type Date=ftDate;
                      with AddFieldDef do begin
                           Name := 'Date_Naissance';
                           DataType := ftDate;
                           Required := True;
                      end;
// Notre quatrième champ est nommé 'age' est de type integer=ftinteger;
                      with AddFieldDef do begin
                           Name := 'Age';
                           DataType := ftInteger;
                           Required := True;
                      end;
// Le Cinquième champ est nommé 'Photo' est de type Graphique=ftGraphic;
                      with AddFieldDef do begin
                           Name := 'Photo';
                           DataType := ftGraphic;
                           size:=240;
                           Required := True;
                      end;
// Le dernier champ est nommé 'Remarques' est de type Memo=ftMemo;
                      with AddFieldDef do begin
                           Name := 'Remarques';
                           DataType := ftMemo;
                           size:=255;
                           Required := True;
                      end;
                end;
// aprés la création des champs on peut mettre des index: primaires et secondaires
                with IndexDefs do begin
// On doit supprimer tous les index éxistants;
                     Clear;
                     with AddIndexDef do begin
// On doit préciser le type de l'index (Primiare ou secondaire) dans notre cas c'est un index primaire
                          Name := 'idxPrim';
                          Fields := 'Nom';
                          Options := [ixPrimary];
                end;

           end;
// tout est bon il ne rêste qu'a créer la table "Etudiants.DB"
           CreateTable;
           end;
// on doit préciser le DataSet Utilisé à notre DS(DataSource)
           DS.DataSet := TableEtudiants;
// même on doit préciser le DataSource Utilisé à notre DBNavigator
           DBNavigator.DataSource := DS;
// Ici je précise datasource, datafields aux DBEdit utilisé;
           with DBENom do begin
                DataSource := DS;
                DataField := 'Nom';
           //     ReadOnly := false ou True;
           end;
           with DBEPrenom do begin
                DataSource := DS;
                DataField := 'Prenom';
           end;
           with DBEDate do begin
                DataSource := DS;
                DataField := 'Date_Naissance';
           end;
           with DBEAge do begin
                DataSource := DS;
                DataField := 'Age';
           end;
           with DBImage do begin
                DataSource := DS;
                DataField := 'Photo';
           end;
           with DBMemo do begin
                DataSource := DS;
                DataField := 'Remarques';
           end;

// tout est bon il ne rêste qu'ouvire la table
           Open;
    end;

end;

procedure TForm1.SBQuitterClick(Sender: TObject);
begin
Application.Terminate;   // quitter l'application
end;

procedure TForm1.DBImageDblClick(Sender: TObject);
begin
// Avant de charger une image dans notre DBImage on doit vérifier le statut de la table
// si l table est en mode lecture annuler l''opération;
if (TableEtudiants.State<>DsInsert) or (TableEtudiants.State<>DsEdit) then exit;
// pour charger une image à partir d'un OpenImageDialog on doit l'éxécuter avant pour avoir un FileName;
if OPD.Execute then
DBImage.Picture.Bitmap.LoadFromFile(OPD.FileName);
end;

end.

Conclusion :


Toutes question, critiques ou intervention les bienvenues.
Pour toute autre information prenez mon contact

et bonne prog.

F. HAFTARI

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 octobre 2008

au moins vous avez donner une solution

merci a toi et bonne continuation
Messages postés
129
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
14 juillet 2008

chapeau,c'est justement ce que j'avais besoin
Messages postés
19
Date d'inscription
mercredi 28 août 2002
Statut
Membre
Dernière intervention
19 décembre 2008

Bonjour les Pro grammateurs
bonne continuter HAFTARIFOUAD, a ce que j'ai vue ton source est bien présenté, s'ils te reproche la création d'un objet é pa d'un fichier de base de donnée tu peut l'amélioré en cherchent dans ce site, si je me rapel bien ya un source qui converti un fichier EXCEL en BDD il peut tré bien t'aidé.
moi je voudrai bien une source qui m'aide a créer suprimer ou copier des table dans un fichier ACCES j'ai pas le temps pour le fair tt seul lol
salutation
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

Bonjour Monsieur MATRIX1

Je te remercie pour ton message, vraiment ca me donne un grand souffle pour continuer et m'encourage pour améliorer.
Messages postés
175
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
15 avril 2008

La source n'intéressé pas bc de gens mais je remarque que c bien structuré ainsi que bien commenté, tous simplement c comme ça qu'on programme, t'es sur la bonne voie; bonne continuation.
may Delphi be with you.
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.