122
« le: mars 17, 2021, 02:02:52 pm »
En programmation objet, les types fondamentaux sont généralement encapsulés dans ... des objets, ce qui permet d'associer les données et le code qui les manipulent.
String est une classe objet qui sert à manipuler une chaine de caractères.
En langage C, vous utiliseriez une variable de type char* à laquelle vous allouez une zone mémoire, puis vous utilisez des fonctions de la librairie standard de manipulation des chaines pour traiter le contenu : strcpy, sscanf, sprintf, etc...
En C++, on va plutot utiliser un objet String pour obtenir le meme résultat final, mais de façon plus élégante...plus "objet".
Tous les langages modernes utilisent ce paradigme : Java, C#, C++...et bien entendu la plupart des langages "scriptés".
Vous focalisez sur "String" comme étant une clef centrale d'un programme. C'est forcément erroné : String est une simple chaine de caractères. Ca ne peut en soit constituer un programme ou etre un élément déterminant du programme.
Soit votre programme est "vide" et ne fait rien, et vous ne voyez que des bribes de ce qui aurait du forme une base de travail (par exemple une liste de chaines de caractères contenant les commandes futures à écrire), soit il y a dans vos sources une quantité importante de code que vous n'avez pas exploré.
Votre projet prévoyait une "console de paramétrage", donc une ligne de commande qui devait permettre d'injecter des ordres au clavier, puis une restitution à l'écran d'un résultat. Il est évident que pour faire cela il faut manipuler du texte :le flux des touches saisies, puis la génération des réponses. Il faut donc manipuler des "String" à un moment ou un autre, comme le fait la classe SerialCommand de DCC++. Mais la partie traitant cet aspect représente 20 lignes de codes sur plusieures centaines traitant d'autre chose.
Si tout ce que je viens de vous dire est "du petit chinois" pour vous, il faut que vous preniez le probleme à la base : vous ne pouvez pas programmer (et encore moins utiliser des objets) sans comprendre la terminologie de base des langages : classe, objet, types fondamentaux, et notamment opérations sur les chaines de caractere. C'est par là qu'il faut commencer.
Pour le reste, et comme l'a indiqué msport ci-avant, si vous voulez de l'aide il nous faut plus de données. En particulier les sources, les exemples de ce que vous avez testé ou pas, ce que vous ne comprenez pas, etc. Petit pas par petit pas.