IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

VB.NET Discussion :

déclaration de variable


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 18
    Par défaut déclaration de variable
    Bonjour,
    Mes premiers pas en programmation, m’amènent à concevoir un petit projet, il s'agit d'afficher via des ComboBox les nationalités du monde, chaque nationalité à un type de visa et chaque visa à une durée et un tarif.
    Toutes ces données se trouvent dans un fichier (word ou excel).
    Ma question est comment déclarer ces variables de type string ou integer?
    Merci pour votre concours
    Images attachées Images attachées  

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,
    À première vue, je dirai String. D'autant que ce sont des chaînes de caractères qui remplissent les ComboBox.
    Avec un extrait de la feuille XLS, je pourrais peut-être préciser.

  3. #3
    Membre averti
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 18
    Par défaut
    Merci pour votre réactivité,
    Quand j'ai parlé de type Integer s’était pour le tarif du visa en euro, par contre pour les données je n'ai pour le moment que la liste des pays au format Excel, ci-joint, pour ce qui est du type de visa (familial, tourisme, études, affaires, travail, courtoisie) et le nombre d'entrées (une ou multiples) je ne sais pas comment présenté ça pour le moment.
    En ce qui concerne le tarif là je vous avoue que c'est le flou total.
    SalutationsListes des Pays.xlsx

  4. #4
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Pour un tarif en euros, le type réel (Single ou Double) est mieux approprié : l'euros s'affiche ordinairement avec 2 décimales. Mais ce n'est qu'un détail.
    Je crois comprendre que votre question concerne davantage l'organisation des données entre elles que leurs types.
    Effectivement, la feuille XLS n'est qu'une liste de pays.

    Ne pouvez-vous faire un exemple complet avec 2 pays assez différents sur le plan des données qui concernent l'application (ex. Belgique ou France et Tunisie ou Egypte) ?

    Et aussi répondre à quelques questions :
    • Un pays peut-il être concerné par plusieurs types de visa (de type "affaires", de type "tourisme", de type "student erasmus", ..) ?
    • Un visa donné peut-il avoir des durées de validité différentes (selon la nationalité du voyageur, par exemple) ?
    • Et puis, le prix affecté (tarif) à une combinaison donnée (pays, type visa, durée) est certainement unique pour cette combinaison. N'est-ce pas ?


    Bonne nuit ...

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Pour tout ce qui est monétaire préféré le type decimal

  6. #6
    Membre averti
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 18
    Par défaut déclaration de variables
    Citation Envoyé par Phil Rob Voir le message
    Pour un tarif en euros, le type réel (Single ou Double) est mieux approprié : l'euros s'affiche ordinairement avec 2 décimales. Mais ce n'est qu'un détail.
    Je crois comprendre que votre question concerne davantage l'organisation des données entre elles que leurs types.
    Effectivement, la feuille XLS n'est qu'une liste de pays.

    Ne pouvez-vous faire un exemple complet avec 2 pays assez différents sur le plan des données qui concernent l'application (ex. Belgique ou France et Tunisie ou Egypte) ?

    Et aussi répondre à quelques questions :
    • Un pays peut-il être concerné par plusieurs types de visa (de type "affaires", de type "tourisme", de type "student erasmus", ..) ?
    • Un visa donné peut-il avoir des durées de validité différentes (selon la nationalité du voyageur, par exemple) ?
    • Et puis, le prix affecté (tarif) à une combinaison donnée (pays, type visa, durée) est certainement unique pour cette combinaison. N'est-ce pas ?


    Bonne nuit ...
    Bonjour,
    Merci encore une fois d'être à l'écoute.
    Je réponds à vos questions: -Oui un pays peut être concerné par plusieurs types de visas(affaires, travail, familial, études, courtoisie...) au cas ou j'en oublierai
    -Oui le nombre d'entrées serait soit une soit multiples
    -Oui la durée du visa peut variée (de 01 à 30 jours pour une entrée) et de (> 30 jours à 90 jours pour entrées multiples)
    -Pour ce qui est du tarif, pour faire simple disons (Belgique, Egypte... 85 € pour Une entrée, 125 € pour plusieurs) (Italie, Espagne,Suéde.... 20€ une entrée 100 € plusieurs) (USA, GB... Gratuit)
    Ci joint un fichier pour avoir une vue précise.
    SalutationsExemple appli Visas.docx

  7. #7
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 : 4 197
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Phil Rob Voir le message
    Pour un tarif en euros, le type réel (Single ou Double) est mieux approprié
    Surtout pas !

    decimal et rien d'autre pour un montant.
    Jamais single ou double qui sont à virgule flottante, et provoquent des erreurs d'arrondis !

  8. #8
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Merci pour l'information.

    L'organisation optimale des données devrait se faire avec une base de données relationnelles, après normalisation des données. La programmation de cette gestion est bien plus complexe que la gestion des même données en feuille XLS. Ce n'est pas un job pour débutant.

    La gestion la plus simple consiste à utiliser les fichiers "à plat" (TXT ou binaire, ce qui est moins simple). Il s'agit de gérer un fichier par type de donnée (Les pays, les types de Visa) et un autre comme tarif avec par exemple : CePays, CeVisa, durée, prix.

    A toi de voir ...

    Entre les deux, il y a de nombreuses autres approches, tu en recevras sans doute des suggestions dans cette discussion ...


  9. #9
    Membre averti
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 18
    Par défaut déclaration de variables
    Citation Envoyé par Phil Rob Voir le message
    Merci pour l'information.

    L'organisation optimale des données devrait se faire avec une base de données relationnelles, après normalisation des données. La programmation de cette gestion est bien plus complexe que la gestion des même données en feuille XLS. Ce n'est pas un job pour débutant.

    La gestion la plus simple consiste à utiliser les fichiers "à plat" (TXT ou binaire, ce qui est moins simple). Il s'agit de gérer un fichier par type de donnée (Les pays, les types de Visa) et un autre comme tarif avec par exemple : CePays, CeVisa, durée, prix.

    A toi de voir ...

    Entre les deux, il y a de nombreuses autres approches, tu en recevras sans doute des suggestions dans cette discussion ...

    Bonsoir,
    Effectivement j'avais pensé à relier ces tables ainsi crées, dans Access mais j'aurais buté sur la table tarif puisque par exemple pour Belgique Familial ( 01 entréé = 85€, Plusieurs=120€) mais Belgique Travail( 01 entrée =200€, Plusieurs = 250€) ainsi de suite et j'arriverais pas à mettre ça en place.
    Encore une fois merci d'avoir prit la peine de m'orienter.
    Salutations

  10. #10
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Tu as raison StringBuilder !
    C’est vrai, comme l’a déjà signalé hier soir Youtpout978, le type Decimal est plus approprié aux calculs monétaires.
    Vois-tu, les vieux programmeurs, ceux de l'époque des dinosaures, dont je fais partie, ont appris à faire des calculs parfaitement justes avec le type Double.
    Mais ton commentaire après coup, me rappelle le message de Sam Placi, il y a 2 jours et c'est pourquoi je te demande : tu n’aurais pas une suggestion utile en rapport avec la question posée par Dardanel ?

  11. #11
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Merci pour le retour.
    Bonne chance pour ton projet.
    Et bonne nuit ...

  12. #12
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 : 4 197
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dardanel Voir le message
    Bonjour,
    Mes premiers pas en programmation, m’amènent à concevoir un petit projet, il s'agit d'afficher via des ComboBox les nationalités du monde, chaque nationalité à un type de visa et chaque visa à une durée et un tarif.
    Toutes ces données se trouvent dans un fichier (word ou excel).
    Ma question est comment déclarer ces variables de type string ou integer?
    Merci pour votre concours
    A vrai dire, je ne comprends pas trop quelle est la question, ni le besoin.

    Déjà, un premier précepte : en informatique, chaque donnée doit être manipulée et stockée autant que possible dans son propre type.

    C'est à dire que :
    - Un libellé sera toujours un string (ça, c'est pas compliqué)
    - Un prix sera toujours en decimal ou un integer (mais c'est vraiment déconseillé, tu seras toujours emmerdé avec un calcul de taxe, de commission, ou de taux de change).
    Cf. documentation https://docs.microsoft.com/en-us/dot...-numeric-types
    Because the decimal type has more precision and a smaller range than both float and double, it's appropriate for financial and monetary calculations.
    https://docs.microsoft.com/en-us/dot...e-decimal-type
    The decimal type is a 128-bit data type suitable for financial and monetary calculations. The decimal type can represent values ranging from 1.0 * 10^-28 to approximately 7.9 * 10^28 with 28-29 significant digits.
    - Un code sera toujours autant que possible un nombre entier, ou à défaut un string

    Mais c'est pas tout. VB.NET est un langage objet.
    - Cela veut dire qu'un pays, c'est pas un libellé, mais un code + un libellé. C'est un classe donc.
    - Idem pour un visa : c'est pas juste un libellé.
    - Quant aux prix, comme tu l'as très bien compris, c'est pas juste un montant, mais la croisée des mondes entre un visa et un pays + un montant

    A partir de là, ton dictionnaire des données est le suivant (pour ces trois éléments) :

    Visa : (id, nom)
    Pays : (id, nom)
    Prix : (id, id_visa, id_pays, montant)

    A partir de là, trois tables, avec prix qui référence visa et pays.

    Il n'y aura alors rien de plus simple pour déterminer le pays lorsque l'utilisateur aura renseigné le type de visa et le pays :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select montant from prix where id_visa = @id_visa and id_pays = @id_pays

    Tu utiliseras alors évidement des requêtes paramétrées : https://webman.developpez.com/articl...rameter/vbnet/

    Enfin, dans tes combos, tu ne listera pas les libellés des pays, visa, etc. mais chaque item sera bel et bien une instance de chaque objet.
    Tes classes surchargeront la méthode ToString() afin de s'afficher correctement dans la combo.
    Et tu n'auras donc aucune difficulté à récupérer l'id des éléments sélectionnés, par exemple :
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim idVisa as int
    idVisa = (Combobox1.SelectedItem as Visa).Id

    PS pour Phil Rob : il y a relativement peu de chances pourque tu sois plus vieux que moi. Moi aussi j'ai connu les disquettes souples et les fichiers séquentiels indexés… C'est pas pour autant qu'on est obligé de continuer à travailler avec.

  13. #13
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    @StringBuilder
    Voila un bel effort de réponse à la question posée ...

    ... il y a relativement peu de chances pour que tu sois plus vieux que moi.
    Il ne saurait y avoir une très grande différence d'âge entre nous et c'est la raisons de ce commentaire :
    Quand tu traites des dinosaures, vu que tu parles de Nous, je te serais reconnaissant d'écrire la mot avec une majuscule !

    Passe une bonne journée

Discussions similaires

  1. déclaration de variable public
    Par mathieu57 dans le forum MFC
    Réponses: 5
    Dernier message: 15/09/2005, 17h36
  2. [DB2] Ordre de déclaration des variables
    Par Fatah93 dans le forum DB2
    Réponses: 1
    Dernier message: 04/05/2005, 17h18
  3. déclaration de variables de 16, 32 et 128 bits
    Par samipate dans le forum C++
    Réponses: 10
    Dernier message: 30/12/2004, 22h33
  4. [FLASH MX2004] Déclaration de variables sous flash mx
    Par softyClochette dans le forum Flash
    Réponses: 4
    Dernier message: 29/11/2004, 16h11
  5. [debutant][Portée] Déclaration de variable .....
    Par Slein dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 10h43

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