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++ Discussion :

problemes MVS et l'API Windows


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut problemes MVS et l'API Windows [resolu]
    Bonjour à tous,
    Je viens tout juste de me mettre a la programmation c++.
    J'ai pu trouver une partie des reponses que je cherchais principalement grâce a la FAQ mais cependant il reste quelques parties dont j'ai vraiment du mal à trouver des reponses.

    Pour l'instant, je fais un simple programme test qui permet d'utiliser les fonctions de l'API et la partie qui me pose probleme est principalement celle pour creer des fichiers selon les boutons sur lesquels on appuie.
    J'ai donc un fichier form.h ou il y a mon interface.
    Et un fichier *.cpp dans lequel je met les fonctions qui permettent de creer et d'ecrire dans des fichiers.
    Sur mon interface, j'ai rajouté une richbox pour avoir un feedback de ce qu'il se passe.

    Voici donc mes questions :

    1/
    Lorsque je passe par le *.h, je peux facilement envoyer un text a la richbox avec la syntaxe
    richTextBox1->Text = L"";

    Cependant, lorsque je passe par la fonction du *.cpp, je n'arrive pas a declarer le text de la richbox pour pouvoir l'utiliser.
    Comment dois-je m'y prendre ?

    2/
    J'ai rajouter aussi une textbox dans mon interface.
    Le but étant de mettre un nom et que lorsque l'on creer un fichier, le fichier prend le nom inscrit.
    De meme, je n'arrive pas a recuperer l'info textBox1->Text pour pouvoir ensuite l'utiliser dans une fonction du *.cpp

    3/
    pour creer un fichier, je passe par
    std::ofstream test01("C:\\titi\\prems.txt", std::ios_base::trunc );
    Je n'arrive pas à trouver la syntaxe correct pour inserer un nom de variable dans le path, je pensais a quelque chose genre :

    char toto[] = "deux";
    std::ofstream test01("C:\\titi\\" <<toto<<".txt", std::ios_base::trunc );

    mais il a pas l'air d'apprécier :p
    Quel serait le moyen d'inserer une variable dans un path ?

    4/
    je pose cette question mais je suppose qu'il doit y avoir la reponse quelque part sur le site, je devrais bien la trouver
    Comment faire pour lancer simplement une application externe et lui associer un fichier à executer avec (en prenant en compte les chemins d'acces) ?
    par exemple, lancer le fichier c:/ziks/lylyo.mp3 avec l'application c:/program files/winamp/winamp.exe

    5/
    bon aller, la derniere, je crois que ça fera deja beaucoup
    en fait, je recupere une variable d'environement de windows avec
    Environment::GetEnvironmentVariable( "TEMP" );
    j'aimerais me servir de ce path pour determiner l'endroit ou les fichiers vont etre creer;
    Cela rejoint un peu la question 3/ comment l'utiliser dans le path ?

    sinon, un peu plus complexe, comment puis-je creer mon fichier dans un dossier spécifié en rapport avec cette variable d'environnement ?

    par exemple, ma variable d'env pointe sur
    C:\WINDOWS\Help\Tours\htmlTour

    et j'aimerais creer mon fichier dans
    C:\WINDOWS\Help\

    voilou, j'espere que l'un de vous auras le courage d'y repondre, meme une seule reponse,ce serait bien sympa

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Bonjour,

    D'après des éléments de ta question, j'ai l'impression que tu utilises la bibliothèque .NET pour réaliser ton IHM. Cette bibliothèque n'est pas écrite en C++, mais dans un langage spécifique, compatible avec du C++, et qui se nomme C++/CLI.

    Du coup, certaiens opérations sont spéciales. Par exemple, les chaînes de caractères (qui se géreraient d'ailleurs en C++ avec des std::string, et non pas des tableaux de char comme tu en utilises) que tu récupères sur ton formulaire sont des System::String^, qui ne sont pas directement compatibles avec le C++ classique. Je pense qu'une bonne partie de tes problèmes vient de là (je n'ai pas tout lu en détail tes questions).

    Il y a un forum spécifique au C++/CLI http://www.developpez.net/forums/forumdisplay.php?f=384

    Par ailleurs, tu auras peut-être des éléments de réponse dans la FAQ C++/CLI, comme http://dotnet.developpez.com/faq/cpp...n#stringtochar
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    ha oui, en effet, ça a l'air de mieux correspondre au reponses que je cherche
    Je vais regarder de ce coté ci, merci pour les liens

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    bon après un peu de recherches dans les diverses faq / msdn et autres liens du forum, j'ai pu trouver une bonne partie des reponses. Voici donc ^^

    1/
    pour faire passer un richTextBox1->Text par une variable dans une fonction (ou la retourner)

    il suffit de la declarer avec System::String ^

    2/
    meme principe que ci-dessus.

    par exemple, pour reprendre le text d'une textbox pour l'envoyer dans une fonction :

    System::String^ toto = textBox1->Text;
    fonction(toto);


    3/
    en fait, ofstream n'etait pas top pour creer et ecrire dans des fichiers.
    Je passe maintenant par :

    String^ fileName = "c:\\test\\fich.txt";
    StreamWriter^ sw = gcnew StreamWriter(fileName);
    ws->WriteLine("ça marche comme ça");
    sw->Close();


    n'oubliez pas d'ajouter using namespace System; en tete de fichier, ce sera plus simple pour declarer les string^

    pour le close, si on ne le met pas, rien n'est ajouté dans le fichier.
    pour le String^ fileName = "c:\\test\\fich.txt";
    si on veut inserer une variable il suffit de l'insérer avec des +
    par exemple
    String^ fileName = "c:\\test\\" + toto + "fich.txt";

    5/
    pour ça il suffit de declarer une variable pour le Environment::GetEnvironmentVariable( "TEMP" );
    et de le manipuler un peu par la suite ^^

    par exemple :
    System::String ^ varia = Environment::GetEnvironmentVariable( "TEMP" );
    System::String ^ toto = "temp\\";


    et lorsque l'on creer son fichier (voir question 3/ ) on aura :

    String^ fileName = varia + toto + "fich.txt";
    StreamWriter^ sw = gcnew StreamWriter(fileName);
    ws->WriteLine("ça marche comme ça");
    sw->Close();


    pour revenir sur un dossier précédent, il suffit d'utiliser la syntaxe suivante :
    \\..\\

    Voilou, me reste plus que la partie lancer un fichier avec un soft associé mais j'ai deja vu des bouts de reponses a ce sujet, il doit déja etre traité dans un autre topic ^^

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/02/2014, 05h06
  2. Probleme API windows FtpOpenFile
    Par Razgort dans le forum Langage
    Réponses: 5
    Dernier message: 25/11/2013, 17h38
  3. Réponses: 29
    Dernier message: 14/01/2013, 10h40
  4. [API Windows] Probleme avec EDITTEXT et LISTBOX
    Par Dev-FX dans le forum Windows
    Réponses: 6
    Dernier message: 27/12/2006, 13h42
  5. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28

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