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

Cpcdos Discussion :

Vos idées [Cpcdos dans le futur]


Sujet :

Cpcdos

  1. #141
    Membre expérimenté
    Salut!

    Il est possible voire, prévu pour les futures versions afin d'accéder aux pages WEB depuis un moteur de rendu graphique

    Pour le moment, il est possible d'inclure des modules C++ indépendants depuis le Cpcdos SDK, mais réservé aux adhérants au ultima tester pour la version 2017 de Cpcdos
    Sébastien FAVIER
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  2. #142
    Futur Membre du Club
    Citation Envoyé par cpcdos Voir le message
    Salut!

    Il est possible voire, prévu pour les futures versions afin d'accéder aux pages WEB depuis un moteur de rendu graphique

    Pour le moment, il est possible d'inclure des modules C++ indépendants depuis le Cpcdos SDK, mais réservé aux adhérants au ultima tester pour la version 2017 de Cpcdos
    Merci de ta réponse maintenant de vais attendre avec impatience cette 4.O

  3. #143
    Membre à l'essai
    Je trouve qu'il manque la gestion des arguments dans le CPCDOSC+

    Petit exemple en Python
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import sys
    
    if __name__ == "__main__":
       print("Votre argument: {}".format(sys.argv[1]))

  4. #144
    Membre expérimenté
    Oui effectivement, la version 2.x du CpcdosC+ ne gère pas les arguments. La version 3.0 du CpcdosC+ (Uniquement sur Cpcdos os2.0.5 Alpha 4.0) revisite tout son langage et son moteur. Notamment avec l'introduction des notions de la POO qui fonctionne plutôt bien. Actuellement vous pouvez faire de la programmation modulaire, des fonctions avec 0 ou plusieurs arguments, retour de valeurs ou non, déclarer des fonctions en privé ou public uniquement visible pour des applications ou visible pour l'utilisateur ou visible l'OS entier ou visible tout le système entier et pareil pour les variables. Après il y aura les notions "d'instances d'objet" avec tout le traplaplatin de gestions mémoire entièrement automatisé etc....
    Je trouve qu'il manque la gestion des arguments dans le CPCDOSC+
    Et bien évidement comme tu me décrit des arguments d'entré pour toutes exécutions.
    Sébastien FAVIER
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  5. #145
    Membre à l'essai
    Bonsoir à tous !
    Ça serait bien que ça gère les polices d'écritures. Et aussi la possibilité de créer un navigateur Web puisqu'il peut gérer les pilotes réseaux.

  6. #146
    Membre expérimenté
    Salut,

    Cpcdos gère déjà les polices d'écriture, mais le module à été suspendu en attendant de la refonte du core prévu pour début 2019, les problèmes de crachs ont étés identifiés.
    Les pilotes réseaux sont de format NDIS 2.0.
    Cpcdos peut déjà télécharger les pages web, le module décodeur / rendu graphique HTML sera probablement basé sur les travaux Mozilla. à voir
    Sébastien FAVIER
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  7. ###raw>post.musername###
    Candidat au Club
    Omettre les niveaux des variables pour des attributs
    Bonjour !

    Comme promis, je viens proposer mon idée suite à l'aperçu des « niveaux » de variables; qui est une fonctionnalité qui reprend le concept d'accès aux objets en POO, mais le problème est que son idée est mal retranscrise et pas très intutive (pour ma part). Je viens donc proposer un remplacement ou une alternative à celle-ci par les attributs de niveau.

    Qu'est-ce qu'un attribut de niveau ?
    Un attribut de niveau est un caractère donné à une variable définie avec la commande fix/ en tant qu'argument. Par défaut, un attribut du niveau est donné en fonction de sa position englobé dans le code (si elle est dans le contenu du fichier, dans une fonction, etc.). Voici un exemple qui montre à quoi pourrait-elle ressembler;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Définition d'une variable accessible uniquement dans le fichier qui n'est pas modifiable et qui peut être utilisé par toutes les instances du même type d'objet
    fix/ /constante /statique RS232_ODD_BIT_FLAG = 1 << 5
    
    // Définition d'une variable accessible publiquement dans n'importe quel fichier depuis toutes les instances du même type d'objet qui est modifiable
    fix/ /publique /statique TaskSwitchState = 4
    
    // Définition d'une variable constante (= non modifiable) accessible en fonction de sa position englobé dans le code
    fix/ /constante PATH = "c:\\abc\\123"
    Et bien évidemment, il existera toujours les variables sans attributs qui seront accessibles en fonction de leur position:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Définition d'une variable dans un fichier
    fix/ port = 1234
    // À la fin du fichier, cette variable sera détruite
    
    // Une variable accessible uniquement dans la fonction
    fix/ i = 0
    // À la fin de la fonction, cette variable sera détruite
    Quels sont les nouveaux paramètres à la commande fix/ ?
    Comme vous l'aurez peut-être deviné, la commande fix/ aura de nouveaux arguments. Et voici donc un tableau qui répertorie chaque paramètre avec leur description:
    Nom du paramètre Description du paramètre Équivalent au niveau actuellement utilisé
    Aucun paramètre Lors qu'aucun paramètre est spécifié, les attributs donnés sont déterminés à partir de l'englobement de la variable dans le code. Si une variable est définie sans être engloblé, elle est considérée comme accessible uniquement dans le fichier. Si une variable est définie dans une fonction, elle est considérée comme accessible uniquement dans la fonction. 1
    /publique · /public Ce paramètre attribue à la variable la propriété « publique ». Elle permet d'autoriser l'accès et la modification aux englobements parents. Note: Ce paramètre ne peut être applicable que si la variable en question possède aussi la propriété « statique ». Elle ne peut pas être combinée avec les paramètres suivants: /protégée, /globale, /système 2
    /statique · /static Ce paramètre attribue à la variable la propriété « statique ». Elle permet à un objet de pouvoir avoir une valeur commune à toutes ses instances. 2 à 4
    /encerclée · /surrounded Ce paramètre attribue à la variable la propriété « encerclée ». Elle a la même fonction que /publique, sauf qu'elle ne peut être accessible qu'à partir de l'instance de l'utilisateur (~ à partir du compte utilisateur courant) 3
    /constante · /constant · /const Ce paramètre attribue à la variable la propriété « constante ». Elle permet d'interdir la modification à un ou plusieurs englobements parents, en fonction des autres paramètres donnés. Elle ne peut pas être combinée avec les paramètres suivants: /assombrie, /protégée Non applicable
    /assombrie · /shadowed Ce paramètre attribue à la variable la propriété « assombrie ». Elle permet d'interdir la lecture à un ou plusieurs englobements parents, en fonction des autres paramètres donnés. Elle ne peut pas être combinée avec le paramètre /constante Non applicable
    /protégée · /protected Ce paramètre attribue à la variable la propriété « protégée ». Elle permet l'accès en écriture seulement à son englobement parent. Tout englobement parent n'aura droit uniquement qu'à l'accès en lecture. Elle ne peut pas être combinée avec les paramètres suivants: /constante, /publique, /globale, /système 1 à 2
    /globale · /global Ce paramètre attribue à la variable la propriété « globale ». Elle permet à la variable d'être accessible jusqu'à l'instance de la distribution actuelle (~ à partir du système d'exploitation en cours) 4
    /système · /system Ce paramètre attribue à la variable la propriété « système ». Elle permet à la variable d'être visible par n'importe quel englobement. 5

    Est-ce qu'elle est compatible avec le modèle de programmation courante ?
    Oui et non. Certains paramètres le peuvent, d'autres sont dépendants d'un mécanisme « d'objet »; qui ne peut qu'exister si un tel mécanisme est ainsi implémenté. Mais enfin, ce n'est juste qu'une proposition. Elle peut être implémenté comme tout simplement ignorée; et ça peut être compréhensible. Le mécanisme que j'ai présenté peut être complexe à implémenter, en effet. Au moins, j'aurais fait parler un peu ma voix.

    Enfin bref, merci d'avoir lue ma proposition, je vous souhaite de passer une bonne journée ou soirée;

    et à bientôt !

    Cross.
      1  0

  8. #148
    Membre expérimenté
    Très bien merci pour ta proposition, je vais étudier ça !
    Dans tous les cas je ne pourrai pas "supprimer" l'ancienne méthode, comme voilà c'est déjà une base du système, mais adapter tes idées directement dans la commande FIX/ ou SET/ pour éviter à définit préalablement le niveau de visibilité des variables.

    Pour les débutants c'est une excellente idée ! Ils pourront mixer les deux méthodes à leur envies.

    Je te remercie pour cette bonne idée.

    PS : ça ne sera peut être pas pour la Béta 2.1, mais pour la prochaine!

    Cordialement,
    Sébastien FAVIER
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là