1. #1
    Futur Membre du Club Avatar de 0v3rl0w
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2016
    Messages : 9
    Points : 8
    Points
    8

    Par défaut Intéraction entre C++ et CPCDOSC+

    Hello,
    J'ai un projet en tête pour CPCDOS en C++, mais j'aurais besoin d'interagir avec le moteur CPCDOSC+ (comme faire system(lacommande); )
    Est possible, de faire ça ?

    Merci d'avance pour vos réponse

  2. #2
    Membre confirmé

    Homme Profil pro
    Lycéen
    Inscrit en
    septembre 2014
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2014
    Messages : 298
    Points : 598
    Points
    598
    Billets dans le blog
    3

    Par défaut

    Bonjour,
    Oui cela est tout à fait possible!
    En fait tu n'as qu'a faire un espèce de "Terminal" ou en fait ce que l'utilisateur écrit dedans (donc en C++) sera traduit en CPCDOS par ton programme (le terminal que tu vas créer) pour que le noyaux comprenne ce que tu lui demande.
    Je te fait un petit exemple même si je ne connais pas trop la syntaxe du C++:Dans ce programme, je code un langage de programmation (pour ce que tu veux faire le C++).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //Ici je ne code que la partie d'affichage d'un texte écrit en C++ vers le CPCDOS
    //La variable commande est la variable qui récupère ce que l'utilisateur entre dans le terminal
    
    SI/ %commande% = std::cout << "TonTexte" << std::endl; (:
    // Et là tu affiche TonTexte en faisant comme si chaque caractère de %commande% était un emplacement d'une liste
    //Pour t'expliquer je vais faire comme en Python car c'est que je connais de mieux...
    //print(commande[14:14])
    FIN/ SI
    Est-ce que tu as compris comment faire?
    N'hésite pas à demander de l'aide!
    Cordialement,
    Herman Adrien.

  3. #3
    Futur Membre du Club Avatar de 0v3rl0w
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2016
    Messages : 9
    Points : 8
    Points
    8

    Par défaut

    Merci de ta réponse mais je pense qu'on s'est mal compris voila se que je pense faire.

    Voila un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <cstdlib>
    #include <iostream>
    
    int main(int argc, char* argv[])
    {
        std::string arg = argv[1];
        std::string cmd = "txt/ " + arg;
        system(cmd.c_str());
    }

  4. #4
    Membre confirmé

    Homme Profil pro
    Lycéen
    Inscrit en
    septembre 2014
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2014
    Messages : 298
    Points : 598
    Points
    598
    Billets dans le blog
    3

    Par défaut

    Oui moi aussi je crois qu'on c'est mal compris...
    Je ne connais pas la syntaxe du C++ et je ne comprends pas trop où tu veux en venir? Tu veux passer du C++ au CPCDOS ou du CPCDOS au C++?
    Cordialement,
    Herman Adrien.

  5. #5
    Futur Membre du Club Avatar de 0v3rl0w
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2016
    Messages : 9
    Points : 8
    Points
    8

    Par défaut

    Je veux passer de l'information qui viens du C++ vers du CPCDOSC+. Pour par exemple coder un message box en C++ sur un OS CPCDOS

  6. #6
    Membre confirmé

    Homme Profil pro
    Lycéen
    Inscrit en
    septembre 2014
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2014
    Messages : 298
    Points : 598
    Points
    598
    Billets dans le blog
    3

    Par défaut

    À ce moment là il faut faire comme je l'ai dit:
    _Tu récupère dans une variable une commande qui peut provenir d'un fichier(dans ce cas ta variable correspondera à la ligne x d'un fichier) ou d'un terminal
    _Tu fais tout un tas de conditions dans ton code qui correspond aux commandes du C++
    _Et à l'intérieure de ta condition tu met l'action qu'effectue normalement le C++ mais tu l'écrit en CPCDOSC+

    Pour ce qui est de créer des fenêtres etc... en C++ il va falloir inventer une syntaxe qui reste dans l'esprit du C++ et la traduire en CPCDOSC+ mais avant il faut recoder toutes les commandes C++ de 0.
    Cordialement,
    Herman Adrien.

  7. #7
    Futur Membre du Club Avatar de 0v3rl0w
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2016
    Messages : 9
    Points : 8
    Points
    8

    Par défaut

    Bon j'ai fait mes recherche.

    Et notre chère Sébastien a coder une sorte de SDK pour coder en C++ pour la version 4 un peu de patience et je pourrais faire joujou avec CPCDOS et le C++

    Merci quand même pour tes réponses BlackoOSX

  8. #8
    Membre confirmé

    Homme Profil pro
    Lycéen
    Inscrit en
    septembre 2014
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2014
    Messages : 298
    Points : 598
    Points
    598
    Billets dans le blog
    3

    Par défaut

    De rien 😉😉
    Cordialement,
    Herman Adrien.

  9. #9
    Membre éclairé Avatar de maeiky
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : juin 2013
    Messages : 200
    Points : 778
    Points
    778

    Par défaut

    Oui c'est possible de coder en C++ pour CpcDos, actuellement tu peux utiliser Cwc pour compiler un exécutable compatible Windows/CpcDos

    Tu peux télécharger ici la version 0.4
    Note: la version 0.5 semble avoir un problème, mais je suis sur le projet.

    Un exemple pour lire un fichier se trouve dans les démos ("Demos\Platform_Specific\CpcDos\01_OpenFile")

    Dans ton cas il te faut utiliser la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int Level = 0;
    CpcDos->Shell_CCP("Commande", Level);
    ou bien la fonction C:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    extern "C" void cpc_CCP_Exec_Commande	 (char* COMMANDE, int ID);
    Linx, un nouveau langage intuitif
    Simacode IDE, auto-complétion & compilation instantané
    GZE, moteur 2d/3d multi-langage/multi-plateforme

  10. #10
    Futur Membre du Club Avatar de 0v3rl0w
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2016
    Messages : 9
    Points : 8
    Points
    8

    Par défaut

    Ow sa c'est intéressant merci maeiky

  11. #11
    Futur Membre du Club Avatar de 0v3rl0w
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2016
    Messages : 9
    Points : 8
    Points
    8

    Par défaut

    Dernière question à quoi correspond l'argument level ?

  12. #12
    Membre éclairé Avatar de maeiky
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : juin 2013
    Messages : 200
    Points : 778
    Points
    778

    Par défaut

    Si je ne dis pas de connerie ça correspond au niveau de priorité.

    Le langage CpcdosC+ va évoluer, va passer à la version CpcdosC+ 3.0, et certaines choses venant de la Alpha 3.9 et antérieure ne fonctionnera plus correctement. Tout comme la commande FIX/ qui par défaut créera des variables type PRIVE avec 5 niveaux différents
    Variable privé / public niveau :
    - [1] Procédures / fonctions
    - [2] Applications / processus
    - [3] Utilisateur(s)
    - [4] Système(s) d'exploitation
    - [5] Kernel
    Read more at http://cpcdos.e-monsite.com/pages/qu...xTxb1Td0WxV.99
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    REM/ Pour tous le programme, on se met au niveau 3 (USER)
    REM/ Donc on evite de relancer une autre instance pour cette version ;)
    ccp/ /optimisation = 1
    
    ccp/ /fix.niveau = 3
    Du coup je suis un peu dans le champ avec mon "0"
    Le mieux serait donc "3", je vais demander à Seb de mettre cette valeur par défaut, on n'aura donc pas à se poser la question.

    Pour lancer une .exe sous CpcDos, il faut entrer la commande (avec l'exemple "OpenFile") :
    exe/ /pe OpenFile.exe
    Linx, un nouveau langage intuitif
    Simacode IDE, auto-complétion & compilation instantané
    GZE, moteur 2d/3d multi-langage/multi-plateforme

  13. #13
    Futur Membre du Club Avatar de 0v3rl0w
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2016
    Messages : 9
    Points : 8
    Points
    8

    Par défaut

    Super Merci ^^

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

Discussions similaires

  1. [AC-2010] Intéraction entre Formulaires ?
    Par Mailgifson dans le forum IHM
    Réponses: 4
    Dernier message: 16/11/2010, 21h35
  2. intéraction entre deux formulaires
    Par radahm dans le forum IHM
    Réponses: 7
    Dernier message: 05/03/2009, 15h10
  3. Intéraction entre MIdlets
    Par Imrahil dans le forum Java ME
    Réponses: 6
    Dernier message: 27/06/2008, 09h18
  4. Réponses: 1
    Dernier message: 24/05/2006, 12h10
  5. Réponses: 2
    Dernier message: 13/03/2006, 17h25

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