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

VBScript Discussion :

Problème typage de variable


Sujet :

VBScript

  1. #1
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut Problème typage de variable
    Bonjour tout le monde,

    ça fait un petit bout de temps que je travail sur un intranet avec IIS
    et des page ASP dévelopées en JScript.
    Il faut aujourd'hi que je développe une page de mon site en VBScript.
    C'est la première fois que j'utilise ce language et pouf,
    ça merde déjà à la première déclaration de variable.
    En fait je peux déclarer des variables non typées mais impossible de déclarer
    une variable de type String ou autre.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt*d">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>TEST</title>
    </head>
     
    <body>
    	<%
    		Dim mavariable as String
    	%>
    </body>
    </html>


    S'en suit un message d'erreur :


    Erreur de compilation Microsoft VBScript erreur '800a0401'

    Fin d'instruction attendue

    /portailcidfn/test.asp, ligne 10

    Dim mavariable as String


    Si je ne met que
    Dim mavariable, là pas de problème ça marche bien.
    Je me demande bien ce qui peut clocher: mon code doit être bon puisque
    ce n'est qu'un copier/coller du tutoriel de ce site.
    Je me demande donc si ça ne viendrait pas de la config de IIS.

    Bref plz, aidez-moi parce que tous ce que je lis sur le net confirme une chose :
    ça devrait marcher b.... de m...... !!!!!!!!

  2. #2
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Salut,

    Cette erreur est tout à fait normale, parce que VBScript, contrairement à VB ou VBA, n'accepte qu'un seul type de données en l'occurrence le type «variant».

    Ainsi, un simple «dim variable» suffit pour faire ta déclaration.

  3. #3
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    Salut,

    voilà qui me rassure et en même temps je m'interroge.
    Si je déclare une variable comme ceci : mavariable = True;
    ça voudra dire que c'est un type booléen?

    Et puis toute les commandes genre Leftou Optional, ça marche pas non plus? snif snif

    ps : au passage c'est quand même un peu moizi de ne pas pouvoir typer ses variables, je suis déçu et me demande pourquoi pratiquement tout le monde utilise ce langage......

  4. #4
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    Je ne peux également que souligner ce qui m'a induit en erreur.

    On parle bien de VBScript et non de VB. Alors pourquoi mettre l'option [As Type] sachant très bien que ça ne marche pas en ASP.

    Je doit vraiment être à la masse, parce que je comprend rien du tout là...........

  5. #5
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Citation Envoyé par Aquellito Voir le message
    je suis déçu et me demande pourquoi pratiquement tout le monde utilise ce langage......
    Tout le monde n'utilise pas ce langage. Disant simplement qu'il est approprié dans certains contextes et surtout quelquefois obligatoire suivant les technologies choisies.

    Par ailleurs, j'ai fait une rapide recherche sur developpez.net, et surprise, ta question a déjà été anticipée sur la FAQ. tu peux faire de ce site ta référence concernant tes questions existentielles de programmation.

    Pour en revenir à ton poste précédent :

    si tu notes variable=true
    l'interpréteur saura qu'il s'agit d'un booléen

    si tu notes variable="true"
    variable sera interprété comme étant de type string

    En ce qui concerne la fonction Left elle est bien incluse dans vbscript,
    par contre la déclaration Optional est une caractéristique propre à Visual Basic et n'a pas été intégré dans vbscript.

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Citation Envoyé par Aquellito Voir le message
    Salut,

    voilà qui me rassure et en même temps je m'interroge.
    Si je déclare une variable comme ceci : mavariable = True;
    ça voudra dire que c'est un type booléen?

    Et puis toute les commandes genre Leftou Optional, ça marche pas non plus? snif snif

    ps : au passage c'est quand même un peu moizi de ne pas pouvoir typer ses variables, je suis déçu et me demande pourquoi pratiquement tout le monde utilise ce langage......
    Il faut se rappeler que tu es dans un langage de script, c'est à dire que ton code va être lu ligne par ligne par un interpréteur et celui-ci générera le code machine approprié à la volée.
    Si le VBS avait un fonctionnement qui impose la déclaration du type des variables avant leur utilisation, alors l'interpréteur devrait stocker en mémoire cette information pendant toute la durée du script, pour vérifier à chaque fois que le typage a été respecté. Alors que la L'interpréteur ne doit s'en souvenir que pendant la période concernant l'utilisation de la variable.
    Bon d'autre chose sont peut être intervenu dans le choix des concepteur de VBS.

    D'autant que l'esprit script, est la réalisation d'un code de quelque 100aines de ligne max pour automatisé une action. Cela principalement était pensé pour les admin réseau au départ je pense.

    Donc il ne faut pas un langage trop contraignant, car les scripts sont presque des programmes "poubelles" que l'on va utiliser pour automatiser une action précise à un moment donné, avant de jeter le code car il ne sera plus utile, et lorsque l'on en aura de nouveau besoin il faudra le réadapter. Bon ok tous ceux qui font du script, garde leurs scripts sous la main, mais rare sont les scripts qu'ils ne doivent pas réadapter au nouveau contexte lorsqu'il le ressorte du placard.
    Bref VBS n'existe aps pour faire des applications lourdes sous windows (à moins d'y être contrain pour x raisons).

    Donc avant de penser que c'est un langage moisie, remémorre toi quel type de langage c'est, dans quel but il a été crée et on doit l'utiliser, ...

    On utilise VBS pour automatiser les actions sur windows, VBA pour piloter les soft microsoft, VB6.0 (maintenant VB.Net) pour les applications lourdes, Javascript s'est imposé pour le code dans les pages HTML, PHP pour les site web fait rapidement, Java Web 2.0 et / ou ASP.Net pour les serveurs Web.
    Et pas ADA qui est un langages Fortement Typés, mais par contre qui sera très apprécié pour les dev pour l'armée américaine (pour elle que le langage a été crée) qui recherche ce genre de langage, pour s'assurer une certaine fiabilité afin de ne pas voir leur missile se retourner contre a cause d'un bug dans le programme du à un manque de rigueur dans la déclaration des types de variables (ADA ne compile pas si cette rigueur n'est pas respecté).
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    Il faut avouer que vous m'avez bien ouvert les yeux

    Pour moi toutes ces variantes de VB, c'était complètement fumeux et t'as bien résumé tout ça.

    merci les gars pour vos explications et désolé d'avoir été méchant contre le VBS, c'était juste une montée de sang

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de typage de variable
    Par ppj34 dans le forum Design Patterns
    Réponses: 1
    Dernier message: 31/01/2013, 16h59
  2. Problème de typage de variable : incompatibilité de type
    Par Zorgloub dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/02/2008, 19h56
  3. [Typage] Problème avec typage de variables
    Par elitemedia dans le forum Langage
    Réponses: 2
    Dernier message: 17/11/2006, 02h18
  4. Problèmes avec les variables final
    Par casolaro dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2004, 14h29
  5. Réponses: 6
    Dernier message: 28/05/2004, 09h39

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