Débutant pb de fonction

[Résolu]
Signaler
Messages postés
12
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
25 mars 2012
-
Messages postés
12
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
25 mars 2012
-
Bonjour tout le monde, je suis un débutant dans le language C++, j'utilise Visual C++ express.

Je tente de programmer un client ftp spécifique mais je bloque sur la première étape, snifff.
Mon programme doit détecter la connection internet avant de joindre un serveur sql, pour cela j'utilise la fonction InternetCheckConnection de la librairie wininet, mais je n'arrive pas à rentrer les paramètres correctement, si quelqu'un peut m'aider, ça serait l'amérique !

Voila mon code :

<quote>
            private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
            this->label1->Visible = true;
            this->label1->Text = L"Test de connection internet";
            this->progressBar1->Visible = true;   
   
                if (bool InternetCheckConnection("http://www.google.fr", 0, 0) = true) {
                this->label1->Text = L"Connecté à google !!!!!!!!";
                this->progressBar1->Value = 100;
                }
            else {
                this->label1->Text = L"Non connecté";
                }
            }
</quote>

J'ai bien défini la librairie mais j'obtient ces messages d'erreur je pense qu'il faut que je déclare la variable, enfin je sais pas ...

error C2059: erreur de syntaxe : 'chaîne'
error C2072: 'InternetCheckConnection' : initialisation d'une fonction
error C2205: 'InternetCheckConnection' : impossible d'initialiser des variables extern avec une portée bloc
error C2440: 'initialisation' : impossible de convertir de 'bool' en 'bool (void)'

Voila si qulqu'un peur me venir en aide et m'expliquer ce que j'ai surement loupé dans un tutorial, cela serait super cool , merci d'avance !

8 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
 if (InternetCheckConnection("http://www.google.fr", 0, 0) ){...
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Et ben c'est louche...
déclaration :

#include "Wininet.h"
#pragma comment(lib,"Wininet.lib") // à moins que tu l'aies déjà dans les options par défaut
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Suffis pas de copier un .h pour que tout roule parfaitement.
Télécharge la PSDK pour faire du Win32.
http://www.cppfrance.com/code.aspx?ID=38359

En passent, si tu débutes, commence par apprendre le vrai C++ et non le C++.NET.

C++ (@++)<!--
Messages postés
12
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
25 mars 2012

Ok pas de soucis et si je veut faire une condition du genre : "Si le pc n'est pas connecté", je fait :
"if (!InternetCheckConnection("http://www.google.fr, 0, 0)) { ... }

Jusqu'à là c'est bon mais j'ai encore une erreur :
error C3861: 'InternetCheckConnection' : identificateur introuvable

Je pense que je doit déclarer InternetCheckConnection, non ? si oui mais où ? lol
Je potasse mon bouquin de 1500 pages sans trouver de solutions, je vais encore chercher, je n'aime pas abandonner

Merci encore !!!
Messages postés
12
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
25 mars 2012

Sa évolue, désolé de spammé le forum

Alors mon code devient ceci après avoir presque compris qu'il falait déclarer tout sa :

<quote>

            bool InternetCheckConnection();
            if (InternetCheckConnection("http://www.google.fr", 0, 0) ){
            this->label5->Text = L"Connecté ...";
            this->progressBar1->Value = 25;
            }
            else {
            this->label5->Text = L"Non connecté ...";
            }

</quote>

A vu de nez sa me parait correct mais voila je me retrouve avec une erreur du genre :
error C2660: 'InternetCheckConnection' : la fonction ne prend pas 3 arguments

Mais je suis sur le ---, en fouillant dans la MSDN à l'adresse http://msdn2.microsoft.com/en-us/library/aa384346.aspx, pis la fonction comprend bien 3 arguments => l'URL, l'option et réservé.

A moins que j'ai mal déclarer la fonction ... je potasse ... et je rame ...
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Chuis naze j'avais pas regardé ton code. Bien sûr, la déclaration est absurde, il faut utiliser Wininet.h où elle est déclarée correctement (comme j'ai mis au-dessus).
Messages postés
12
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
25 mars 2012

Ouais d'accord pas de soucis j'ai oublié cette ligne (honte à moi) , je l'ai rajouté mais je vais vraiment être chiant ...

J'ai trouvé wininet.h dans le répertoire include de codeblocks que j'ai ensuite coller parmis les lib de VC mais jpense pas que sa soit le bon puisque j'obtient 45 erreur(s), 132 avertissement(s) ou alors je doit faire un piti réglage sur Visual C++.
Messages postés
12
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
25 mars 2012

Ok sa marche je suivrait tes conseils et je vous remercie tous pour votre aide