[vb 8][.net 2]vbshell .net : une sorte de powershell pour executer du vb .net ou dos (batch-like) ligne par ligne avec créat

Soyez le premier à donner votre avis sur cette source.

Vue 11 946 fois - Téléchargée 938 fois

Description

Déboguer une application ou creer son propre langage de script (basé sur VB ?) grâce à .NET, tout est permi !
Rien de mieux que de tester par vous même avec le code proposé ci-dessous

Source / Exemple :


'' '' Scripts tout faits ({Le Nombre} étant un nombre de 1 à 4 :
open-script-file Script {Le Nombre}.vbsx

'' '' Votre propre test
' Tapez ceci dans la console :
' Attention, ce code est la mise à jour de l'exemple de l'ancienne version,
' la compatibilité n'est pas garantie à 100 %

' Déclarations des variables
Dim X as String = "ipconfig"
Dim Y as new Integer()
Dim Z = new Random()

' Echo (un nom de variable ou une expression telle Z.Next(0, 100)
Echo X
Echo Y
Echo Z

' Changer la valeur d'un objet
Y = Z.Next(0, 100)
Echo Y

' Supprimer une variable
Finalize Z

' Va provoquer une erreur de compilation
Echo Z

' Vider la console
clear

' Utiliser le DOS
ipconfig

' Utiliser L'opérateur de pré-compil %% pour lancer une commande
' ATTENTION, les noms des variables seront TOUJOURS tapés en majuscules
Echo "Y vaut %Y%."
' Lancer ipconfig en utilisant l'opérateur de précompil (je rapelle que X vaut "ipconfig")
%X%
' Pour quitter : exit
exit

Conclusion :


On peut aussi ne pas utiliser la console et employer ce code via son module et sa fonction EVAL(str as string) ou CALLVB(vbcode as string)

Dans ce cas, vous pouvez utiliser GetVar("X") pour récuperer la variable X de l'EVAL ou au contraire SetVar("X", 3) pour en modifier le contenu (si X n'existe pas, il n'est pas créé ! Utiliser CreateVar("X") pour le créer)

-------------------
PS :
Vous pourrez remarque que les déclaration de type ne sont pas pris en compte pour les variable, et ce pour des raisons de simplicité évidente.

En effet, "Dim X as Integer" sera en fait similaire à "Dim X = Nothing".
Tout comme "Dim y as new Random()" sera interprêté en réalité par "Dim X = new Random()"
Conclusion, faîtes bien attention à vote typage ;)

-------------------
PS (2) :
J'utilise dans ce script une autre source déjà posté sur CODES-SOURCES dont je suis également l'auteur pour compiler du code à la volée.
Pour avoir plus d'information sur ce code : http://www.vbfrance.com/codes/CREER-CLASSES-FONCTIONS-NET-PENDANT-APPLICATION-DURANT-FONCTIONNEMENT_37463.aspx

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
276
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2008

Ah oui, je sais que pour dir ca ne marche pas.... A cause de VB !
En effet il existe une fonction DIR en vb... Or, mon code ne lance une opération DOS-SHELL que si il n'arrive pas à compiler en VB .Net.... La solution que j'ai trouvé (mais pas testé) c'est ceci : Shell("dir *.*")

Note que je pourrais faire un test (si dir --> utiliser le shell) mais bon c'est lourd
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
Salut !
idée géniale !
(domage, chez moi j'essai le dir mais ça ne fonctionne pas...)
bravo pour la réalisation
Messages postés
100
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
26 juin 2010
5
Trop fort! Bravo!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.