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 !

GESTION D'UN ETABLISSEMENT SCOLAIRE


Information sur la source

Catégorie :Base de Donnees Classé sous : interbase6, delphi7, Client-Serveur, gestion-établissement, DIASOFT-GDB Niveau : Initié Date de création : 25/06/2008 Date de mise à jour : 30/06/2008 12:15:29 Vu / téléchargé: 6 074 / 1 224

Note :
3 / 10 - par 1 personne
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (40)
Ajouter un commentaire et/ou une note

Description

Cest une base de données qui gère au total 4 modules:
- Gestion des inscriptions et de la scolarité
- Gestion du personnel
- Gestion des élèves
- Gestion des bulletins

NB: c'est une version incomplette de mon appli car il comporte un copyright. Au démarrage entrer ce code: BONI comme nom utilisateur et
pour le mot de passe entrer: 'ok' ou 'ful'

 

Conclusion

C'est dans le but d'aider tout ceux qui veule apprendre une programmation client-serveur avec INTERBASE. son utilisation demande la connaissance exacte des infos à rechercher.
Exemple ici N°bulletin 001EL-2008-01, Matricule personnel: 001PER ou 002PER, Matricule élève:001EL, 004EL, Matricule Mère:001ME, Père:001PE..... pour une bonne manipulation des infos.
 

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 !
  •   GEST_ETUDE
    •   DATA
      • DIASOFT.GDBTélécharger ce fichier [Réservé aux membres club]1 208 320 octets
    •   FUL
      • fulico.icoTélécharger ce fichier [Réservé aux membres club]Voir ce fichier766 octets
      • PROGEST_ETUDE.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier434 octets
      • PROGEST_ETUDE.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 552 octets
      • PROGEST_ETUDE.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 597 octets
      • PROGEST_ETUDE.resTélécharger ce fichier [Réservé aux membres club]1 736 octets
      • Umodule.dcuTélécharger ce fichier [Réservé aux membres club]2 672 octets
      • Umodule.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Umodule.dfmTélécharger ce fichier [Réservé aux membres club]5 220 octets
      • Umodule.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier954 octets
      • Umodule2.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Umodule2.dfmTélécharger ce fichier [Réservé aux membres club]3 460 octets
      • Umodule2.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 134 octets
      • Unit1.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit1.dfmTélécharger ce fichier [Réservé aux membres club]236 360 octets
      • Unit1.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 863 octets
      • Unit10.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit10.dfmTélécharger ce fichier [Réservé aux membres club]17 276 octets
      • Unit10.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 230 octets
      • Unit11.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit11.dfmTélécharger ce fichier [Réservé aux membres club]42 990 octets
      • Unit11.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier11 394 octets
      • Unit12.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit12.dfmTélécharger ce fichier [Réservé aux membres club]304 751 octets
      • Unit12.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 685 octets
      • Unit13.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit13.dfmTélécharger ce fichier [Réservé aux membres club]261 642 octets
      • Unit13.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 246 octets
      • Unit14.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit14.dfmTélécharger ce fichier [Réservé aux membres club]9 039 octets
      • Unit14.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 573 octets
      • Unit2.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit2.dfmTélécharger ce fichier [Réservé aux membres club]365 874 octets
      • Unit2.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier9 401 octets
      • Unit3.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit3.dfmTélécharger ce fichier [Réservé aux membres club]3 201 octets
      • Unit3.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 042 octets
      • Unit4.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit4.dfmTélécharger ce fichier [Réservé aux membres club]16 836 octets
      • Unit4.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier6 534 octets
      • Unit5.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit5.dfmTélécharger ce fichier [Réservé aux membres club]12 811 octets
      • Unit5.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 768 octets
      • Unit6.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit6.dfmTélécharger ce fichier [Réservé aux membres club]6 415 octets
      • Unit6.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 118 octets
      • Unit7.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit7.dfmTélécharger ce fichier [Réservé aux membres club]48 722 octets
      • Unit7.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier11 228 octets
      • Unit8.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit8.dfmTélécharger ce fichier [Réservé aux membres club]32 243 octets
      • Unit8.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 877 octets
      • Unit9.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
      • Unit9.dfmTélécharger ce fichier [Réservé aux membres club]7 484 octets
      • Unit9.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 039 octets

Télécharger le zip

Historique

