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![]()
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![]()
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++).Est-ce que tu as compris comment faire?
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
N'hésite pas à demander de l'aide!![]()
Cordialement,
Herman Adrien.
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()); }
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.
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
À 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.
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
De rien 😉😉
Cordialement,
Herman Adrien.
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 :
ou bien la fonction C:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int Level = 0; CpcDos->Shell_CCP("Commande", Level);
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
Ow sa c'est intéressant merci maeiky![]()
Dernière question à quoi correspond l'argument level ?
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.99Du coup je suis un peu dans le champ avec mon "0"
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager