Soyez le premier à donner votre avis sur cette source.
Vue 9 370 fois - Téléchargée 246 fois
// exemple de derivation public class AdaptedScript : Scripting { //ajout d'un objet Form1 parent protected Form1 parent; public AdaptedScript(Form1 aparent) { parent = aparent; } protected override string GetStrFromOtherVar(string name, string[] param, out bool finded) { //dans le script $b2.top représente évidement la position Y du controle dans la fiche if (name == "$b2.top") { finded = true; return parent.button2.Top.ToString(); } finded = false; return "none"; } protected override bool SetOtherVar(string name, string[] param, string value) { //name contient le nom de la variable à affecter //exemple de script : $teste.x.y=12+8 //ici name sera $teste.x.y et value sera 20 //dans le cas de tableau ex $v[4,7] name sera $v et param[] = {4,7} if (name == "$list") { parent.listBox1.Items[Convert.ToInt32(param[0])] = value; return true; } else if (name == "$b2.top") { parent.button2.Top = Convert.ToInt32(value); return true; } return false; } protected override string DoFunction(string name, string[] param) { if (name == "input") { if (param.Length >= 2) { parent.input.Text = param[0]; parent.input.txtResultat.Text = param[1]; parent.input.ShowDialog(); return Encode(parent.input.txtResultat.Text); } //necessité d'encoder les chaines de caracteres return Encode(param[0]); } else if (name == "lcase") return param[0].ToLower(); else if (name == "ucase") return param[0].ToUpper(); else return base.DoFunction(name, param); } protected override void DoMethode(string name, string[] param) { if (name == "$list.add") parent.listBox1.Items.Add(param[0]); else if (name == "$list.clear") parent.listBox1.Items.Clear(); else if (name == "$button.setcolor") parent.button1.BackColor = Color.FromArgb(Convert.ToInt32(param[0]), Convert.ToInt32(param[1]), Convert.ToInt32(param[2])); else if (name == "$b2.randcolor") parent.button2.BackColor = Color.FromArgb(Convert.ToInt32(rnd.Next(255)), Convert.ToInt32(rnd.Next(255)), Convert.ToInt32(rnd.Next(255))); else if (name == "show") parent.mess(param[0]); else base.DoMethode(name, param); } }
28 janv. 2008 à 19:56
24 janv. 2008 à 09:56
*Je voulais une engine trés simple.
*Ces scripts n'ont pas besoin d'être compilés.
*Je n'ai pas trouvé d'exemple pour interfacer les objets de mon programme avec le "c# script systeme" j'ai fait une recherche avec google mais ça n'a rien donné
*C'était une occasion de créer une classe pareille, c'est mon premier executeur de script que je fais à partir de rien quand même
*Ca peut être un bon exemple pour ceux qui veulent en faire une dans un autre language
Ce sont a peu prés tout les raisons qui m'on poussé à faire ça
24 janv. 2008 à 00:31
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.