30 juin 2008 12:01:02 :
Incorporation des fichiers DFM manquant à cause de son volume trop grand, cependant, il revient à chacun d'integrer ces fichiers dans le dossier FUL pour poivoir à bien utiliser la source.
30 juin 2008 12:15:29 :
J'ai du mal à ajouter ma source afin de la rendre exploitable, j'avais voulu ajouter les fichiers DFM manquant mais quand je le fait il y a suppression automatique de ma source, donc je l'ai reduit au maximum. C'est domage que on ne puisse pas l'avoir entierement afin de la compiler et voir les avantages car compressé, il fait 1,45Mo.

Commentaires et avis

signaler à un administrateur
Commentaire de Zicson1 le 25/06/2008 22:16:33

Le moteur de la base de données(Database engine) ici c'est INTERBASE, il peut tourner sur un poste où interbase est correctement installé sans DELPHI pourvu que le chémin soit bien paramètré. c'est une base de données utilisable en reseau local seulement(local server).

signaler à un administrateur
Commentaire de SOUMIA le 25/06/2008 22:37:38

salut mes amis

Je crois que les fichiers DFM manquant

signaler à un administrateur
Commentaire de jackalunion le 26/06/2008 00:21:02

Il manque des fichiers, non
j'utilise delphi7

signaler à un administrateur
Commentaire de Zicson1 le 26/06/2008 10:59:48

Merci SOUMIA, c'est une bonne remarque. il manque les fichiers    DFM, mon appli est un peut volumineux donc j'ai essayé de les supprimer pour qu'il soit en deçà d'1Mo, chose que j'ai faite malgré moi. mais au cas où vous n'arriverez pas à l'exploiter, je ferai éliminer certaines fiches en les retirant du projet pour avoir un petit truc de moins d'un méga octet pour montrer tout juste le principe de fonctionnement. Ou si vous savez quels fichiers retirer autre que  ceux des DFM pour l'utiliser sans problème, parce que je pense qu'à matière de nécessiter tous les fichiers se valent.

signaler à un administrateur
Commentaire de Oniria le 26/06/2008 13:41:00

Bonjour,

pour supprimer des fichier qui ne sont pas utile, il faut supprimer les .dcu,cfg,.~dpr

avec, juste ca, il devrai fondre comme neige au soleil

Bon codage

signaler à un administrateur
Commentaire de cantador le 26/06/2008 14:23:05

bonjour,
un peu de message s'impose avant de pouvoir
tester le programme.
il est nécessaire aussi de renommer les composants et de prévoir
l'utilisation des alias permettant de changer aisément l'adresse de la base.

pour l'instant, on est dans l'attente.

signaler à un administrateur
Commentaire de cantador le 26/06/2008 14:23:56

un peu de ménage..(lol)

signaler à un administrateur
Commentaire de Zicson1 le 26/06/2008 17:37:01

Merci mon frère ONIRIA et le problème des fichiers sera ainsi résolu, pour ce qui est du renom des composants, je ne pense pas que ça soit nécessaire mon ami CANTADOR parce qu'il s'agit d'un alias à extension .GDB(Interbase)dont le chemin est C:/GEST_ETUDE/DATA/DIASOFT.GDB ,seule le projet peut être renommer, pour le faire, tu ouvre le fichier DPR sous DELPHI et tu fait "File + save as" pour le renommer et l'enregistrer dans le dossier de ton choix mais la base de données doit être toujour sur la partion C:/ comme l'indique le chemin .NB: Il tourne sur WIN XP à cause du composant XP que je lui est incorporé,sur 2000 SP4 il se lance bien mais ne tourne car il y a incompatibilité de polices, à moins que le composant de skin XP lui soit retiré.

signaler à un administrateur
Commentaire de cantador le 26/06/2008 17:55:46

pas tout à la fois..
d'abord, il est nécessaire de créer un alia..
On ne code pas en dur un chemin d'accès dans
le programme lui-même.
tu ouvre le fichier DPR sous DELPHI et tu fait "File + save as" pour le renommer et l'enregistrer dans le dossier de ton choix
çà ce n'est pas une bonne méthode..

Quand on renommage des composants, cela n'a rien à voir avec le chemin d'accès à la base.
Cette pratique permet aux autres une meilleure compréhension/lecture du source et facilite grandement sa maintenance.

signaler à un administrateur
Commentaire de Zicson1 le 27/06/2008 11:44:48

