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

C++Builder Discussion :

Comment insérer une image via URL [BD6]


Sujet :

C++Builder

  1. #1
    Invité
    Invité(e)
    Par défaut Comment insérer une image via URL [BD6]
    Bonjour à tous, je suis un petit nouveau sur le forum mais également en C++.
    Je travail en C++ Builder 6 et j'utilise le "composant" TNMHTTP pour effectuer des transferts HTTP sur le Web.

    J'ai commencé un petit bout de code qui me permet de charger les informations d'une page internet. Pour y voir plus clair en fait il s'agit de script CGI d'une caméra axis.
    Le liens est : http://192.168.221.136/axis-cgi/oper...t&group=Motion

    et ce qui est renvoyé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    root.Motion.M0.Name=DefaultWindow
    root.Motion.M0.ImageSource=0
    root.Motion.M0.Left=0
    root.Motion.M0.Right=2015
    root.Motion.M0.Top=0
    root.Motion.M0.Bottom=9999
    root.Motion.M0.WindowType=include
    root.Motion.M0.Sensitivity=100
    root.Motion.M0.History=100
    root.Motion.M0.ObjectSize=98
    Ce code représente la taille d'un cadre de détection mouvement.

    Voici le code pour récupérer l'information dans le body avec un get du TNMHTTP :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
    {
    // pour "ventiler" les éléments de la réponse
    rep = new TStringList();
    }
    //---------------------------------------------------------------------------
     
     
    void __fastcall TForm1::ButtonReqHTTPClick(TObject *Sender)
    {
    // envoi de la requête (URL)
    NMHTTP1->Get("http://192.168.221.136/axis-cgi/operator/param.cgi?action=list&group=motion");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::NMHTTP1Connect(TObject *Sender)
    {
    ShowMessage("Connecté");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::NMHTTP1PacketSent(TObject *Sender)
    {
    ShowMessage("Packet envoyé");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::NMHTTP1InvalidHost(bool &Handled)
    {
    ShowMessage("Hébergeur invalide");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::NMHTTP1ConnectionFailed(TObject *Sender)
    {
    ShowMessage("Echec de connexion");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::NMHTTP1AuthenticationNeeded(TObject *Sender)
    {
    ShowMessage("Authentification nécéssaire");
     
    AnsiString AnID, APass;
      InputQuery("Authentification nécessaire", "Entrez votre ID utilisateur", AnID);
      InputQuery("Authentification nécessaire", "Entrez votre mot de passe", APass);
      NMHTTP1->HeaderInfo->UserId = AnID;
      NMHTTP1->HeaderInfo->Password = APass;
      ShowMessage("Informations d'authentification définies, recommencez la dernière commande");
     
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::NMHTTP1Success(CmdType Cmd)
    {
     ShowMessage("Operation réussi");
     nbrecu = NMHTTP1->BytesRecvd ;
     rep->Text = NMHTTP1->Body;
     
     // test d'extraction de la valeur du champ  "root.Motion.M0.History" de la réponse
     AnsiString U = rep->Values["root.Motion.M0.History"];    // U contient alors l'AnsiString (ex: "90")
     int val = U.ToInt();
     
    }
    Cependant moi j'aimerais afficher une image dans mon IHM avec cette même méthode ou bien quelques choses de pas trop trop compliquer.
    En gros, j'aimerais juste récupérer cet URL : http://192.168.221.136/jpg/image.jpg et l'afficher.

    Si quelqu'un a une idée s'il vous plait?


    Edit :

    Sinon est-ce qu'il y aurait un moyen d'enregistrer automatiquement l'image ciblé dans un dossier cible puis lorsque l'application s'arrête l'image est supprimé. Ainsi j'irais chercher l'image depuis le liens interne de l'ordinateur.

    S'il vous plait ?
    Dernière modification par Invité ; 26/03/2010 à 12h11.

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/01/2010, 15h50
  2. Réponses: 10
    Dernier message: 08/02/2006, 19h42
  3. Comment insérer une image dans un graphique?
    Par Leclair2000 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/05/2005, 09h29
  4. Comment insérer une image dans une cellule d'un TDrawGrid ?
    Par kanux dans le forum Composants VCL
    Réponses: 4
    Dernier message: 15/01/2005, 18h58
  5. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06

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