IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Composant pour stocker des images de différentes tailles


Sujet :

Composants VCL Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut Composant pour stocker des images de différentes tailles
    Bonjour,

    Je recherche (comme l'indique le titre) un composant permettant de stocker des images en mémoire de différentes tailles.

    L'idée de recuperer dans un zip (via un Tstream ou un truc du genre) les images les unes après les autres pour les stocker dans un composant afin de les rappeler plus tard (et les rendre visible via un Timage par exemple) dans l'ordre de mon choix...

    Quelqu'un à une piste?

    CROCOB

    PS : si c'est trop simple, je peux complexifier le probleme en demandant que les images soient de formats (jpg, gif, bmp...) différents...
    ---------------------------------------
    Niveau débutant
    Rad : Delphi 6 Perso (Français)
    Delphi 7 perso (Français)
    OS : Win98/ Win 2000/ Win Xp

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par CrocoB Voir le message
    L'idée de recuperer dans un zip (via un Tstream ou un truc du genre) les images les unes après les autres pour les stocker dans un composant afin de les rappeler plus tard (et les rendre visible via un Timage par exemple) dans l'ordre de mon choix...
    Un TObjectList contenant une liste de TGraphic, avec OwnsObject à True. Et pour les charger tu utilises LoadFromFile de TGraphic.
    Citation Envoyé par CrocoB Voir le message
    PS : si c'est trop simple, je peux complexifier le probleme en demandant que les images soient de formats (jpg, gif, bmp...) différents...
    Attends c'est quoi ça ?? Pour moi ça ressemble très fort à une question de TP. C'est entre autre pour ça que je n'ai pas du tout développé ma réponse.
    En effet : lycéen, collégien, étudiant, (bref un apprenti développeur)
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par CrocoB Voir le message
    PS : si c'est trop simple, je peux complexifier le probleme en demandant que les images soient de formats (jpg, gif, bmp...) différents...
    Tu peux toujours creer toi meme cette classe
    Un tableaux dynamique, les methodes add/Insert/remove qui vont avec, etc...

    Pour la gestion de plusieurs format, TGraphic est bien mais il existe aussi TBitmap qui peut recuperer a peut pres tousles formats, apres conversion.
    Une petite recherche sur le forum te fournira une petite serie de posts auxquels j'ai deja repondu a cette question (conversion JPG->BMP, Manipulation de JPG, ...)

    Faudra peut etre que je me decide un jour a faire un article

    Sinon je confirme les propos de SJRD : On est pas la pour donner les reponses a des exos de fac (ou autre) mais repondre soit a des question techniques precise, soit lancer des pistes, ou debattre sur la pertinance de certains algos, reflechir ensemble sur des problemes, donner des avis sur des produits, etc...

    D'ailleur par extention c'est vrai pour tout le monde :p on est pas une SSII qui developpent des applciations sur commande
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par sjrd Voir le message
    Attends c'est quoi ça ?? Pour moi ça ressemble très fort à une question de TP. C'est entre autre pour ça que je n'ai pas du tout développé ma réponse.
    En effet : lycéen, collégien, étudiant, (bref un apprenti développeur)
    Bin mince! C'était juste une boutade! Juste parce que s'il existait un composant pour le faire, ca m'aurait évité de transformer les images en BMP... Si ca avait été un TP, j'aurai fais ma demande plus complète depuis le début, non? Je n'aurais pas mis une partie en PS (ou il y a quelque chose qui m'échappe...). En plus, je n'aurais pas demandé un composant tout fait mais plutôt la procédure à suivre pour le faire! (En TP, je suppose qu'il demande de savoir faire plutôt que d'avoir un truc tout fait, non?).

    Merci tout de meme pour ta réponse, je vais creuser de ce côté.

    Tu peux toujours creer toi meme cette classe
    Un tableaux dynamique, les methodes add/Insert/remove qui vont avec, etc...
    Oups! là, je ne connais pas bien... C'est au dessus de mes compétences... je vais voir si je trouve un tutorial sur ce theme... merci du conseil!


    En fait, je travaille sur un petit carnet d'adresse (avec photo! d'où ma requete) qui rappelle les anniversaires à chaque démarrage... (rien à voir avec un TP).

    A+

    CrocoB

    PS : mes études n'ont rien à voir avec l'informatique (très éloignés même!)
    ---------------------------------------
    Niveau débutant
    Rad : Delphi 6 Perso (Français)
    Delphi 7 perso (Français)
    OS : Win98/ Win 2000/ Win Xp

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    si tu allais voir du coté de la JVCL (je suis un fan) partie jvImages
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par CrocoB Voir le message
    Bin mince! C'était juste une boutade!
    Pour ma part : Miles excuses
    Mais on voit tellement de choses sur ces forums

    Sinon la plupart des classes de gestions d'images descendent plus ou moins directement de TGraphics. A verifier si c'est bien le cas des classes gerant les formats que tu souhaite utiliser.
    Maintenant, uen chose est sure, tous derivent de TObject

    Par contre, tout depends ensuite ce que tu compte faire avec : Stockage ou traitement ?
    Si c'est que du stockage, la classe TGraphic, voir meme TObject suffit. Tu as d'ailleur la classe TObjectList qui gere les tableaux d'objets avec une property OwnObject qui lui permet de s'approprier les objets afin de gerer leur liberation lorsque la classe liste est libérée.

    Si c'est juste pour gerer de l'affichage, a priori tu devrais pouvoir le faire a partir d'une liste de TGraphics, en prendant soin d'inclure dans la lsite des Uses les untitees gerant ces graphiques. De cette maniere le TImage et sa property Graphic sera a meme de pouvoir les charger.

    Enfin pour tout ce qui est traitement sur les images, rares sont les classes qui ne necessitent pas une conversion au format BMP (methode DIBNeeded chez les Jpegs).

    Sinon pour gerer les tabelaux toi meme ... si c'est hors cadre de TP, c'ets inutile Ya tout ce qu'il te faut sur le net

    Ha : Derniere chose : Il existe une classe : TImageList qui fait pas mal de choses dans le traitement de liste d'image .... mais personnellement je la trouve bien plus contraignante qu'elle n'en a l'air.
    Je lui prefere largement un Array of , ou un TObjectList.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    si tu allais voir du coté de la JVCL (je suis un fan) partie jvImages
    Oui, j'ai regardé TJVimages et le Tjvimagelist mais je dois bien avouer ne pas savoir m'en servir. Je n'ai pas trouvé d'informations sur le site de la JVCL sur leur utilisation (rien dans la doc HLP non plus!). Je n'ai pas trouvé de tutorial pour utiliser TJVimages et le TJVimagelist...

    Avant j'utilisais TVrBitmaplist... mais j'essaye maintenant d'éviter d'utiliser les composants dont les sources ne sont pas dispo car lorsqu'on passe d'une version de delphi à une autre, c'est toujours très sportif... (surtout quand il n'y a pas de suivi... c'est énervant!).

    Je pense que je vais creuser la piste du JVCL avant de voir l'idée proposée par Clorish (avec TGraphics et TObject).

    CrocoB
    ---------------------------------------
    Niveau débutant
    Rad : Delphi 6 Perso (Français)
    Delphi 7 perso (Français)
    OS : Win98/ Win 2000/ Win Xp

  8. #8
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par CrocoB Voir le message
    Je pense que je vais creuser la piste du JVCL avant de voir l'idée proposée par Clorish (avec TGraphics et TObject).
    Que veux tu en faire exactement de tes images ?
    Car la JVCL est bien c'est pas la question ... mais a mon gout sacrement galere a manipuler
    Alors ... quand il existe des solutions directemetn sous DElphi
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Que veux tu en faire exactement de tes images ?
    C'est pour un carnet d'adresse. Pour chaque fiche, on peut associer une photo (qu'on va chercher sur son disque dur). On la mets en mémoire et à chaque fois qu'on selectionne une fiche, la photo associée réapparait.

    Ce qui m'interesse, c'est de pouvoir stocker en mémoire une ensemble de photos que je peux rappeler en connaissant simplement l'index (le numéro de référence)... J'avais commencé à faire quelques recherches mais les solutions trouvées imposait que toutes les images soient de mêmes dimensions (ce que je ne veux pas). Du coup, je m'étais tourné vers un composant qui résolvait le problème...

    Mais les sources n'étaient pas fournis avec les composants et du coup lorsque j'ai voulu changer ma version de delphi (6 vers 7 puis vers 2005) j'ai galéré (car une fois compilée, le composant est propre à la version delphi).

    Du coup, pour éviter ce problème, je voulais pouvoir passer sur un composant (ou une autre solution simple) avec des sources.

    ai-je été clair?

    CrocoB
    ---------------------------------------
    Niveau débutant
    Rad : Delphi 6 Perso (Français)
    Delphi 7 perso (Français)
    OS : Win98/ Win 2000/ Win Xp

  10. #10
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Tout a fait

    Deja, si c'est un carnet d'adresse, normalement tu dois avoir une classe contenant les infos de cette fichie dont une variable contenant l'objet image.
    Cela exclut le cas "Liste".

    Autre chose : J'imagine que cette fiche (et donc la photo) doit etre stockée quelque part (fichier, BdD, etc ...). Cela permet de suposer que l'on puisse utiliser un format unique pour les photos.

    Question format : LE Bitmap est le plus simple a manipuler, a condition que les images ne soient pas trop grosses. Pour une fichie j'imagine que la tailel ne dois pas depasser les 200x200 ce qui est acceptable.
    A noter que l'image peut etre reduite et evnetuelement lissée lors de sont importation.
    Si la taille joue vraiement un role important, tu peux utiliser le format JPEG au travers de la classe TJpegImage et l'unitee Jpeg.

    Derniere chose : Le format Jpeg est quand meme le format le plus utilisé pour les photos, surtout de type "identitee".
    Je ne pense pas (a moins que ca fasse partie du cahier des charges) que cela soit une limite.

    Quoi qu'il en soit toutes les classes de type "image" permettent plus ou moins directement de convertir en BMP et donc en JPEG (si besoin) les données.

    Que dis tu de tous cela ?
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  11. #11
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    En recherchant sur le forum, tu peux trouvé ça:http://www.developpez.net/forums/sho...vegarde&page=3

    Je suis moi-même l'instigateur de ce sujet... Tout comme toi j'ai été confronté à la sauvegarde d'images pour mon carnet d'adresse...

    La source de neilbgr est faite pour toi: il utilise des collections pour stocker toutes les informations des contacts, y compris la photo, de n'importe quel dimension. C'est assez simple à comprendre je pense.

    Dans ce même sujet, tu peux également regarder les 2 autres méthodes proposées, celles de Waskol et de Sub0, dont je me sert régulièrement...

    Voilà je pense que ça pourra t'aider

    A plus et bon Dev...

    PetitPrince

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Deja, si c'est un carnet d'adresse, normalement tu dois avoir une classe contenant les infos de cette fichie dont une variable contenant l'objet image.
    Cela exclut le cas "Liste".
    Oups... désolé, je n'ai pas fait de classe... Pour tout dire, je n'ai jamais fait de classe... je suis un grand débutant en fait... j'avais appris le pascal quand j'étais jeune (mince, le coup de vieux!!!)... et les choses ont un peu changé depuis... et comme j'ai appris delphi tout seul, bin je bidouille un peu (désolé ).

    J'utilise juste une variable "record" pour le traitement de la fiche (pour les procédures et fonctions).

    Autre chose : J'imagine que cette fiche (et donc la photo) doit etre stockée quelque part (fichier, BdD, etc ...). Cela permet de suposer que l'on puisse utiliser un format unique pour les photos.
    Toutes les données sont stockées dont un tableau de type TStringgrid non visible (et en fait maintenant TJVSTRINGRID!) et les photos sont indexés dans le tableau par un numéro. Je suppose qu'il y a mieux mais ca me semblait être le plus simple (surtout que le stinggrid de la JVCL permet le tri, le filtrage...) mais je me demande maintenant s'il ne serait pas mieux de faire un tableau dynamique contenant des "fiches" (de type record).

    En recherchant sur le forum, tu peux trouvé ça:http://www.developpez.net/forums/sho...vegarde&page=3

    Je suis moi-même l'instigateur de ce sujet... Tout comme toi j'ai été confronté à la sauvegarde d'images pour mon carnet d'adresse...
    Merci PetitPrince, j'ai commencé à regarder le post (par encore le source) et ça à l'air très formateur!!! Je digère tout ça et je vous tiens au courant!

    CrocoB
    ---------------------------------------
    Niveau débutant
    Rad : Delphi 6 Perso (Français)
    Delphi 7 perso (Français)
    OS : Win98/ Win 2000/ Win Xp

  13. #13
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Je vois tu tu bidouille bien

    Je te conseille de voir un peu comment reorganiser ton projet plus "proprement".

    Bon courrage !
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  14. #14
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Pour la route un petit exemple de creation de classe type "données" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Type
      TFiche = Class(TObject)
      Private
        FNom : String;
        FPRenom : String;
        FPhoto : TBitmap;
      Public
        Property Nom : String Read FNom Write FNom;
        Property Prenom : String Read FPRenom Write FPRenom;
        Property Photo : TBitmap Read FPhoto Write FPhoto;
      End;
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Var UneFiche : TFiche;
     
    Unfiche := TFiche.Create;
    UneFiche.Nom := 'toto';
    UneFiche.PRenom := 'titi';
    UneFiche.Photo := TBitmap.Create;
    UneFiche.Photo.LoadFromFile('photo.bmp');
    Liberer une fichie quand on as fini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UneFiche.Photo.Free;  // Ne pas oublier de liberer la classe photo !!
    UneFiche.Free;
    Pour eviter d'avoir a gerer la creation/liberation de la photo, on peux inclure ce traitement dans la classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Type
      TFiche = Class(TObject)
      Private
        FNom : String;
        FPRenom : String;
        FPhoto : TBitmap;
      Public
        Constructeur Create;
        Destructeur Destroy; OVerride;
        Property Nom : String Read FNom Write FNom;
        Property Prenom : String Read FPRenom Write FPRenom;
        Property Photo : TBitmap Read FPhoto Write FPhoto;
      End;
     
    constructor TFiche.Create;
    Begin
    Inherited Create;
    Self.Photo := TBitmap.Create;
    End;
     
    Destructor TFiche.Destroy;
    begin
    Self.Photo.Free;
    Inherited Destroy;
    End;
    Utilisation de la nouvelle classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Var UneFiche : TFiche;
     
    Unfiche := TFiche.Create;
    UneFiche.Nom := 'toto';
    UneFiche.PRenom := 'titi';
    UneFiche.Photo.LoadFromFile('photo.bmp');
    [...]
    UneFiche.Free;
    Voila pour les bases .... maintenant ya pleins de bons tutos sur la creation de composants.
    Jettes y on coup d'oeil pour mieux comprendre ce que j'ai ecris et n'hesite pas a revenir poser des questions ici

    Quoi qu'il en soit, ce shema marche et peut etre completer/modifier sur le meme principe

    (en resumé, les classes, c'ets pas grand chose de plus d'un simple record )
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Bon, j'ai regardé les deux solutions proposées... elles reposent toutes les deux sur le même principes l'utilisation d'une classe pour stocker l'ensemble des informations...

    Ce que je suis sûr d'avoir compris :
    - J'ai intérêt de réviser entièrement mon code pour le rendre plus propre.
    - Je vois un peu de "taf'" en perspective... mais ce sera formateur pour les prochains programmes!
    - Je vais devoir me trouver un tutorial la dessus (mais il me semble en avoir vu un il y a quelques temps) car si je comprends la logique en lisant le source, je me trouve bien incapable de le refaire moi-même).

    Question :
    - Du coup, en utilisant les Tclass, je n'ai plus besoin de stocker mes informations dans un Tstringgrid, non? Si c'est le cas, ca m'embete un peu (juste parce que pour moi c'est une gymnastique de travailler avec quelque chose que je ne vois pas!!!). Mais je suppose que le source en sera plus propre...

    En tout cas, merci les gars!!! J'ai plus qu'à travailler tout ça!

    CrocoB
    ---------------------------------------
    Niveau débutant
    Rad : Delphi 6 Perso (Français)
    Delphi 7 perso (Français)
    OS : Win98/ Win 2000/ Win Xp

  16. #16
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par CrocoB Voir le message
    Bon, j'ai regardé les deux solutions proposées... elles reposent toutes les deux sur le même principes l'utilisation d'une classe pour stocker l'ensemble des informations...
    Ca s'appelle la POO (Programation Oriente Objet)

    Citation Envoyé par CrocoB Voir le message
    Ce que je suis sûr d'avoir compris :
    - J'ai intérêt de réviser entièrement mon code pour le rendre plus propre.
    - Je vois un peu de "taf'" en perspective... mais ce sera formateur pour les prochains programmes!
    - Je vais devoir me trouver un tutorial la dessus (mais il me semble en avoir vu un il y a quelques temps) car si je comprends la logique en lisant le source, je me trouve bien incapable de le refaire moi-même).
    En fait non.
    Tu auras plus de travail sur le moment, mais sur le long terme tu en economiseras
    Le plus dur dans la POO est la conception "objet". Quand on parle de boutons, de champs, voir meme de fichies, de personnes, etc .... que l'objet soit visible ou non, tant qu'il se rapporte a un "objet" reel, physique, on s'en sort. Des que ca touche a du "theorique" (Listes, tris, etc ...) ca deviens plus dur de concevoir "l'objet". Du moins c'etais mon cas.
    Mais avec l'habitude ca viens tout seul

    MEs exmples sont tres simple et qu'une infime partie des possibilités des objets. Et encore .. j'ai deja aborder le systeme de property

    Citation Envoyé par CrocoB Voir le message
    Question :
    - Du coup, en utilisant les Tclass, je n'ai plus besoin de stocker mes informations dans un Tstringgrid, non? Si c'est le cas, ca m'embete un peu (juste parce que pour moi c'est une gymnastique de travailler avec quelque chose que je ne vois pas!!!). Mais je suppose que le source en sera plus propre...
    Ne pas confondre TClass et Classe
    Juste pour info, TClass est un objet (une classe, ie un Type) qui gerer les "classes".
    Elle nous permet de manipuler une classe (le type d'un objet).

    Pour ce qui est du travail avec quelque chose qu'on ne voit pas .. c'ets pas tout a fait vrai.
    Derriere une classe (TFiche dans mon exemple) tu as soit un TStringGrid, soit une serie de Edit/LAbels pour affichier/Saisir les informations.
    Si tu ne dois pas avoir de saisie/Informations tu peux toujours "verifier" le contenu avec des showMEssages, des ListBox d'affichage de "logs", des fichiers logs ....

    D'ailleur .... ta stringGrid : N'est elle pas "cachée"

    Citation Envoyé par CrocoB Voir le message
    En tout cas, merci les gars!!! J'ai plus qu'à travailler tout ça!
    Bon courrage ! ET bienvenue dans la POO.
    N'hesite surtout pas a poser les bonnes questions

    PS : JE pense d'ailleur tres prochainement rediger un petit article sur la creation de classes ..... pour debutant en POO
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Ca s'appelle la POO (Programation Oriente Objet)
    bah, Je sens le ton moqueur!!! Bon, tu as bien raison en même temps! C'est un reflexe que je n'ai pas encore acquis.


    Pour ce qui est du travail avec quelque chose qu'on ne voit pas .. c'est pas tout a fait vrai.
    Derriere une classe (TFiche dans mon exemple) tu as soit un TStringGrid, soit une serie de Edit/LAbels pour afficher/Saisir les informations.
    Si tu ne dois pas avoir de saisie/Informations tu peux toujours "verifier" le contenu avec des showMEssages, des ListBox d'affichage de "logs", des fichiers logs ....

    D'ailleurs .... ta stringGrid : N'est elle pas "cachée"
    oui, la Stringgrid est caché mais avec un mot de passe "magic", elle devenait visible ce qui était bien pratique pour voir en temps réelle les traitements qui étaient effectués dessus...

    Bon courage ! ET bienvenue dans la POO.
    N'hesite surtout pas a poser les bonnes questions
    Argh! Encore un ton moqueur!!!

    JE pense d'ailleurs tres prochainement rediger un petit article sur la creation de classes ..... pour debutant en POO
    Excellente idée!!! Si tu as besoin de la relecture d'un débutant (pour t'indiquer ce qu'il ne comprend pas!), n'hésite pas à m'envoyer un message!!! Je serai ravi de pouvoir d'aider


    Merci, pour tout! je pense que je vais pouvoir partir sur de nouvelles bases!

    CrocoB
    ---------------------------------------
    Niveau débutant
    Rad : Delphi 6 Perso (Français)
    Delphi 7 perso (Français)
    OS : Win98/ Win 2000/ Win Xp

  18. #18
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par CrocoB Voir le message
    bah, Je sens le ton moqueur!!! Bon, tu as bien raison en même temps! C'est un reflexe que je n'ai pas encore acquis.
    non pas moqueur du tout
    Mais c'est vrais que les Objets font peur (a moi le premier) quand on debute.
    Mais avec du recul c'est pas mechant et tellement pratique !

    En fait, je commence souvent avec des REcord pour aller vite sans me prendre la tete dans de petite applications .... et ca fini vite en Classes

    Citation Envoyé par CrocoB Voir le message
    oui, la Stringgrid est caché mais avec un mot de passe "magic", elle devenait visible ce qui était bien pratique pour voir en temps réelle les traitements qui étaient effectués dessus...
    En meme temps c'est pas vraiement precu pour ca

    Je te conseille une autre piste :
    - 1 TForm
    - 1 TListBox
    - 2/3 Methodes du genre "SendText"

    En jouant sur les directives de compilations, on peut meme activier/Desactiver les appels selon le mode : Debug/Release

    Du boullot pour bien comprendre le mechanisme mais bien plus propre

    Citation Envoyé par CrocoB Voir le message
    Excellente idée!!! Si tu as besoin de la relecture d'un débutant (pour t'indiquer ce qu'il ne comprend pas!), n'hésite pas à m'envoyer un message!!! Je serai ravi de pouvoir d'aider
    Ok, c'est noté
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/12/2011, 08h15
  2. [MySQL] Création de dossiers pour stocker des images et gestion des droits
    Par heretik25 dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 14/12/2011, 10h24
  3. Réponses: 5
    Dernier message: 18/05/2009, 16h32
  4. Meilleur méthode pour stocker des images ?
    Par sofien dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 09/05/2008, 12h04
  5. Réponses: 2
    Dernier message: 05/02/2008, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo