Accueil > > > GESTION DE DIVX (BASE DE DONNÉE PARADOXE)
GESTION DE DIVX (BASE DE DONNÉE PARADOXE)
Information sur la source
Description
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 !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|