1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2007
    Messages : 34
    Points : 31
    Points
    31

    Par défaut Quelles sont les différences entre Nothing et null en vbscript?

    Plop all !

    Je me permet de créer un nouveau fil car j'ai quelques questions de noob

    Le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% Set objFSO = nothing %>
    _ Quelle est la signification de set ? Pourquoi ne pas simplement faire une affectation sans le mot clé set ?
    _ A quoi sert Nothing plutôt que null ?

    Merci

    P.S : Je développe en PHP mais je viens d'être embauché dans une boite qui dev' en ASP et DotNet donc je débute seulement avec ces langages pour lesquels je m'autoforme sur le tas

  2. #2
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2007
    Messages : 81
    Points : 96
    Points
    96

    Par défaut

    nothing c'est le mot clé équivalent à null, en asp il me semble

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2007
    Messages : 34
    Points : 31
    Points
    31

    Par défaut

    Citation Envoyé par tom974 Voir le message
    nothing c'est le mot clé équivalent à null, en asp il me semble
    Quelle est la différence ? Dans certains scripts, je vois les 2 côte à côte. Il doit donc y avoir une utilité à utiliser l'un plutôt que l'autre. Non ?

  4. #4
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2007
    Messages : 81
    Points : 96
    Points
    96

    Par défaut

    si tu fait du VB.net ca sera notihng
    et si c'est du c# ça sera null

  5. #5
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2007
    Messages : 81
    Points : 96
    Points
    96

    Par défaut un petie recherche donne ca

    http://blog.developpez.com/index.php...hing_vb_null_c

    Edit : c'est moi qui ai mal lu ta question :s (dsl)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2007
    Messages : 34
    Points : 31
    Points
    31

    Par défaut

    C'est bizarre. Je développe actuellement sur un site uniquement en ASP (pas DotNet).
    C'pour ça que je cherche à comprendre l'intérêt de Nothing vs. Null.

    [Edit] J'oubliais, le blog ne me dit pas à quoi sert Nothing, sauf erreur de ma part

  7. #7
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    avril 2007
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 1 478
    Points : 1 976
    Points
    1 976

    Par défaut

    Bonjour

    <% Set objFSO = nothing %>
    1 / C'est du VBscript
    2 / ça sert à détruire un objet précédemment instancié (le libérer de la mémoire). Tu as surement qqpart dans la même page un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set objFSO=Server.createObject("...")
    '  et je sais même la suite ;)
    3 / set, parce que c'est un objet, et non une variable
    4 / <% et %>, parce que c'est du code ASP (ça, tu l'avais surement découvert )

    5 / null, en vbscript ?


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  8. #8
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    juin 2008
    Messages
    330
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juin 2008
    Messages : 330
    Points : 149
    Points
    149

    Par défaut

    Bonjour,

    Je débute moi aussi en ASP mais apparement Nothing sert à vider de ton serveur la mémoire vive alouée à ta variable. Le truc est qu'en JScript il n'y a pas d'équivalent (enfin à ma connaissance). Et je me pose la question, pourquoi cela serait-il indispensable dans un cas et pas dans l'autre. ça voudrait dire qu'en JScript, les variables se détruisent toutes seules ?

    a ma connaissance, Set sert à instancier un objet et Dim à déclarer une variable. Mais là aussi j'ai l'impression qu'on peut s'en passer. Alors bordel de bachibouzouc à quoi ça sert lol !!!

    Bref c'est fumeux pour moi aussi. Alors si les experts pouvaient nous éclairer, ce serait coooooool

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2007
    Messages : 34
    Points : 31
    Points
    31

    Par défaut

    Citation Envoyé par roro06 Voir le message
    1 / C'est du VBscript
    Right ! J'avais pas vu qu'il y avait ça en tête de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@LANGUAGE="VBSCRIPT"%>
    Citation Envoyé par roro06 Voir le message
    2 / ça sert à détruire un objet précédemment instancié (le libérer de la mémoire). Tu as surement qqpart dans la même page un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set objFSO=Server.createObject("...")
    '  et je sais même la suite ;)
    Finalement, c'est comme si je faisais appel à un destructeur, non ?

    Citation Envoyé par roro06 Voir le message
    3 / set, parce que c'est un objet, et non une variable
    Understood

    Citation Envoyé par roro06 Voir le message
    5 / null, en vbscript ?
    Je saurais pas te dire. Je n'ai plus le code sous le coude. Et j'vais être perdu longtemps avec tout ces mélanges de codes. Je croyais que VBscript était un langage à part et qu'on écrivait de l'ASP en ASP, point

  10. #10
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    juin 2008
    Messages
    330
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juin 2008
    Messages : 330
    Points : 149
    Points
    149

    Par défaut

    Dsl j'ai craqué sur l'instantiation des objets sans le mot clé SET. C'est juste avec Dim et encore sans l'option EXPLICIT. La prochaine fois je la fermerais promis

    Je croyais que VBscript était un langage à part et qu'on écrivait de l'ASP en ASP, point
    Lol, si tu savais le temps que j'ai mis à comprendre ça. Quand j'ai commencé l'ASP dans ma boite. Les pages que je devais modifier avaient des entête JScript, et moi j'essayais de compiler du VBScript. Je devenais tout simplement fou !!!
    En fait, comme tu viens de le préciser, ton code dans une page ASP est déterminé par ton entête <%@LANGUAGE="VBSCRIPT"%>.

    Bon courage.

  11. #11
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    avril 2007
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 1 478
    Points : 1 976
    Points
    1 976

    Par défaut

    Finalement, c'est comme si je faisais appel à un destructeur, non ?
    oui et non. ça détruit l'objet, ce qui à la conséquence d'appeler le destructeur de l'objet considéré (dans ce cas-là, par exemple, ce destructeur pourra fermer les fichiers ouverts, etc ...)

    Le truc est qu'en JScript il n'y a pas d'équivalent
    Si si, c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    objFSO=null;
    delete objFSO;
    Je croyais que VBscript était un langage à part et qu'on écrivait de l'ASP en ASP, point
    C'est une confusion fréquente : ASP n'est pas un langage. C'est un modèle objet fournis par IIS (par une dll, en fait, bien nommée asp.dll), qui peut être utilisé par différents langages, le plus courant étant, (hélas , note personnelle) le VBscript, mais il peut tout aussi bien être "attaqué" en JScript, en JAVA, en VB6, et j'en oublie.


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  12. #12
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    avril 2007
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 1 478
    Points : 1 976
    Points
    1 976

    Par défaut

    Dim sert à déclarer une variable
    set sert à instancier un objet.

    un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim fso
    set fso=server.createObject("scripting.fileSystemObject")


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2007
    Messages : 34
    Points : 31
    Points
    31

    Par défaut

    Aaah ! Merci pour les précisions

    Normalement, dans ma boite, l'ASP va être proscrit, on va progressivement introduire DotNet. Je ne connais déjà pas les subitilités de l'ASP alors passer en DotNet quelque soit le langage, cela promet d'être folklorique !!

  14. #14
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    juin 2008
    Messages
    330
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juin 2008
    Messages : 330
    Points : 149
    Points
    149

    Par défaut

    objFSO=null;
    delete objFSO;
    Oki merci je m'emdormirais moins bête ce soir Comme quoi ça sert de déballer des conneries. Au moins on est remis dans le droit chemin héhé !!

    Par contre c'est l'un ou l'autre, ou c'est les deux ?

    ps : dsl LexLxUs j'ai un peu squatté ton post là mais bon ça pourra te servir si tu passes au JScript au lieu d'un script DotNet, qui sait

  15. #15
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    avril 2007
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 1 478
    Points : 1 976
    Points
    1 976

    Par défaut

    Par contre c'est l'un ou l'autre, ou c'est les deux ?
    les 2, mon capitaine

    l'un désalloue la variable, l'autre libère la mémoire

    Comme quoi ça sert de déballer des conneries
    Je l'ai toujours dit (et chuis très fort, dans le domaine)


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/07/2011, 09h08
  2. Quelles sont les différences entre les types char et int ?
    Par RayBradbury dans le forum Débuter
    Réponses: 3
    Dernier message: 27/03/2011, 16h10
  3. Réponses: 0
    Dernier message: 05/06/2009, 12h04

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