Une base de données INTERBASE est differente de celle de base de données BDE, pour une base de données BDE il y a un code à écrire pour sa création comme tu le souhaite. Mais pour Interbase il n'y a pas de code à écrire en delphi car il est indépendant de DELPHI, seulement, on utilise DELPHI pour attaquer la base de données Interbase en vue de créer un interface utilisateur pour (enregistrer, supprimer, recuperer...les données) . La différence: Avec BDE les donnée se trouvent regroupées au sein de DELHPI or Avec Interbase DELPHI va chercher les données chez interbase qui est le serveur et malheur pour toi si le serveur n'est pas active tu n'auras rien comme information. Conclusion, DELPHI ne peut créer d'Alias GDB(Interbase) pour le faire on:
- Creation d'un nouveau dossier dans l'emplacement souhaité(C:, D: ou F:)et ensuite on y créer un sous dossier ou créer l'alias GDB.
- Tu ouvres Interbase(Ibconsole)et pour la suite refere toi aux sites interbase pour creer ton alias.
NB: Sans Interbase sur le poste Imposible de travailler sur une base interbase parce que c'est là qu'on créeer les TABLES, LES PROCEDURES, LES FONCTIONS, LES REQUETES, LES TRIGERS avants de les appler dépuis DELPHI.

Pour le renom des composants c'est une bonne chose mais malheureusement, le projet set grand donc renommer un composant affecterait les codes des autre unités ou le code est utilisé. pour voir les code des IBDATASET IBQUERY faites                    
clic droit sur eux + etit SQL. Pour les fiches elles sont toutes rattachées à la fiche FMUNU donc partant de la vous pouvez vous retrouver.

signaler à un administrateur
Commentaire de cantador le 27/06/2008 17:23:11

Inutile de faire tout un blablabla :
- il exite un fichier qui gère les alias d'interbase
renommer un composant affecterait les codes des autre unités :
çà on s'en doute, mais ce n'est pas aux membres du site à faire ce travail ainsi que le ménage dans ton source.

En tout cas pour l'instant, tu n'as pas fait la moindre modification afin de rendre exploitable ce programme.

signaler à un administrateur
Commentaire de eli42 le 28/06/2008 04:42:58 3/10

Ce n'est pas dans mes habitudes de dire c'est bon, ce n'est pas bon, mais le peut que j'ai pu voir exemple unit9, unit16, unit33 qui ont les dfm, me donne pas envie de voir la suite. C'est dommage car j'aurais bien voulu voir un soft en base GDB.

signaler à un administrateur
Commentaire de Zicson1 le 30/06/2008 12:29:28

Merci Mon frère ELI42, j'accepte volontiers tes critiques parce que quand on a pas la totalité d'une source c'est difficile de la comprendre et de l'interpréter. Sincèrement on ne comprendra jamais cette source tant qu'on a pas la totalité des fichiers afin de la compiler et la tester pour tirer profit de son bien fondé. Cette est actuellement en cours de fin projet. elle comporte 65 fiches au total, et ce qui est intéressant, elle convient aux besoins des demandeurs, néanmoins je voulais bien le faire partager en utilisant celle de 49 unités mais hélas les DFM seul fond déjà 1,25Mo.

signaler à un administrateur
Commentaire de MAURICIO le 30/06/2008 18:14:37

Salut,

d' abord, le problème de la taille du projet est très facile à contourner: tu le mets sur une page internet et tu nous refile le link!

Je suis tout à fait d' accord avec Eli42: c' est le gros bordel!

Ça se résume à une base de données, non, plutôt des tables liées entre elles et visualisées à travers de DBGrid, le tout sans âme: le DataModule n' a pas une ligne de code, je sais pas comment vous faites les gars pour arriver à cet exploit.
Les compos sont pas nommés mais vu que les unités non plus, ça reste très homogène...
Lorsque tu devras faire des changements, tu vas comprendre ton erreur.

Le fait que tu aies découpé certaines unités n' est pas en soi une excuse.

Le code semble plutôt bien indenté et le français est correct.
Malheureusement il y a de gros problèmes de programmation comme par exemple le fait que toutes les fenêtres soient crées lors du démarrage de l' appli.

En ce qui concerne le GUI, c' est trop aéré, l' utilisation de PageControl te permettrait d' organiser tes fenêtres.


Pour finir, quelques chose me dit que tu va accepter toutes ces critiques pour pouvoir évoluer et nous présenter quelques chose de plus mature dans les prochaines semaines.

