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

Delphi Discussion :

Comment mettre un tbitmap dans un fichier typé.


Sujet :

Delphi

  1. #1
    Membre régulier Avatar de poly128
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 102
    Points : 73
    Points
    73
    Par défaut Comment mettre un tbitmap dans un fichier typé.
    J'ai un fichier typé avec un entier et une string et il fonctionne tres bien. Mais, quand je veut rajouter une image il plante.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    tchiffre=record
        age:integer;
        nom:string[20];
        photo:tbitmap;
    end;
    .....
    .....
    .....
    membre:file of tchiffre;

    Comment faire pour mettre un tbitmap dans un fichier typé ?

  2. #2
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Bonsoir,

    Juste une petite question, tu creer bien ton tbitmap avant de l'utiliser?

    @+.

  3. #3
    Membre régulier Avatar de poly128
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 102
    Points : 73
    Points
    73
    Par défaut
    Malheureusement oui.

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 404
    Points
    11 404
    Billets dans le blog
    6
    Par défaut
    dans un record, un champ objet (ou string) ne contient que la référence à l'objet (donc un pointeur, sur 4 octets)
    pour enregistrer l'objet, il faut le faire à la main !
    soit dans un fichier séparé (Bitmap.SaveToFile avec dans le record un champ String[255] qui contient le chemin
    soit dans un fichier unique : dans ton record, un champ taille du bitmap, puis tu l'écris à la suite (utilise les streams)
    soit tes bitmaps ont tous la même taille (icônes pe) et tu utilises un champ array[1..taille] of Byte pour les contenir

    bon code

  5. #5
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Bonjour,

    Il reste aussi le moyen de stocker tes images dans un TImagesList, et de conserver l'indice de l'image dans ton record.

    @+.

  6. #6
    Membre confirmé
    Avatar de Philippe Gormand
    Inscrit en
    Mars 2002
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 330
    Points : 647
    Points
    647
    Par défaut
    Bonjour.

    Tu ne peux pas mettre un TBitmap dans une structure destinée à être enregistrée dans un fichier. Un TBitMap est un pointeur et c'est interdit.
    Cependant , il y a une solution qui fonctionne très bien.
    Tu trouveras toutes les explications, méthodes avec exemples et sources dans mon dernier tutoriel sur les fichiers.

    (Page principale sur DELPHI sur le site ou sur ma page privé).

    En espérant que cela t'aide.

    A+

  7. #7
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    J'ai réalisé une fonction permettant de sauver un TBitmap dans une chaîne et vis-versa :
    http://www.developpez.net/forums/sho...6030&page=5#63

    D'ailleurs ce sujet devrait t'intéresser...

  8. #8
    Membre régulier Avatar de poly128
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 102
    Points : 73
    Points
    73
    Par défaut
    Merci la fonction de Sub0 marche a merveille.

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

Discussions similaires

  1. Comment mettre ma classe dans son fichier
    Par herzak dans le forum Android
    Réponses: 0
    Dernier message: 14/11/2013, 19h48
  2. Comment mettre des variable dans des fichiers separés ?
    Par aku84 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/03/2011, 23h48
  3. Comment mettre les lignes d'un fichier dans un tableau en shell
    Par Ombrius dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 23/10/2006, 13h34
  4. Comment changer des mots dans un fichier?
    Par ptitbonum dans le forum Linux
    Réponses: 5
    Dernier message: 08/04/2004, 00h42
  5. Comment Copier une table dans un fichier?
    Par thx2003 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/12/2003, 13h09

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