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

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  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