A+

signaler à un administrateur
Commentaire de Zicson1 le 30/06/2008 19:36:52

La programmation est un vaste domaine bien évolutif donc personne ne détient d'une manière figer la meilleur façon de coder. Pour quoi veux tu coder la où je ne code pas et j'obtiens un résultat attendu!c'est une perte de temps. Le module de données que j'ai présenté est une expérience trouvée de mes recherches et cela me permet de vite évoluer. Pire je peux vous presenter un DATAMODULE avec 2 composants seulement (IBDATABASE et IBTRANSACTION), sans DATASOURCE IBTABLE OU IBDATASET et sans code qui fonctionne mieux grâce aux éléments de l'inspecteur d'objet de DELPHI7. SVP ne m'imposer votre architecture et votre manière de coder si le mien ne te va pas tu verras mieux de garder ta majestueuse méthode que moi même je connais déjà. Pour les composants c'est difficile pour toi parce que tu ne connait pas la source mais je n'ai pas de problème à la modifier, hier mon agence m'a demander d'ajouter un script de calcule et c'est ce que je viens de faire et ça marche. Il ne me demanderons pas pour quoi tu n'a pas ajouté ce code, pourvu que ça marche bien et que cela ne soit pas lourd à l'exécution. Au aujourd'hui, avec ces composants IB on peut aller vite sans pour autant perdre le temps à vouloir tout coder, savez-vous qu'un IBDATASET régénère des codes SQL qui nous aide à vite aller sans pour autant coder?...chercher à simplifier plutôt car la bibliothèque est vaste.

signaler à un administrateur
Commentaire de Zicson1 le 30/06/2008 19:50:51

je vous donne quelques exemples: que d'écrire "Form1.Dataset.Active:=True;" je sélectionne le Dataset et je met sa proprieté Active à true dans l'inspecteur d'objet. "Form1.DBEdit.Visible:=False;" pour ce code, un seul clic dans l'inspecteur d'objet suffirait, c'est moi à ma manière de chercher après avoir vu aussi les méthodes communes.

signaler à un administrateur
Commentaire de sidouo le 30/06/2008 22:21:17

salut tout le monde
moi je suis debutants en avec delphie
j'ai creer une base de donnée access
j'ai creer un fichier setup avec installsheld
chez moi il marche mais dans un autre pc il marche plus
ma question c'est comment creer un aliasse odbc automtique lor de l'instalation de l'application et merci
a vous .... merci

signaler à un administrateur
Commentaire de eli42 le 01/07/2008 01:24:35

SIDOUO heum on vas se faire engueler ta question n'est pas au bon endroit, mais bon
//-----------------------------------------------------

var
  Chemin, Base : String;
begin
//----- Ouverture du fichier parametres
  ParamIni := TIniFile.Create(ExtractFilePath(Application.ExeName) +
    '\Data\Parametre.ini');

//----- Lecture du Chemin et nom de la base
    Chemin := ParamIni.ReadString('Principal', 'Chemin', 'Erreur');
      Base := ParamIni.ReadString('Principal', 'Base', 'Erreur');

//----- Mise a jour du database
      Database.ConnectionString := 'provider=Microsoft.Jet.OLEDB.4.0;Data Source='
        + Chemin + '\' + Base + '.MDB;mode=readwrite;Persist Security Info=False';
//-----
   ParamIni.Free

cette methode simple, me permet de faire plusieur base de donnes, d'avoir des base
sur le serveur et d'autre sur le poste, pas oublier de supprimer dans l'inspecteur
d'objet les parametre de CONNECTIONSTRING de la database

Sinon tu creer un DSN au create de ta Form

signaler à un administrateur
Commentaire de eli42 le 01/07/2008 01:34:29

Zicson1 tu veux dire par ton exemple, que toutes tes bases sont tjrs Open, c'est toi qui voit mais je ne trouve pas que c'est bien propre, chacun code comme il le désire certes, le client veut que ça marche et ne veut pas savoir comme c'est codé, mais bon la on va se lancer dans une grande polémique, et tu ne gagnera pas, ce que je trouve dommage j'aurais bien voulu voir un source avec une base GDB, car j'aurais bien essayé pour échanger contre mes Access. Mais bon je pers pas espoir que tu nous mette en lignes quelque chose ou on puisse vraiment tester.
//-------------------------------------------------
je vous donne quelques exemples: que d'écrire "Form1.Dataset.Active:=True;" je sélectionne le Dataset et je met sa proprieté Active à true dans l'inspecteur d'objet. "Form1.DBEdit.Visible:=False;" pour ce code, un seul clic dans l'inspecteur d'objet suffirait, c'est moi à ma manière de chercher après avoir vu aussi les méthodes communes.

