Pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter, inscrivez-vous gratuitement !

 

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    octobre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : octobre 2017
    Messages : 1
    Points : 1
    Points
    1

    Par défaut débutant aide programmation c#

    Bonjour,

    Je débute en C# sur un logiciel d'info indus intouch.

    J'ai 2 ligne de code qui me donne du mal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SW_CB_8.00 +2*SW_CB_8.01 +4*SW_CB_8.02 + 8*SW_CB_8.03 +16*SW_CB_8.04 +32*SW_CB_8.05
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (2<= SW_CB_8 AND SW_CB_8 <=32) OR (SW_CB_8 > 65) OR (SW_CB_8.00 AND Cligno)
    SW_Cb est une variable API..

    Quelqu'un pour m’expliquer ??


    Merci Merci

  2. #2
    Membre actif
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2008
    Messages : 169
    Points : 286
    Points
    286

    Par défaut

    Bonjour,

    La première est une simple opération mathématique. Ton objet SW_CB_8 doit contenir les propriétés 00, 01, 02, etc. qui doivent être numérique.

    Le seconde doit être une opération booléenne, qui va te retourner True ou False à la fin. Quoique je m'interroge sur ce genre de chose SW_CB_8 > 65 vu que cela doit être un objet.

    Le mieux est de mettre un point d’arrêt sur les lignes concernées, et de regarder ce que te donne chaque variable.

    Bonne continuation.
    L’aléatoire n’existe pas en informatique, c’est juste un moyen de dire que l’on a pas encore compris.

  3. #3
    Membre chevronné
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    mars 2005
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2005
    Messages : 1 157
    Points : 1 825
    Points
    1 825

    Par défaut

    Tout dépend de ce que tu veux qu'on t'explique.
    Si tu veux qu'on t'explique ce que fait le code, Kyroon a déjà donné une explication mais sans information complémentaire c'est difficile d'aller plus loin.
    Si tu veux qu'on t'explique pourquoi ça ne compile pas, commence par remplacer les "AND" par des "&&" et les "OR" par des "||".

    Ceci ne compilera pas en C#: (2<= SW_CB_8 AND SW_CB_8 <=32) OR (SW_CB_8 > 65) OR (SW_CB_8.00 AND Cligno)
    Ceci a plus de chance de compiler ((2<= SW_CB_8 && SW_CB_8 <=32) || (SW_CB_8 > 65) || (SW_CB_8.00 && Cligno))

  4. #4
    Membre éclairé
    Homme Profil pro
    x
    Inscrit en
    juin 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : x

    Informations forums :
    Inscription : juin 2007
    Messages : 483
    Points : 731
    Points
    731

    Par défaut

    Son code c'est pas du C#.

  5. #5
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    février 2010
    Messages
    3 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 3 238
    Points : 5 276
    Points
    5 276
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Noxen Voir le message
    Son code c'est pas du C#.
    J'avoue que j'étais surpris de voir des attributs dont le nom est uniquement numérique...

    Sinon, rien de surprenant à ce genre de code :

    Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MaClasse objet = new MaClasse();
    objet.Nom = "Alfred";
    int score = objet * objet.Nom;
    if (score > 65)
    {
         objet = 0;
    }

    Documentez-vous sur la surcharge d'opérateur si ce code vous semble faux.
    Bon, après, vous avez le droit que trouver que c'est un code de merde, et vous aurez raison

    Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
        class MaClasse
        {
            public MaSousClasse Nom = new MaSousClasse();
     
            public static implicit operator int(MaClasse instance)
            {
                return (instance.Nom == 0) ? 0 : 1;
            }
     
            public static implicit operator MaClasse(int value)
            {
                return new MaClasse();
            }
     
            public class MaSousClasse
            {
                private string _value = string.Empty;
     
                public static implicit operator int(MaSousClasse instance)
                {
                    return instance._value.Length;
                }
     
                public static implicit operator MaSousClasse(string value)
                {
                    return new MaSousClasse() { _value = value };
                }
            }
        }
    On ne jouit bien que de ce qu’on partage.

  6. #6
    Membre éclairé
    Homme Profil pro
    x
    Inscrit en
    juin 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : x

    Informations forums :
    Inscription : juin 2007
    Messages : 483
    Points : 731
    Points
    731

    Par défaut

    Citation Envoyé par StringBuilder Voir le message
    J'avoue que j'étais surpris de voir des attributs dont le nom est uniquement numérique...
    J'avoue que j'ai du mal à voir comment la syntaxe du langage permettrait d'avoir un nom de champs / propriété / méthode commençant par un numérique, si tu as le temps de détailler ou de m'indiquer le contexte, je veux bien savoir.

    Et pour autant que je sache il n'y a pas d'opérateur OR en C#, même avec LinQ ; à moins peut-être d'un alias ?

    Quand à la surcharge d'opérateur on peut faire des choses inattendues avec, mais là quand même...

  7. #7
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    février 2010
    Messages
    3 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 3 238
    Points : 5 276
    Points
    5 276
    Billets dans le blog
    1

    Par défaut

    Vue les "and / or" et autres attributs nommés avec uniquement des chiffres, c'est clair que c'est pas du C#

    Ma réponse à propos des surcharges concernait uniquement :

    "2<= SW_CB_8" combiné à "SW_CB_8.00 && Cligno"

    En soit, c'est tout à fait possible en C#, en revanche, difficilement maintenable car ça induit clairement le lecteur en erreur quant aux types de données utilisés.
    On ne jouit bien que de ce qu’on partage.

  8. #8
    Membre éclairé
    Homme Profil pro
    x
    Inscrit en
    juin 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : x

    Informations forums :
    Inscription : juin 2007
    Messages : 483
    Points : 731
    Points
    731

    Par défaut

    Si tu fais une classe pour représenter des matrices, implémenter des opérateurs arithmétiques dessus est faisable et pertinent. Par contre je n'arrive pas à comprendre comment on peut arriver à SW_CB_8.00. L'opérateur . ne peut pas être surchargé et en ce qui concerne les identifiants de variables / champs / ... ils doivent normalement commencer par une lettre ou '_' et peuvent contenir ensuite n'importe nombre d'alphanumérique ou '_' ; logiquement 00 n'est pas valide.

  9. #9
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    février 2010
    Messages
    3 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 3 238
    Points : 5 276
    Points
    5 276
    Billets dans le blog
    1

    Par défaut

    Oui, d'où la remarque "c'est pas du C#"
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. [débutante]Aide programme c/c++
    Par diplomee dans le forum C++
    Réponses: 1
    Dernier message: 03/01/2017, 16h28
  2. [XL-2003] aide programme débutant
    Par diamond8 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 17/07/2009, 19h25
  3. aide programmation débutant
    Par azerty0125 dans le forum Débuter
    Réponses: 29
    Dernier message: 16/06/2009, 13h48
  4. Aide programme débutant en C++
    Par beufa59 dans le forum Débuter
    Réponses: 4
    Dernier message: 10/03/2009, 15h30
  5. [Débutant] Aide utilisation fonctions :(
    Par trakiss dans le forum Débuter
    Réponses: 10
    Dernier message: 27/08/2004, 15h59

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