begin process at 2010 02 10 04:09:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > GESTION DE DIVX (BASE DE DONNÉE PARADOXE)

GESTION DE DIVX (BASE DE DONNÉE PARADOXE)


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de Donnees Niveau :Débutant Date de création :02/01/2003 Date de mise à jour :30/04/2003 11:57:57 Vu / téléchargé :13 061 / 1 427

Auteur : Soho1

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Grâce à la précieuse aide de Delphiprog !!!
Maintenant on peut sauvegarder la liste des Divx dans un dossier au choix en fichier .txt et la gestion des données est beaucoup mieux ... gérées !!!
----------------------------------------------
Script ki marche bien mais pourait mieux marcher. Ce programme m'a été très interressant pour aborder la gestion de donnée. Et j'encourage toute personne s'y connaissant + ke moi à y jeter un coup d'oeil pour montrer du doigt mes erreurs.  

Source

  • unit UDivXMainForm;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, Menus, StdCtrls, DBCtrls, DB, DBTables, Buttons, ImgList,
  • ComCtrls, Grids, DBGrids;
  • type
  • TDivXMainForm = class(TForm)
  • MainMenu1: TMainMenu;
  • Fichier1: TMenuItem;
  • mnuEnregistrer1: TMenuItem;
  • N1: TMenuItem;
  • mnuQuitter1: TMenuItem;
  • Afficher1: TMenuItem;
  • N2: TMenuItem;
  • btnAddModify: TBitBtn;
  • Ajouter1: TMenuItem;
  • mnuDivxEnStock: TMenuItem;
  • mnuDivxPretes: TMenuItem;
  • mnuUnDivx1: TMenuItem;
  • APropos1: TMenuItem;
  • Label1: TLabel;
  • GroupBox1: TGroupBox;
  • Label2: TLabel;
  • Label3: TLabel;
  • Label7: TLabel;
  • Label8: TLabel;
  • DBText1: TDBText;
  • DBTextNbCd: TDBText;
  • DBTextDateArrivee: TDBText;
  • DBMemoObservations: TDBMemo;
  • StatusBar1: TStatusBar;
  • chbxNonVus: TCheckBox;
  • chbxPretes: TCheckBox;
  • DBCheckBox1: TDBCheckBox;
  • DBCheckBox2: TDBCheckBox;
  • DBGrid1: TDBGrid;
  • mnuDivxNonVus: TMenuItem;
  • Label4: TLabel;
  • DBTextStock: TDBText;
  • btnModifyObservations: TSpeedButton;
  • generer: TMenuItem;
  • SaveDialog1: TSaveDialog;
  • procedure FormCreate(Sender: TObject);
  • procedure mnuQuitter1Click(Sender: TObject);
  • procedure btnAddModifyClick(Sender: TObject);
  • procedure chbxNonVusClick(Sender: TObject);
  • procedure mnuDivxNonVusClick(Sender: TObject);
  • procedure mnuDivxEnStockClick(Sender: TObject);
  • procedure mnuDivxPretesClick(Sender: TObject);
  • procedure chbxPretesClick(Sender: TObject);
  • procedure btnModifyObservationsClick(Sender: TObject);
  • procedure genererClick(Sender: TObject);
  • end;
  • var
  • DivXMainForm: TDivXMainForm;
  • implementation
  • uses UDmDivX, UAddDeleteModifyForm;
  • {$R *.dfm}
  • {$R LockBtn.res} //ressources dcontenant les bitmap du bouton
  • procedure TDivXMainForm.FormCreate(Sender: TObject);
  • begin
  • //Afficher le nombre total de CD contenus dans la table
  • StatusBar1.Panels[0].Text := Format(sNbDivX, [dmDivX.tblDivX.RecordCount]);
  • end;
  • procedure TDivXMainForm.mnuQuitter1Click(Sender: TObject);
  • begin
  • close;
  • end;
  • procedure TDivXMainForm.btnAddModifyClick(Sender: TObject);
  • begin
  • { Appel de la fiche permettant d'ajouter/Supprimer/modifier le
  • contenu de la table DivX}
  • DivXAddDeleteModifyForm.Show;
  • end;
  • procedure TDivXMainForm.chbxNonVusClick(Sender: TObject);
  • begin
  • //Au passage, Activer/Désactiver la case à cocher chbxPretes
  • chbxPretes.Enabled := not chbxNonVus.Checked;
  • //Actualise l'élément de menu DivXNonVus
  • mnuDivxNonVus.Checked := chbxNonVus.Checked;
  • dmDivX.AfficherNonVus(chbxNonVus.Checked);
  • end;
  • procedure TDivXMainForm.mnuDivxNonVusClick(Sender: TObject);
  • begin
  • { Resteindre l'affichage aux enregistrements pour lesquels
  • le champ Vu est à faux }
  • chbxNonVus.Checked := mnuDivxNonVus.Checked;
  • dmDivX.AfficherNonVus(mnuDivxNonVus.Checked);
  • end;
  • procedure TDivXMainForm.mnuDivxEnStockClick(Sender: TObject);
  • begin
  • { Afficher les enregistrements pour lesquels le champ Stock
  • vaut vrai, donc non prêtés. }
  • chbxPretes.Checked := not mnuDivxEnStock.Checked;
  • dmDivX.AfficherPretes(not mnuDivxEnStock.Checked);
  • end;
  • procedure TDivXMainForm.mnuDivxPretesClick(Sender: TObject);
  • begin
  • { Les DivX prêtés correspondent aux enregistrements pour lesquels le champ
  • Stock est à faux }
  • chbxPretes.Checked := mnuDivxPretes.Checked;
  • dmDivX.AfficherPretes(mnuDivxPretes.Checked);
  • end;
  • procedure TDivXMainForm.chbxPretesClick(Sender: TObject);
  • begin
  • mnuDivxPretes.Checked := chbxPretes.Checked;
  • mnuDivxEnStock.Checked := not chbxPretes.Checked;
  • dmDivX.AfficherPretes(mnuDivxPretes.Checked);
  • end;
  • procedure TDivXMainForm.btnModifyObservationsClick(Sender: TObject);
  • begin
  • {Basculer l'état de DBMemoObservations.ReadOnly }
  • DBMemoObservations.ReadOnly := not DBMemoObservations.ReadOnly;
  • {Selon l'état de DBMemoObservations, afficher une image différente sur
  • le bouton}
  • If DBMemoObservations.ReadOnly then
  • btnModifyObservations.Glyph.LoadFromResourceName(Hinstance, 'LOCKSHUT')
  • else
  • btnModifyObservations.Glyph.LoadFromResourceName(HInstance, 'LOCKOPEN');
  • end;
  • procedure TDivXMainForm.genererClick(Sender: TObject);
  • var F : TextFile;
  • begin
  • Savedialog1.Filter := 'Fichier Texte (*.txt)|(*.txt)';
  • Savedialog1.FileName := 'Liste Divx';
  • Savedialog1.Execute;
  • AssignFile(F,Savedialog1.FileName +'.txt');
  • Rewrite(F);
  • while not dmDivx.tblDivX.Eof do begin
  • Writeln(F,dmDivx.tblDivX.FieldByName('Divx').AsString);
  • dmDivx.tblDivX.Next;
  • end;
  • CloseFile(F);
  • dmDivx.tblDivX.First;
  • end;
  • end.
  • --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • unit UDmDivX;
  • interface
  • uses
  • SysUtils, Classes, DB, DBTables;
  • type
  • TdmDivX = class(TDataModule)
  • dsDivX: TDataSource;
  • tblDivX: TTable;
  • procedure DataModuleCreate(Sender: TObject);
  • private
  • { Déclarations privées }
  • public
  • { Afficher les DivX non vus }
  • procedure AfficherNonVus(NonVus : boolean = True);
  • { Afficher les DivX prêtés}
  • procedure AfficherPretes(Pretes : boolean = True);
  • end;
  • var
  • dmDivX: TdmDivX;
  • ResourceString
  • sNbDivX = 'Nombre de DivX affichés : %d';
  • implementation
  • {$R *.dfm}
  • {-----------------------------------------------------------------------------
  • Procedure: TdmDivX.AfficherNonVus
  • Author: delphiprog
  • Date: 03-janv.-2003
  • Arguments: NonVus: boolean; filtre la table ssi NonVus = True
  • Result: None
  • -----------------------------------------------------------------------------}
  • procedure TdmDivX.AfficherNonVus(NonVus: boolean);
  • begin
  • if NonVus then
  • tblDivX.Filter := 'vu = ''False''';
  • tblDivX.Filtered := NonVus;
  • end;
  • {-----------------------------------------------------------------------------
  • Procedure: TdmDivX.AfficherPretes
  • Author: delphiprog
  • Date: 03-janv.-2003
  • Arguments: Pretes: boolean; filtre la table ssi Pretes = True
  • Result: None
  • -----------------------------------------------------------------------------}
  • procedure TdmDivX.AfficherPretes(Pretes: boolean);
  • begin
  • if Pretes then
  • tblDivX.Filter := 'Stock <> ''''';
  • tblDivX.Filtered := Pretes;
  • end;
  • procedure TdmDivX.DataModuleCreate(Sender: TObject);
  • begin
  • { Conserver le temps de la mise au point de l'application. }
  • if not tblDivX.Active then
  • tblDivX.Active := True;
  • end;
  • end.
  • --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • unit UAddDeleteModifyForm;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, StdCtrls, ExtCtrls, DBCtrls, DB, DBTables, Grids, DBGrids,
  • ComCtrls;
  • type
  • TDivXAddDeleteModifyForm = class(TForm)
  • DBGrid1: TDBGrid;
  • Panel1: TPanel;
  • Label1: TLabel;
  • DBNavigator1: TDBNavigator;
  • StatusBar1: TStatusBar;
  • procedure FormPaint(Sender: TObject);
  • end;
  • var
  • DivXAddDeleteModifyForm: TDivXAddDeleteModifyForm;
  • implementation
  • uses UDmDivX;
  • {$R *.dfm}
  • procedure TDivXAddDeleteModifyForm.FormPaint(Sender: TObject);
  • begin
  • { Afficher le nombre d'enregistrements de la table DivX répondant aux
  • critères de filtrage}
  • StatusBar1.SimpleText := Format(sNbDivX, [dmDivX.TblDivX.RecordCount]);
  • end;
  • end.
unit UDivXMainForm;

interface

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

type
  TDivXMainForm = class(TForm)
    MainMenu1: TMainMenu;
    Fichier1: TMenuItem;
    mnuEnregistrer1: TMenuItem;
    N1: TMenuItem;
    mnuQuitter1: TMenuItem;
    Afficher1: TMenuItem;
    N2: TMenuItem;
    btnAddModify: TBitBtn;
    Ajouter1: TMenuItem;
    mnuDivxEnStock: TMenuItem;
    mnuDivxPretes: TMenuItem;
    mnuUnDivx1: TMenuItem;
    APropos1: TMenuItem;
    Label1: TLabel;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    DBText1: TDBText;
    DBTextNbCd: TDBText;
    DBTextDateArrivee: TDBText;
    DBMemoObservations: TDBMemo;
    StatusBar1: TStatusBar;
    chbxNonVus: TCheckBox;
    chbxPretes: TCheckBox;
    DBCheckBox1: TDBCheckBox;
    DBCheckBox2: TDBCheckBox;
    DBGrid1: TDBGrid;
    mnuDivxNonVus: TMenuItem;
    Label4: TLabel;
    DBTextStock: TDBText;
    btnModifyObservations: TSpeedButton;
    generer: TMenuItem;
    SaveDialog1: TSaveDialog;
    procedure FormCreate(Sender: TObject);
    procedure mnuQuitter1Click(Sender: TObject);
    procedure btnAddModifyClick(Sender: TObject);
    procedure chbxNonVusClick(Sender: TObject);
    procedure mnuDivxNonVusClick(Sender: TObject);
    procedure mnuDivxEnStockClick(Sender: TObject);
    procedure mnuDivxPretesClick(Sender: TObject);
    procedure chbxPretesClick(Sender: TObject);
    procedure btnModifyObservationsClick(Sender: TObject);
    procedure genererClick(Sender: TObject);
  end;

var
  DivXMainForm: TDivXMainForm;


implementation

uses UDmDivX, UAddDeleteModifyForm;

{$R *.dfm}
{$R LockBtn.res}   //ressources dcontenant les bitmap du bouton

procedure TDivXMainForm.FormCreate(Sender: TObject);
begin
  //Afficher le nombre total de CD contenus dans la table
  StatusBar1.Panels[0].Text := Format(sNbDivX, [dmDivX.tblDivX.RecordCount]);
end;

procedure TDivXMainForm.mnuQuitter1Click(Sender: TObject);
begin
  close;
end;

procedure TDivXMainForm.btnAddModifyClick(Sender: TObject);
begin
  { Appel de la fiche permettant d'ajouter/Supprimer/modifier le
   contenu de la table DivX}
  DivXAddDeleteModifyForm.Show;
end;

procedure TDivXMainForm.chbxNonVusClick(Sender: TObject);
begin
   //Au passage, Activer/Désactiver la case à cocher chbxPretes
   chbxPretes.Enabled := not chbxNonVus.Checked;

   //Actualise l'élément de menu DivXNonVus
   mnuDivxNonVus.Checked := chbxNonVus.Checked;
   dmDivX.AfficherNonVus(chbxNonVus.Checked);
end;

procedure TDivXMainForm.mnuDivxNonVusClick(Sender: TObject);
begin
  { Resteindre l'affichage aux enregistrements pour lesquels
   le champ Vu est à faux }
  chbxNonVus.Checked := mnuDivxNonVus.Checked;
  dmDivX.AfficherNonVus(mnuDivxNonVus.Checked);
end;

procedure TDivXMainForm.mnuDivxEnStockClick(Sender: TObject);
begin
  { Afficher les enregistrements pour lesquels le champ Stock
   vaut vrai, donc non prêtés. }
  chbxPretes.Checked := not mnuDivxEnStock.Checked;
  dmDivX.AfficherPretes(not mnuDivxEnStock.Checked);
end;

procedure TDivXMainForm.mnuDivxPretesClick(Sender: TObject);
begin
  { Les DivX prêtés correspondent aux enregistrements pour lesquels le champ
  Stock est à faux }
  chbxPretes.Checked := mnuDivxPretes.Checked;
  dmDivX.AfficherPretes(mnuDivxPretes.Checked);
end;

procedure TDivXMainForm.chbxPretesClick(Sender: TObject);
begin
  mnuDivxPretes.Checked := chbxPretes.Checked;
  mnuDivxEnStock.Checked := not chbxPretes.Checked;
  dmDivX.AfficherPretes(mnuDivxPretes.Checked);
end;

procedure TDivXMainForm.btnModifyObservationsClick(Sender: TObject);
begin
  {Basculer l'état de DBMemoObservations.ReadOnly }
  DBMemoObservations.ReadOnly := not DBMemoObservations.ReadOnly;
  {Selon l'état de DBMemoObservations, afficher une image différente sur
   le bouton}
  If DBMemoObservations.ReadOnly then
    btnModifyObservations.Glyph.LoadFromResourceName(Hinstance, 'LOCKSHUT')
  else
    btnModifyObservations.Glyph.LoadFromResourceName(HInstance, 'LOCKOPEN');
end;

procedure TDivXMainForm.genererClick(Sender: TObject);
var F : TextFile;
begin
  Savedialog1.Filter := 'Fichier Texte (*.txt)|(*.txt)';
  Savedialog1.FileName := 'Liste Divx';
  Savedialog1.Execute;
   AssignFile(F,Savedialog1.FileName +'.txt');
   Rewrite(F);
  while not dmDivx.tblDivX.Eof do begin
  Writeln(F,dmDivx.tblDivX.FieldByName('Divx').AsString);
  dmDivx.tblDivX.Next;
  end;
  CloseFile(F);
  dmDivx.tblDivX.First;


end;

end.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
unit UDmDivX;

interface

uses
  SysUtils, Classes, DB, DBTables;

type
  TdmDivX = class(TDataModule)
    dsDivX: TDataSource;
    tblDivX: TTable;
    procedure DataModuleCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Afficher les DivX non vus }
    procedure AfficherNonVus(NonVus : boolean = True);
    { Afficher les DivX prêtés}
    procedure AfficherPretes(Pretes : boolean = True);
  end;

var
  dmDivX: TdmDivX;

ResourceString
  sNbDivX = 'Nombre de DivX affichés : %d';

implementation

{$R *.dfm}

{-----------------------------------------------------------------------------
  Procedure: TdmDivX.AfficherNonVus
  Author:    delphiprog
  Date:      03-janv.-2003
  Arguments: NonVus: boolean; filtre la table ssi NonVus = True
  Result:    None
-----------------------------------------------------------------------------}
procedure TdmDivX.AfficherNonVus(NonVus: boolean);
begin
  if NonVus then
    tblDivX.Filter := 'vu = ''False''';
  tblDivX.Filtered := NonVus;
end;

{-----------------------------------------------------------------------------
  Procedure: TdmDivX.AfficherPretes
  Author:    delphiprog
  Date:      03-janv.-2003
  Arguments: Pretes: boolean; filtre la table ssi Pretes = True
  Result:    None
-----------------------------------------------------------------------------}
procedure TdmDivX.AfficherPretes(Pretes: boolean);
begin
  if Pretes then
    tblDivX.Filter := 'Stock <> ''''';
  tblDivX.Filtered := Pretes;
end;

procedure TdmDivX.DataModuleCreate(Sender: TObject);
begin
  { Conserver le temps de la mise au point de l'application. }
  if not tblDivX.Active then
    tblDivX.Active := True;
end;

end.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
unit UAddDeleteModifyForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DBCtrls, DB, DBTables, Grids, DBGrids,
  ComCtrls;

type
  TDivXAddDeleteModifyForm = class(TForm)
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    Label1: TLabel;
    DBNavigator1: TDBNavigator;
    StatusBar1: TStatusBar;
    procedure FormPaint(Sender: TObject);
  end;

var
  DivXAddDeleteModifyForm: TDivXAddDeleteModifyForm;

implementation

uses UDmDivX;

{$R *.dfm}

procedure TDivXAddDeleteModifyForm.FormPaint(Sender: TObject);
begin
  { Afficher le nombre d'enregistrements de la table DivX répondant aux
  critères de filtrage}
  StatusBar1.SimpleText := Format(sNbDivX, [dmDivX.TblDivX.RecordCount]);
end;

end.
  

 Conclusion

Il n'y a apparemment plus de bug, désormais ça marche très bien !
Je serais heureux si vous m'apportiez des améliorations ou des conseils car j'ai envie de continuer à développer cette apli (Génération d'une liste en HTML, gestion de CD musique, gestion de CD de sauvegardes, etc ...)
BYE
----------------------------------------- -----
Il y a un bug ke je n'arrive pas à intercepté au début apres avoir chargé la liste des Divx dans ma DBListbox, il ya un message d'erreur à chaque fois que je tente de modifier ma base. C'est pour cette raison que j'ai désactivé cette possibilité. De plus je n'arrive pas à filtrer les données de ma base ... Ausecour !  

 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 WPC 2002 (WARHAMMER PERSO CREATOR) - EDITEUR DE PERSONNAGES ...

 Sources de la même categorie

Source avec Zip INTERBASE FIREBIRD IBEXPERT par opgiat
Source avec Zip CREE ALIAS AUTOMATIQUEMENT CREATION REPERTOIRE ET TABLE AUSI par opgiat
Source avec Zip CRÉE UN RÉPERTOIRE ET CRÉE CES TABLES PAR PROGRAMME par opgiat
Source avec Zip Source avec une capture CONNEXION MYSQL ET RECUPERATION DANS BASE ACCESS par eli42
Source avec Zip Source avec une capture LIER DEUX TDBGRID par cantador

Commentaires et avis

Commentaire de Delphiprog le 02/01/2003 23:37:16 administrateur CS

Rappel : éviter de mettre les EXE, les DCU dans la zip (ainsi que tous les fichiers de sauveagrde de Delphi *.~*).

Commentaire de Soho1 le 03/01/2003 04:21:00

ah ..... ben je ferai attention
merci ;@))

Commentaire de Delphiprog le 04/01/2003 22:45:31 administrateur CS

Le code source qui fonctionne, tu le publies quand ?

Commentaire de Soho1 le 05/01/2003 00:14:52

ça va pas tarder je rajoute une fonctionnalité
:-)

Commentaire de Roje le 07/01/2003 13:48:59

salut, j'avais commencé à faire une petite appli dans le même genre, mais je voulais rajouter les images des jaquettes dans la base de données, mais là je sèche... vous pouvez me donner une solution ou une idée ?
Merci.

Commentaire de CyberPunk2020 le 26/02/2003 16:02:27

Pareil que Roje, je cherche comment intercepter l'image affichée dans le webbrowser pour télécharger l'image automatiquement (et sans rien demandé à l'utilisateur) afin de la mettre dans le prog, si vous avez des infos pleasseeee helpppppp

Commentaire de PardaliS le 26/10/2003 15:58:41

J'ai fait un programme qui fait Divx/DVD/Vidéothèque... Le code gère une base de donnée XML, mais je n'inclus que le chemin des images, pas les images...
Ce logiciel est freeware et dispo sur : http://pardalissoftware.free.fr

Commentaire de secretsource le 07/01/2004 19:29:53

je l'ai besoin de cet source

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,530 sec (3)

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