signaler à un administrateur
Commentaire de MAURICIO le 01/07/2008 10:10:33

Je ne veux rien imposer mais ta façon de faire est très brouillon mais si tu t' y retrouves, c' est parce que le projet est très simpliste est qu' il est tout frais.

Sur ce,
A+

signaler à un administrateur
Commentaire de sidouo le 01/07/2008 12:03:54

merci beaucoup ELI42
mais votre repense est compliqué par rapport a mes connaissace

ce que je veux une repense plus detaille c'est si possible

alors l'application est un repertoire telphonique

il marche tres bien sur mon ordinateur

donc j'ai creer un alias ODBC (windows xp un db access) j'ai l y trouve sur le chanp databaename .

mais l'rsque je crée le ficheir setup et je le donne a un autre ca marche pas .
donc comment faire avec explication svp pour y arrivé svp .

mecri ELI42 j'attend ta repense merci.

signaler à un administrateur
Commentaire de yvessimon le 01/07/2008 14:07:30

Bonjour,

Ou trouver unit37 ?

Salutations

signaler à un administrateur
Commentaire de cantador le 01/07/2008 14:28:35

Il semble qu'il y ait une incompréhension sur l'usage du site.
(il serait d'ailleurs intéressant que les admins se manifestent)

L'objectif n'est pas que tout le monde dépose ses brouillons de code et attende qu'un bon samaritain de passage remette tout en ordre mais bien plutôt d'offrir à la communauté quelque chose de consistant, de travaillé, d'organisé, d'inattendu, d'original,  voire d'utile aussi, afin que chacun puisse en profiter.

les questions basiques doivent se débattre sur le forum.

Le forum, c'est le brouillon et le site, c'est le rendu final !

signaler à un administrateur
Commentaire de sidouo le 01/07/2008 14:52:37

desole mon pote mais j'ais pas trouver quequ'un qui m'aide
je suis vraiment desole de ma part
excuse mois je le ferai jamais
ok
seulement aide moi a trouver une solution pour mon probleme
merci contador

signaler à un administrateur
Commentaire de Zicson1 le 01/07/2008 15:00:30

Bien évidement, c'est ce je reprochais à ELI42 tout le monde n'a pas la même expertise, moi je cherche pour simplifier, c'est le cas ici.

Pour moi le problème qui s'oppose ici à la source de SIDOUO, c'est le manque du moteur du type de la base de données "DATABASE ENGINE" ici c'est le cas ODBC.

Je ne sais pas si c'est fait avec les composants ADO de la bubliotheque de DELPHI mais le plus important, il y a plusieurs méthodes dont celle de ELI42, on peut procéder par la méthode des registres du systeme en incorporant ces DLL(Librairies de Liens Dinamiques) mais c'est délicat de manipuler les registres de ta machine car en cas d'erreur tu risques de réinstaller ta machine, donc écoute j'ai une méthode très très simple pour toi.

Tu n'a pas besoin de coder, j'ai le paquet de tous les DLL des appli BDE, il suffit simplement de les copier dans le dossier ou se trouve ton l'exe de ton appli et c'est tout. pour paramétrer ton pilote ODBC tu clic deux fois sur BDE ADMIN qui est aussi inclus dans le paquet.

S'il te plait M.YVESSIMON, mon appli fait plus d'un Mo donc tous les fichiers ne sont pas présent, pour avoir la totalité de la source, envoie moi un E-mail à :diahoreful@yahoo.fr, car je viens de l'envoyer à d'autres personnes du forum qui m'ont envoyer un message privé.


nulle ne détient le monopole du savoir,"Ce que je sais, je ne sais rien" RENE DESCARTES.

signaler à un administrateur
Commentaire de cantador le 01/07/2008 16:55:30

oui Descartes ne connaissait rien,
mais il s'est bien rattrapé..

signaler à un administrateur
Commentaire de Zicson1 le 01/07/2008 17:21:05

Il semble qu'il y ait une incompréhension sur l'usage du site.
(il serait d'ailleurs intéressant que les admis se manifestent), car je ne sais pas pourquoi Mon frère CANTADOR peut se permettre de m'agresser sur un site où les règles du jeu sont bien établi. c'est dommage, vraiment dommage parce que je veux partager mon savoir.

de toute les façons je souhaiterais que ma source soit supprimée immédiatement de peur je ne sois agraissé d'avantage parce que cette foi ci je répliquerais et le site se transformera à autre chose mais pour leur je lui fait grâce car il ne sait pas se qu'il dit.

Car il est cruel d'utiliser les injures pour cacher ses insuffisances, leur est venu où tu présenteras ta sources INTERBASE-DELPHI bien fait comme tu le souhaite à la communauté en lieu et place de ma source pour que je respire mieux. et si l'on regarde bien parmi les sources que tu as postés, je suis convaincu que tu n'a jamais coder avec INTERBASE et tu n'a aucune notion. Merci

signaler à un administrateur
Commentaire de cantador le 01/07/2008 17:39:07

il n'y aucune aggressivité de ma part.
et sauf erreur de ma part, je n'ai proféré aucune injure.
et du reste je n'ai rien à te prouver..

Essaie déjà de faire en sorte que ton source fonctionne et après on verra la suite.

Tu devrais pouvoir faire fondre comme beurre au soleil tes fichiers..

signaler à un administrateur
Commentaire de cantador le 01/07/2008 18:46:20

je suis convaincu que tu n'a jamais coder avec INTERBASE et tu n'a aucune notion.

çà c'est une attaque personnelle et qui n'a pas sa place ici !

signaler à un administrateur
Commentaire de MAURICIO le 01/07/2008 18:55:23

En ce qui me concerne, je suis pour que les débutants puissent poster leur sources, daube ou pas.

Par contre, ne pas accepter les critiques constructives, voire attaquer leurs auteurs, ça c'est vraiment infantil.

A+

signaler à un administrateur
Commentaire de eli42 le 02/07/2008 01:05:41

Zicson1, on va régler le problème envoi moi ton source a mon adresse en plusieurs zip ou rar, je le mettrais sur mon site et je mettrai un lien ici, comme ça la polémique stoppera, car discuter sur un truc qu'on a pas ce n'est constructif pour personne.

signaler à un administrateur
Commentaire de eli42 le 02/07/2008 01:25:52

Tu as raison cantador et c'est ma faute, j'aurais du lui répondre directement sur sa messagerie, je m'en excuse auprès des admins, qu'ils supprimes les messages concerné.

//-----------------------
Il semble qu'il y ait une incompréhension sur l'usage du site.
(il serait d'ailleurs intéressant que les admins se manifestent)

L'objectif n'est pas que tout le monde dépose ses brouillons de code et attende qu'un bon samaritain de passage remette tout en ordre mais bien plutôt d'offrir à la communauté quelque chose de consistant, de travaillé, d'organisé, d'inattendu, d'original,  voire d'utile aussi, afin que chacun puisse en profiter.

signaler à un administrateur
Commentaire de cantador le 02/07/2008 19:50:33

@Eli42 :
pas de soucis, tout va bien..

signaler à un administrateur
Commentaire de eli42 le 02/07/2008 21:55:05

Bonjour, suite à la demande de Zicson1 et qu'on puisse avoir un source, qui fonctionne, je vous met en ligne son source avec les DFM

Programme  : http://www.gest42.com/georges/zicson1/GEST_ETUDE.ZIP   1.59mo
IB6Serveur : http://www.gest42.com/georges/zicson1/IB6Serveur.zip   4.17mo

Je ne fais que l'intermédiaire, pour rendre service.

signaler à un administrateur
Commentaire de cantador le 03/07/2008 16:19:53

j'ai testé rapidement l'appli :
le choix interbase est discutable puisque Firebird fait la même chose en mieux et gratuit.
QuickReport, c'est un peu vieillot, mais en fonction des besoins..

Quelques éléments à revoir sur le modèle comme la définition des champs, les normes, les options de tri.
on peut également fixer les contraintes ce qui allèle le code..

le programme lui-même :
Renommer les composants et notamment les unités (ouf!)
la connexion ne marche avec LOKO..(création d'une autre query alors qu'il existe déjà)
il comporte beaucoup de formes et qui ne sont pas toutes utilisées en même temps..
il vaut mieux donc les ouvrir à la demande ce qui accélerera l'ouverture de l'appli.

Manque de précision dans le traitement des boutons (en haut, en bas etc)
choisir des icones évocateurs et les placer dans une barre d'outils ou mieux encore un sidebar.

Le menu n'est pas très parlant pour un utilisateur lambda..
il faut que le cheminement soit plus encadré et l'information mieux répartie:
il y a un mélange d'élèves, d'utilisateurs et de comptabilité (salaires)

pas facile de s'y retrouver dans ce dédale..

signaler à un administrateur
Commentaire de HAFTARIFOUAD le 06/07/2008 14:39:00

Bonjour

J'aimerai bien participer, car le domaine de la gestion m'intéresse :

Tout d'abord, je vous félicite pour votre travaille, c'est pour ça que j'ai décidé à participer personnellement dans l'amélioration, et de vous donner mon point de vu :
1. Renommez vos unités, composants, .
2. Faites très attention aux fautes de frappes ou d'orthographe.
3. Il est très utile de gérer vos messages d'erreurs et de confirmations ; par Ex. lorsque l'utilisateur clique par erreur sur le bouton Quitter, donc, il va perdre son travaille !!!
4. Très importante la gestion des transactions.
5. Il est utile gérer le mot de passe ; d'utiliser les fichiers de paramètres (*.ini) ou de manipuler la base de registre pour le stockage.
6. Il est utile d'appliquer l'unes des méthodes de cryptage des chaînes de caractère, grâce à ça vous gagnerez le confiance de l'utilisateur du programme (logiciel plus sécurisé et le taux de risque de perdre les informations est réduit).
7. Il est important de gérer le nombre de fois d'entrées d'un faux mot de passe.
8. C'est mieux de créer vos TIBTables et . dans un DataModule. (Séparer les composants visuels et non visuels).
9. Important, de rendre votre application transportable. C.D : Créer un alias dynamique -je sais pas si c'est possible avec une DBB Interbase, mais, une autre idée ; au lieu de mettre C:\Application\... vous aller mettre : .\Application\...

Pour ne pas tarder, je vous souhaite bonne progression et bonne continuation.

signaler à un administrateur
Commentaire de Zicson1 le 07/07/2008 15:17:20

Génial M. AFTARIFOUAD! votre intervention sur mo code m'a beaucoup impressioné, et je me deman de, pour quoi vous ne l'avez pas dit si tôt. En éffet je suis interessé par vos critiques et je suis sur que cela m'apportera quelque chose de nouveau. si tu pouvais m'expliquer mieux ces deux points cela m'apportera un plus:

5. Il est utile gérer le mot de passe ; d'utiliser les fichiers de paramètres (*.ini) ou de manipuler la base de registre pour le stockage.

6. Il est utile d'appliquer l'unes des méthodes de cryptage des chaînes de caractère, grâce à ça vous gagnerez le confiance de l'utilisateur du programme (logiciel plus sécurisé et le taux de risque de perdre les informations est réduit).

Mais pour le point 9 c'est paussible de créer un alias Interbase dynamiquement, voir ceci:

POUR CREER UNE BASE DE DONNEE INTERBASE EN DYNAMIQUE, IL FAUT ETRE EN LOCAL (SERVEUR INTERBASE INSTALLE SUR LA MACHINE CIBLE).

Il faut d'abord
- Assigner le nom de la base (généralement les base Interbase ont comme extension .GDB).
- Déterminer le dialecte SQL (3 étant le dernier).
- Remplir les paramètres de création (j'ai utilisé les paramètres de base d'Interbase, mais c'est déconseillé, il vaut mieux effacer l'utilisateur SYSDBA et créer le sien avec son propre mot de passe => Sécurité oblige).

Le code nécessaire est là:

procedure TMain.CreateDatabase(ADBFileName: TFilename);
var
  IBDataBase: TIBDatabase;
  IBQuery: TIBQuery;
  IBTransaction: TIBTransaction;
begin
  IBDataBase := TIBDatabase.Create(nil);
  IBQuery := TIBQuery.Create(nil);
  IBTransaction := TIBTransaction.Create(nil);
  try
    IBDataBase.DatabaseName := ADBFileName;
    IBDataBase.SQLDialect := 3;
    IBDataBase.Params.Clear;
    IBDataBase.Params.Add('USER "SYSDBA"');
    IBDataBase.Params.Add('PASSWORD "masterkey"');
    IBDataBase.Params.Add('PAGE_SIZE 4096');
    IBDataBase.CreateDatabase;
    IBDatabase.Connected := true;
    IBTransaction.DefaultDatabase := IBDataBase;
    IBQuery.Database := IBDatabase;
    IBQuery.Transaction := IBTransaction;
    try
      IBQuery.SQL.Add('create table IODescriptorEx(IOId int not null,IOFileMask VarChar(30),'+
                                    'AlternativeDesc VarChar(50));');
      IBQuery.ExecSQL;
      {...}
      { Reste de la création de la base par script SQL en dur ou récupérer dans un fichier }
      {...}
      IBTransaction.Commit;
    except
      IBTransaction.Rollback;
    end;
    IBDataBase.Connected := false;
  finally
    FreeAndNil(IBQuery);
    FreeAndNil(IBTransaction);
    FreeAndNil(IBDataBase);
  end;
end;

Il suffit ensuite de se connecter à la base et de se servir d'un IBQuery pour créer les tables et autres éléments nécessaires à la mise en œuvre de la base de données...

NB: Dans ce projet comme vous le demandez, j'ai préféré utiliser les IBquery pour mes Tables en lieu et place des IBTables.

Pour la remarque N° 7 "7. Il est important de gérer le nombre de fois d'entrées d'un faux mot de passe." Je pense bien à une boucle :

TANT QUE i<3 Faire
i++
...

signaler à un administrateur
Commentaire de HAFTARIFOUAD le 07/07/2008 22:21:21

Salut
Mr: Zicson1, j'aimerai bien vous précisez que mon dernier commentaire n'est pas une critique mais juste une simple intervention pour améliorer votre travaille.
En ce qui concerne l'intervention N° 5:
-Gérer le mot passe-; je voix que vous utilisez un mot de passe standard, (pour le mot de passe entrer: 'ok' ou 'ful'), peut être bon comme exemple mais pas bon dans un logiciel professionnel comme le votre, vous devez limiter l'utilisation du logiciel pour ne pas perdre l'image de logiciel. Je veux dire par cela, si vous utiliser les clés d'activation par date ou par N° de série de la carte mère ou . ça sera encore mieux. Autre chose c'est à l'utilisateur de créer son propre mot de passe, et c'est encore mieux de gérer les sessions (plusieurs session par nom d'utilisateur et mot de passe).
En ce qui concerne l'intervention N°6 :
Enregistrer le mot de passe dans un fichier ini ou dans la base de registre: La meilleure solution de protéger un logiciel est de crypter le mot de passe pour qu'il ne soit pas lisible par les autres et de le stocker soit ; dans votre BDD, un fichier de paramètres 'ini', ou bien de le stocker dans la base de registre.

A la fin je vous remercie pour votre éclaircissement de la réponse N°9 encore je vous remercie pour votre gentillesse et bonne progression.

signaler à un administrateur
Commentaire de HAFTARIFOUAD le 07/07/2008 22:30:42

J'ai oublie l'intervention N° 7 :
Limiter le nombre de fois d'entrée d'un faux mot de passe :, je vous propose ce code :

// Déclarer la variable i
Var i:integer:
Initialiser la variable i :=Nombre de fois d'éntrée d'un faux mot de passe par ex. 5

// Si le mot de passe est vraie

If mot de passe then begin
Afirst.show;
Password.Hide;
end else begin

// Si le mot de passe est faux
// désincrémnter la variable i
Dec(i);
if (i>0) then begin
       ShowMessage('Mot de passe incorrect...'+#13+ inttostr(i)+' essaies rèstantes ');
end else begin
       ShowMessage('Impossible de continuer, vérfier votre nom d''utilisateur et votre mot de passe');
       Application.Terminate;
end;

signaler à un administrateur
Commentaire de Zicson1 le 08/07/2008 15:52:21

M. AFTARIFOUAD, merci bien pour le source et j'en suis que tu ira loin en programmation parce que tu aimes bien le métier quand bien même que tu n'est pas informaticien " à coeur vaillant rien d'impossible".

j'ai déjà vue ton projet concernant la gestion d'une bibliothèque et je t'assure que tu a fait des avancées notables surtout pour quelqu'un qui n'a jamais suivis un cours en Informatique!breve j'ai oulié d'ajouter le code de la création