gregml
Messages postés89Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017
-
18 juin 2014 à 21:19
jordane45
Messages postés37545Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 8 juin 2023
-
19 juin 2014 à 01:37
Bonjour,
Je me permets de vous exposer mon projet avant de vous parler de mon problème, de façon à évoquer l'environnement global de l'application que je souhaiterais à terme développer.
Mon projet consiste à écrire du texte dans des documents de différentes formes (c'est une contrainte), soit à partir de différents formulaires contenant des combo, des boutons... pour renseigner des noms, des adresses, des dates de naissance... soit des Textbox... dont l'"ossature" ne peut pas être modifiée. Il s'agit de fait de documents sous PDF et/ou sous Word, dont les 'cadres' ne peuvent être modifiés. Ainsi, on peut écrire dans une cellule (qui mesurera disons 20 cm x 15 cm), à un format et une taille de caractère donnés, qui ne pourra pas être changés. On a donc un nombre maximal de caractères dans une "cellule". Si on dépasse, l'application ouvre une nouvelle feuille.
On pourra ensuite sauvegarder, imprimer...
Voilà pour le contexte.
Pour la question plus précise, elle concerne un petit bout de la lorgnette. En effet, mon ambition est grande mais mes compétences sont riquiqui...
Aussi me vient-il une question :
Puis-je fabriquer une classe par type de documents à remplir (par formulaire ou par l'utilisateur) ?
Plus précisément, je pose cette question, qui doit vous dérouter, parce que je ne suis pas certain d'avoir compris le concept de classe...
Mais elle revient à :
suis-je en mesure de fabriquer une classe qui sera le modèle servant de base à la rédaction du document Word ?
suis-je en mesure de fabriquer une classe qui sera le modèle servant de base à la rédaction du document Pdf ?
Si oui, comment dois-je faire ?
Fabriquer sous Word mon modèle, l'enregistrer en modèle .docx, puis le déclarer comme 'Classe' dans le code qui l'appellera ? Idem pour les PDF ?
Voilà exposé mon problème.
J'espère avoir été suffisamment clair et je vous remercie encore de la qualité de vos interventions et du suivi du site.
Grég
Whismeril
Messages postés18423Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 8 juin 2023624 18 juin 2014 à 21:49
C'est plus clair en effet.
Rapidement oui et non.
Tu vas pouvoir écrire une classe dont le "travail" sera d'écrire le fichier word et une autre pour le pdf.
Mais tu ne peux pas écrire un fichier word et l'enregistrer directement comme une classe.
Une classe ou un objet, c'est l'abstraction d'un truc dont tu as besoin.
Admettons que doives coder l'humanité.
Tu vas commencer par écrire une classe Humain, il a comme propriétés :
Une tête
Des yeux
Des cheveux,
Deux bras
Deux jambes
Un cœur
Etc
Il a comme méthodes :
Marcher
Parler
Boire
Respirer
BattreCoeur
Etc
Respirer et BattreCoeur seront appelés dés la création d'une instance de Humain
Enfin il a comme événements :
DébutMarche
FinMarche
Parle
Voit
Etc
Grace à toutes ces "procédures" ton objet pourras interagir avec l'univers qui l'entoure.
Si le besoin s'en fait sentir tu pourras même dériver Humain en Homme et Femme ou en Adulte et Enfant.
Chacun de ces objets va hériter de tout ce qui fait Humain, mais tu y ajouteras les propriétés et attributs adéquat pour chacun. Tu peux aussi remplacer certains codes de l'objet père. Marcher pour les Femmes sera modifié pour y inclure un mouvement harmonieux du postérieur!
Voila, tu peux donc tout faire ce que tu veux avec tes classes.
Une classe mère peut collecter les infos et une fille écrire le word et l'autre le pdf, par exemple
gregml
Messages postés89Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017 18 juin 2014 à 22:02
Ok et merci de ta longue réponse.
Si tu en viens à une analogie, j'en tente une autre pour voir si j'ai bien compris.
Au lieu de la classe Humain, pour moi,serait-ce la classe 'Travail_sur_Document_Word" ?
En ce qui concerne les propriétés, je ne vois pas trop...
En ce qui concerne les méthodes, cela peut-il être :
* Charger un document Word clairement désigné
* Ouvrir un document Word clairement désigné
* Afficher un document Word clairement désigné
* Renseigner telle ou telle rubrique d'un document Word clairement désigné
* Imprimer un document Word clairement désigné
* Fermer un document Word clairement désigné ?
jordane45
Messages postés37545Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 8 juin 2023341 18 juin 2014 à 22:04
@Whim... tu as été plus rapide que moi....
J' allai prendre le même exemple;...
Pour aller un peu plus loin;...(tout en gardant ton exemple : L'hêtre humain)..
il a en effet des propriété comme :
son SEX ( Homme ou Femme)
Sa taille
son poid...
et il peut même en avoir sous forme d'autres class:
par exemple :
Les cheveux
dont les propriétés seront :
leur taille, leur couleur....
et des méthodes : Regarder, Pleurer
Pour en revenir à ta question....
Tu peux très bien créer tes modèles de documents Word et les "selectionner" lorsque tu dois les compléter....en gros... t'en servir un peu comme un publipostage excel/word en quelque sorte.
gregml
Messages postés89Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017 18 juin 2014 à 22:15
Merci Jordane,
Décidément, l'exemple 'Humain' est un sésame pour la POO...
C'est effectivement ce que je concevais sans en avoir d'idée nette.
L'idée est donc de créer des formulaires:
-> dont certaines réponses données par l'utilisateur vont permettre de sélectionner le document (Word ou PDF) adéquate
-> dont d'autres vont renseigner des signets à certains endroits des documents
-> dont d'autres contiendront du texte rempli "au kilomètre" par l'utilisateur.
Tout le travail de renseignement des signets, d'écriture "au kilomètre" sera l'objet des classes "Travail sur Doc".
C'est bien ça, et c'est donc possible ?
jordane45
Messages postés37545Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 8 juin 2023341 18 juin 2014 à 22:28
oui c'est bien ça.
Whismeril
Messages postés18423Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 8 juin 2023624 18 juin 2014 à 23:06
Les propriétés peuvent être :
Le nom du document ouvert
La liste des signets à remplir
...
et les méthodes :
- Ouvrir un document ( tu lui passes en paramètre le nom du doc à ouvrir)
- Ecrire dans un signet ( tu lui passes en paramètre le signet à écrire et le texte à y mettre)
- Lire un signet ( tu lui passes en paramètre le nom du signet à lire)
- Enregistrer le document...( tu lui passes en paramètre le nom du doc => EnregistrerSous... toto.doc)
-etc...
gregml
Messages postés89Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017 18 juin 2014 à 22:37
Bon ben là on peut dire que j'ai bien avancé...
Je m'en vais vous laisser dormir... l'esprit serein.
Mereci encore et à bientôt,
Grég
Whismeril
Messages postés18423Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 8 juin 2023624 18 juin 2014 à 23:07
Décidément, l'exemple 'Humain' est un sésame pour la POO...
On aurait pu choisir Véhicule aussi, mais c'est plus chiant, il faut gérer le nombre de roues ou de chenilles, voire de pattes.....
gregml
Messages postés89Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017 18 juin 2014 à 23:17
18 juin 2014 à 22:02
Si tu en viens à une analogie, j'en tente une autre pour voir si j'ai bien compris.
Au lieu de la classe Humain, pour moi,serait-ce la classe 'Travail_sur_Document_Word" ?
En ce qui concerne les propriétés, je ne vois pas trop...
En ce qui concerne les méthodes, cela peut-il être :
* Charger un document Word clairement désigné
* Ouvrir un document Word clairement désigné
* Afficher un document Word clairement désigné
* Renseigner telle ou telle rubrique d'un document Word clairement désigné
* Imprimer un document Word clairement désigné
* Fermer un document Word clairement désigné ?
18 juin 2014 à 22:04
J' allai prendre le même exemple;...
Pour aller un peu plus loin;...(tout en gardant ton exemple : L'hêtre humain)..
il a en effet des propriété comme :
son SEX ( Homme ou Femme)
Sa taille
son poid...
et il peut même en avoir sous forme d'autres class:
par exemple :
Les cheveux
dont les propriétés seront :
leur taille, leur couleur....
et des méthodes : Regarder, Pleurer
Pour en revenir à ta question....
Tu peux très bien créer tes modèles de documents Word et les "selectionner" lorsque tu dois les compléter....en gros... t'en servir un peu comme un publipostage excel/word en quelque sorte.
18 juin 2014 à 22:15
Décidément, l'exemple 'Humain' est un sésame pour la POO...
C'est effectivement ce que je concevais sans en avoir d'idée nette.
L'idée est donc de créer des formulaires:
-> dont certaines réponses données par l'utilisateur vont permettre de sélectionner le document (Word ou PDF) adéquate
-> dont d'autres vont renseigner des signets à certains endroits des documents
-> dont d'autres contiendront du texte rempli "au kilomètre" par l'utilisateur.
Tout le travail de renseignement des signets, d'écriture "au kilomètre" sera l'objet des classes "Travail sur Doc".
C'est bien ça, et c'est donc possible ?
18 juin 2014 à 22:28
18 juin 2014 à 23:06
Pour une fois!