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

EDI Delphi Discussion :

Afficher une Image (photo scannée) sur une fiche


Sujet :

EDI Delphi

  1. #21
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    EDIT : Je viens de faire un petit programme en ADO sur MySQL (je n'ai pas SQL Server), cela a fonctionner du 1er Coup !
    un TADOQuery
    un TDataSource
    un TDBGrid
    un TDBNavigator
    un TDBImage lié avec un DataSource et avec DataField renseigné
    J'ai fait Insérer sur le TDBNavigator
    J'ai fait DBImage.DblClick
    j'ai fait Valider sur le TDBNavigator
    J'ai une ligne avec mon Blob rempli
    de tout façon la liaison de ces composants sera compliqué pour lui c'est pour quo j'avais envoyé le fichier dfm

  2. #22
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Je lui ai fourni un Projet complet, suffit lire l'aide, c'est pas vrai que c'est compliqué, en 1999, mon tuteur d'apprentissage m'a collé devant Delphi 4 (je venais d'avoir mon 1er ordi, 2 semaines avant, je tapais à deux doigts), il m'a dit prend ce bouquin et fait l'exemple FishFactory avec Paradox et BDE, en une petite matinée, c'était fait, cela fonctionnait, faut pas dire que c'est Difficile, faut juste faire un petit effort ...

    Tient, version ADO2 avec Gestion du DataSetState
    Fichiers attachés Fichiers attachés
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #23
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 192
    Points : 90
    Points
    90
    Par défaut
    slt à tous

    Veuillez excuser le retard avec lequel je réagis !

    Comme vous l'avez démandé, j'ai ajouté dans le Uses DB, et par là le TDataSetState et dsEdit sont reconnu - plus d'erreur de syntaxe.
    - J'avais dejà renseigné le TDBImage vec un DataSource et DataField
    - Je n'ai pas crééer d'autres boutons pour Ajouter(Insert) ou Sauvegarde(Post) un enregistrement,
    - Je préfere que nous travaillons avec le TDBNavigator
    - En passant mes Photos sont au format Jpeg

    voilà comment j'ai adapté le code sur Click de TDBImage ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TfrmEleve.ImgElvPhotoClick(Sender: TObject);
    Var
      NomFichier : String;
    begin
      NomFichier := ChangeFileExt(ExtractFieldName(Application.ExeName), '.JPG');
      if PromptForFileName(NomFichier, 'Fichier FPeg *.jpg|*.JPG', 'JPG', 'Sélectionnez une Image', ExtractFileDir (Application.ExeName), False) then
      if FileExists(NomFichier) then TBlobField (ImgEtuPhoto.Field).LoadFromFile(NomFichier);
    end;
    PB :
    La compilation m'affiche le message ci-dessous (ma version est en Anglais) :

    Not Enough Actual Parameters
    NomFichier := ChangeFileExt(ExtractFieldName(Application.ExeName), '.JPG');


    je ne sais pas si j'ai bien appliqué ce que vous m'avez donné comme orientation

    A bientôt

  4. #24
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Merci pour cliquer ici

    il n y a pas un type Graphic avec ado TDBImage ne marchera pas

    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim ARecordset As ADODB.Recordset
        Dim AStream As ADODB.Stream
        Set ARecordset = New ADODB.Recordset
        Set AStream = New ADODB.Stream
        AStream.Type = adTypeBinary
        ARecordset.Open "Students", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Base.mdb", adOpenStatic, adLockOptimistic, adCmdTable
        AStream.Open
        AStream.LoadFromFile "C:\MonImage.jpg"
        ARecordset.AddNew
        ARecordset!Student_Picture = AStream.Read
        ...

  5. #25
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Attention, le TDBImage ne gère pas nativement le JPEG, pour cela tu dois utiliser le converteur TJPEGImage comme l'a monté Montor
    Je le teste en D6 ! cela n'a pas changé en D7, seules des Version 2009 ou 2010 ont peut-être eu des innovations dans ce domaine

    Commence avec le BMP, une fois ce stade réussi, mets ton code fonctionnel dans un coin, et essaye avec le TJPEGImage

    ExtractFieldName ??? ça sort d'où ? j'ai écrit ExtractFileName
    Copie-Colle au moins correctement !

    Prend le Projet du Zip TestADO2.zip et tester le !
    (modifie la chaine de connexion en RunTime pour coller SQL Server)
    En plus, j'ai utilisé le TDBNavigator pour justement être au plus pres de ton problème ...
    Essaye déjà au moins ce code minimal, etudie le !

    Regarde aussi le Projet de Montor, nos deux projets fonctionnent avec chacun notre façon, faut bosser maintenant


    @Montor, pourquoi tu parle de type graphic ?
    un simple BLOB basique non typé suffit ... c'est ce que je dis depuis le début, utiliser un BLOB générique et non un type IMAGE spécifique à SQL Server !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #26
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 192
    Points : 90
    Points
    90
    Par défaut
    Slt

    je peux me connecter tous les jours que de 8h à 15h 30 (3.30 pm)...
    ce qui explique ma réaction tardive.

    C'est OK - ouuuff je suis très content, il a fallu aller jusqu'au bout
    Merci à vous tous parce que cela a marché avec le minimale de lignes de code.

    Cependant, j'ai travaillé avec le fichier image .bmp
    Etant donné que ce fichier est plus lourd que le .jpeg; je vais me battre à adapter cette routine de code avec le fichier .jpeg
    J'espère que je n'aurai pas de problème ou de complication à propos.
    vous êtes sensé sans ignorer que le .jpeg est plus leger que le .bmp

    c'est la raison qui me pousse à préferer scanner mes photos au format .jPeg plus leger que le .bmp

    ci-dessous la routine qui a marché sur double click de TDBImage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TfrmEleve.ImgEtuPhotoDblClick(Sender: TObject);
    Var
      NomFichier : String;
    begin
      NomFichier := ChangeFileExt(ExtractFileName(Application.ExeName), '.bmp');
      if PromptForFileName(NomFichier, 'Fichier FBmp *.bmp|*.bmp', 'bmp', 'Sélectionnez une Image', ExtractFileDir (Application.ExeName), False) then
      if FileExists(NomFichier) then
      TBlobField (ImgEtuPhoto.Field).LoadFromFile(NomFichier);
    end;
    Merci encore

  7. #27
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Regarde le Code de Montor, il faut juste utiliser un LoadFromStream (du Field) sur le TJPEGImage ... tu as tout ce qu'il faut !
    Oublie le TDBImage qui ne gère pas le JPEG, passe au TImage et gère l'affichage manuellement, tout est dans le code de Montor ...

    Tu vois que lorsque l'on travail pas à pas, c'est mieux !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Afficher des images en cliquant sur une ligne d'une table
    Par o.abdelmalek13 dans le forum WebDev
    Réponses: 2
    Dernier message: 17/07/2018, 19h26
  2. Effet de redimensionnement (rollover) sur une image (photo)
    Par cleo57 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 09/04/2014, 20h19
  3. Afficher une Image (photo scannée) sur une fiche
    Par tleboukaka dans le forum Bases de données
    Réponses: 1
    Dernier message: 13/12/2009, 17h46
  4. Réponses: 6
    Dernier message: 27/05/2005, 15h43
  5. [FLASH 5]un bouton dans une image pour revenir sur une scene
    Par patato valdes dans le forum Flash
    Réponses: 7
    Dernier message: 28/04/2004, 20h21

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