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 :

Lire le contenu d'un site [Web/Reseaux]


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut Lire le contenu d'un site
    Bonjour,
    j’avais écrit un logiciel permettant de lire la météorologie donnée dans les
    différents aéroports du monde.

    Quand j'ai voulu le compiler avec Rad Studio XE2, il ne fonctionne plus.
    Cela se passe, très probablement dans
    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
     
    void __fastcall TfMeteo::bButton1Click(TObject *Sender)
    {
      HINTERNET hNet, hUrl;
      wchar_t szTemp[1024], szMetar[1024];
      wchar_t* szCode = L"LFLL";
      DWORD dwDownloaded;
      wcsncpy(szCode, eCode->Text.w_str(), 4 );
     
      swprintf(szTemp,
    	 L"http://weather.noaa.gov/pub/data/observations/metar/stations/%s.TXT", szCode);
     
     
      hNet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
      if(hNet)
      {
     
    	AnsiString asTemp = AnsiString(szTemp);
     
    	hUrl = InternetOpenUrl(hNet,asTemp.c_str(), NULL, 0, 0,0);
    	if(hUrl)
    	{
    	  if(InternetReadFile(hUrl, (LPVOID)szMetar, 1024, &dwDownloaded))
    	  {
    		   if(dwDownloaded)
    		   {
    			 szMetar[dwDownloaded] = 0;
    			 AnsiString asLigne = eVille->Text;
    			 asLigne +="-" + eCode->Text;
    			 Memo1->Clear();
    			 Memo1->Lines->Add(asLigne);
    			 asMetar = AnsiString(szMetar);
     
    			 Timer1->Enabled = false;
    		   }
    		   while (dtConnecter < Now())
    			   dtConnecter +=double(iIntervalle2)* minute;
    	  }
    	  InternetCloseHandle(hUrl);
    	  DecodeAsMetar();
    	  if(bAcces) DecodeMetar();
    	  Caption = "Météo";
    	}
    Quelqu'un voit-il l'erreur à corriger ou est-ce qu'il y a une méthode plus simple
    d'accéder au contenu de ce site (c'est un fichier texte).

    Merci

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 081
    Par défaut
    Vérifie ton mappage Char si char ou wchar_t
    Tu utlises un AnsiString et en même temps des wchar_t ? étrange !

    teste en utilisant InternetOpenUrlA ou InternetOpenUrlW
    si InternetReadFile autorise szMetar un wchar_t[], c'est donc une version W

    Sinon, un simple TIdHttp Get doit pouvoir lire le fichier et le renvoyer dans un Stream
    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. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut
    Merci,
    le TidHTTP résoud parfaitement et simplement la difficulté.

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

Discussions similaires

  1. Problème en essayant de lire le contenu d'un .lnk
    Par ybruant dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 22/11/2018, 09h16
  2. Lire le contenu d'un fichier PDF
    Par skywaukers dans le forum Delphi
    Réponses: 6
    Dernier message: 18/07/2006, 12h01
  3. [Mail] Lire le contenu d'un mail
    Par hdd dans le forum Langage
    Réponses: 5
    Dernier message: 31/10/2004, 13h30
  4. [Fichier] Lire le contenu d'un fichier
    Par bart64 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 19/09/2004, 18h18
  5. [VB.NET] Impossible de lire le contenu du datagrid
    Par jagdjg dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/05/2004, 21h51

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