Se connecter avec
S'enregistrer | Connectez-vous

Plusieurs questions concernant le C++

Dernière réponse : dans Programmation

Decidement moi et le C++ on s'aime pas :) 

( J'utilise VC++ 6.0 )
Bon j'aurais plusieur questions :

Avouez que pour quelqu'un qui vient du VB le C++ est plus que deroutant ^^ ?

Comment acceder aux objets que je place sur ma form ?
Du genre CtestDlg qui contient EDIT1_...., au quel je voudrais assigner la valeur "AAA" par exemple ?

Je suis actuellement entrain de créer un programme d'auto Update en C++. J'ai recupperé du code qui gere les socks.
Mon seul probleme c'est que je n'arrive pas a transfere ce programme du mode console en mode Fenetre car je n'arrive pas a acceder aux objets de cette fenetre :p  ( j'ai commeme reussi a trouver le bouton ou sont listés les evenemnts possibles )

Ah oui autre chose pendant qu'on y est :

Voila j'ai trouvé une fonction grace a la quelle je peux avoir le Path complet de mon exe, maintenant je voudrais virer le nom de mon exe et y mettre "\Options.ini", c'est la que ca se gate, je ne vois pas comment je pourrais virer le nom de mon EXE :) 
De plus a la compilation du code si dessous le compilateur commence a pleurer
Citation :
error C2664: 'WritePrivateProfileStringA' : cannot convert parameter 4 from 'bool' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast


Pourtant j'ai passé aucun argument BOOL a cette fonction ...

Je suis perdu help !

Voici ma tentative de code xD
Me frappez pas fort s'il vous plait.

  1. GetModuleFileName( NULL, szPath, MAX_PATH );
  2. szPath -= "\TCPSERVER.exe"
  3. WritePrivateProfileString("Options","Clef","Ajout",szPath && "\Options.ini");

Autres pages sur : plusieurs questions concernant

Lassé par la pub ? Créez un compte

Salut,

Ton texte est un peu flou, déjà pour affiché en mode fenètre, utilise la SDL.
Pourquoi veut tu renoomer ton .exe en .ini ?
Pour l'erreur, il dit qu'il ne peut pas convertire ta variable de type bool vers une variable de type char. Si je li bien l'anglais ;) 

Arf, je l'ai unpeu tapé a la va vite je m'explique :

J'ai crée un nouveau projet MFC, une boite de dialogue, j'ai placé une TextBox dedans qui s'appelle EDIT1_ qqchose. Mais je peux pas y acceder, j'ai beau faire CtestDlg.Edit1_... mais si il me le montre pas dans la liste qui s'affiche c'est que je suis pas au bon endroit : /

Le truc c'est que je voudrais pouvoir ecrire un Path ( dsl je sais pas le nom francais ) pour pouvoir ensuite telecharger des fichiers dedans, mais pour l'ecrire il me faut le Path de mon exe, si non Option.ini ne se crée pas ^^, j'ai reussi a le créer avec "..\\Options.ini" mais un dossier plus haut xD
Donc j'ai decidé de recuperer le Path de mon exe et de remplacer le nom de l'exe par "\Options.ini" pour pouvoir le créer a coté de mon exe.

St3fff a dit :
Salut,
Pour l'erreur, il dit qu'il ne peut pas convertire ta variable de type bool vers une variable de type char. Si je li bien l'anglais ;) 


Bah oui justement c'est ca le probleme, je n'ai pas de BOOL dans la function : /

J'espere m'etre bien expliqué, si non demandez moi ce qui est pas clair.

CRicky a dit :

ps: la MFC est certainement l'API graphique la plus difficile à maitriser :) 


Pourquoi faut que ca tombe sur moi ?!

Bon voici mon projet ( je certifie sur mon honneur qu'il n'y a aucun virus/ver/trojan dedans ), je demande pas de coder a ma place juste un coup de pouce :

Voila comment je vois mon appli :

Le client se connecte.
Le serveur lui envoie les fichiers qu'il faut mettre a jour ( qui sont contenus dans un .ini. Le client recois les noms puis engage le download( cf: source transfert de fichiers ). Il le fait pour tous les fichiers et voila puis le client est deconnecté.

Si vous avez des proposition ou une autre methode je suis prenant.

PS: Aussi pour pas me perdre j'ai voulu créer un namespace mais je ne crois pas qu'il marche car le nom de fichier qui est passé ne parametre n'est pas un pointeur.

salut,
1er conseil: http://msdn2.microsoft.com/fr-fr/library/d06h2x6e(VS.80).aspx
2eme conseil:
http://msdn2.microsoft.com/fr-fr/library/bk77x1wx(VS.80).aspx

(MSDN: Classes MFC)


Ensuite, j'ai regardé en survolant ton code de transfert: Pourquoi utiliser en brutal des socket (à l'ancienne methode)
Tu as la classe CAsyncSocket (ou CSocket + CArchive) par exemple, qui te permet de gérer les connexions/transferts.
Les 2 liens
http://msdn2.microsoft.com/fr-fr/library/3d46645f(VS.80).aspx
http://msdn2.microsoft.com/fr-fr/library/t7a47kk4(VS.80).aspx
Lassé par la pub ? Créez un compte
Tom's guide dans le monde