Laden...

Instant Script Interpreter

Erstellt von userid11997 vor 14 Jahren Letzter Beitrag vor 13 Jahren 3.861 Views
U
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 14 Jahren
Instant Script Interpreter

Mal was was neben unserer eigentlichen Arbeit entstanden ist. Ist ganz nützlich wenn man unbedingt was in C# coden möchte und grad kein Visual Studio zur hand hat oder das für "mal eben" zu lange dauern würde.

Das ganze ist ne Beta also wer fehler findet bitte "hier" schreien.

Das ganze ist auf Basis der Idee von Kevka entstanden , also vielen Dank dafür 😭

Ich habe noch ein paar Parameter hinzugefügt , die folgendes bewirken:*selfexit: bewirkt das das Programm solange ausgeführt wird , bis ein Application.Exit() ausgelöst wird *using-param: angeführter Parameter wird der Hauptmethode übergeben *using-main: definiert den Namen der Hauptmethode *using-extern: verweist auf extern verwendete , nicht :NET eigene Bibliotheken

die Scriptkopfdefinition wird wie bei anderen sprachen auch berücksichtigt. Die definition ist cs2 eingeschlossen von einem mehrzeiligen Komentarsymbol , welches allerdings nur eine Zeile haben darf.

als parameter stehen bereits 2 Eigenschaften zur Auswahl , die in Verbindung mit den Konfigurationen verwendet werden können.

/* cs2 version=2.0.50727 */

Die Konfiguration des Programms fidnet über die ISI.exe statt.

Versionstand 02.09.2010 (siehe letzter Post)

B
293 Beiträge seit 2008
vor 14 Jahren

Hey Pria,
könntest du mir vielleicht ein kurzes Beispiel geben, wie man Events hinzufügt?
Ich habe mir ein Form erstellt und einen Button hinzugeüft.. Das Form hab ich per ShowDialog geöffnet, damit es nicht gleich wieder verschwindet...

Jedoch schaffe ich es nciht den Eventhandler hinzuzufügen. Hättest du vielleicht ein kleines Beispiel? Das Event muss doch außerhalb der Main Methode, oder? Das gibt bloß jedes mal eine Fehlermeldung.

liebe Grüße,
Raffi

Wenn ich nicht hier bin, findest du mich auf code-bude.net.

U
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 14 Jahren

Mein kleines Taschenrechnerscript, viel spass 🤔

using System;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

namespace Rechner
{
  class Rechner
  {
    public static void Main()
    {
       new Form1().ShowDialog();
    }
  }

  class Form1 : Form
  {
    TextBox txbErgebniss;
    Button btn1;
    Button btn2;
    Button btn3;
    Button btn4;
    Button btn5;
    Button btn6;
    Button btn7;
    Button btn8;
    Button btn9;
    Button btn0;
    Button btnReset;
    Button btnValue;
    Button btnAdd;
    Button btnSub;
    Button btnMulti;
    Button btnDiv;

    string val = "";
    string cos = "";

    public Form1()
    {
       this.StartPosition = FormStartPosition.CenterScreen;
       this.Text = "Rechner";
       this.FormBorderStyle = FormBorderStyle.FixedSingle;
       this.ShowIcon = false;
       this.Size = new Size(300,200);
       txbErgebniss = new TextBox();
       txbErgebniss.Location = new Point(10,10);
       txbErgebniss.Size = new Size(270,16);
       txbErgebniss.ReadOnly = true;
       this.Controls.Add(txbErgebniss);
       btn1 = new Button();
       btn1.Text = "1";
       btn1.Location = new Point(10,110);
       btn1.Size = new Size(30,30);
       btn1.Click += new EventHandler(btn1_Click);
       this.Controls.Add(btn1);
       btn2 = new Button();
       btn2.Text = "2";
       btn2.Location = new Point(45,110);
       btn2.Size = new Size(30,30);
       btn2.Click += new EventHandler(btn2_Click);
       this.Controls.Add(btn2);
       btn3 = new Button();
       btn3.Text = "3";
       btn3.Location = new Point(80,110);
       btn3.Size = new Size(30,30);
       btn3.Click += new EventHandler(btn3_Click);
       this.Controls.Add(btn3);
       btn4 = new Button();
       btn4.Text = "4";
       btn4.Location = new Point(10,75);
       btn4.Size = new Size(30,30);
       btn4.Click += new EventHandler(btn4_Click);
       this.Controls.Add(btn4);
       btn5 = new Button();
       btn5.Text = "5";
       btn5.Location = new Point(45,75);
       btn5.Size = new Size(30,30);
       btn5.Click += new EventHandler(btn5_Click);
       this.Controls.Add(btn5);
       btn6 = new Button();
       btn6.Text = "6";
       btn6.Location = new Point(80,75);
       btn6.Size = new Size(30,30);
       btn6.Click += new EventHandler(btn6_Click);
       this.Controls.Add(btn6);
       btn7 = new Button();
       btn7.Text = "7";
       btn7.Location = new Point(10,40);
       btn7.Size = new Size(30,30);
       btn7.Click += new EventHandler(btn7_Click);
       this.Controls.Add(btn7);
       btn8 = new Button();
       btn8.Text = "8";
       btn8.Location = new Point(45,40);
       btn8.Size = new Size(30,30);
       btn8.Click += new EventHandler(btn8_Click);
       this.Controls.Add(btn8);
       btn9 = new Button();
       btn9.Text = "9";
       btn9.Location = new Point(80,40);
       btn9.Size = new Size(30,30);
       btn9.Click += new EventHandler(btn9_Click);
       this.Controls.Add(btn9);
       btn0 = new Button();
       btn0.Text = "0";
       btn0.Location = new Point(115,40);
       btn0.Size = new Size(30,30);
       btn0.Click += new EventHandler(btn0_Click);
       this.Controls.Add(btn0);
       btnReset = new Button();
       btnReset.Text = "<<";
       btnReset.Location = new Point(115,75);
       btnReset.Size = new Size(30,30);
       btnReset.Click += new EventHandler(btnReset_Click);
       this.Controls.Add(btnReset);
       btnValue = new Button();
       btnValue.Text = "=";
       btnValue.Location = new Point(115,110);
       btnValue.Size = new Size(30,30);
       btnValue.Click += new EventHandler(btnValue_Click);
       this.Controls.Add(btnValue);
       btnAdd = new Button();
       btnAdd.Text = "+";
       btnAdd.Location = new Point(160,110);
       btnAdd.Size = new Size(30,30);
       btnAdd.Click += new EventHandler(btnAdd_Click);
       this.Controls.Add(btnAdd);
       btnSub = new Button();
       btnSub.Text = "-";
       btnSub.Location = new Point(195,110);
       btnSub.Size = new Size(30,30);
       btnSub.Click += new EventHandler(btnSub_Click);
       this.Controls.Add(btnSub);
       btnMulti = new Button();
       btnMulti.Text = "*";
       btnMulti.Location = new Point(195,75);
       btnMulti.Size = new Size(30,30);
       btnMulti.Click += new EventHandler(btnMulti_Click);
       this.Controls.Add(btnMulti);
       btnDiv = new Button();
       btnDiv.Text = "/";
       btnDiv.Location = new Point(160,75);
       btnDiv.Size = new Size(30,30);
       btnDiv.Click += new EventHandler(btnDiv_Click);
       this.Controls.Add(btnDiv);
    }

    void btn1_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "1";
    }

    void btn2_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "2";
    }

    void btn3_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "3";
    }

    void btn4_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "4";
    }

    void btn5_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "5";
    }

    void btn6_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "6";
    }

    void btn7_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "7";
    }

    void btn8_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "8";
    }

    void btn9_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "9";
    }

    void btn0_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       txbErgebniss.Text += "0";
    }

    void btnReset_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "ERR")
          txbErgebniss.Clear();
       if(txbErgebniss.Text.Length > 0)
		txbErgebniss.Text = txbErgebniss.Text.Substring(0,txbErgebniss.Text.Length - 1);
    }

    void btnValue_Click(object sender,EventArgs e)
    {
       if(val != "")
       {
	   try
           {
              switch(cos)
              {
                 case "+": txbErgebniss.Text = "" + (Convert.ToInt16(val) + Convert.ToInt16(txbErgebniss.Text)); break;
                 case "-": txbErgebniss.Text = "" + (Convert.ToInt16(val) - Convert.ToInt16(txbErgebniss.Text)); break;
                 case "*": txbErgebniss.Text = "" + (Convert.ToInt16(val) * Convert.ToInt16(txbErgebniss.Text)); break;
                 case "/": txbErgebniss.Text = "" + (Convert.ToInt16(val) / Convert.ToInt16(txbErgebniss.Text)); break;
              }
              val = "";
	   }
           catch{txbErgebniss.Text = "ERR";}
       }
    }

    void btnAdd_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "")
         txbErgebniss.Text = "0";
       cos = "+";
       if(val != "")
       {
	   btnValue_Click(sender,e);
       }
       else
       {
         val = txbErgebniss.Text;
         txbErgebniss.Clear();
       }
    }

    void btnSub_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "")
         txbErgebniss.Text = "0";
       cos = "-";
       if(val != "")
       {
	   btnValue_Click(sender,e);
       }
       else
       {
         val = txbErgebniss.Text;
         txbErgebniss.Clear();
       }
    }

    void btnMulti_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "")
         txbErgebniss.Text = "0";
       cos = "*";
       if(val != "")
       {
	   btnValue_Click(sender,e);
       }
       else
       {
         val = txbErgebniss.Text;
         txbErgebniss.Clear();
       }
    }

    void btnDiv_Click(object sender,EventArgs e)
    {
       if(txbErgebniss.Text == "")
         txbErgebniss.Text = "0";
       cos = "/";
       if(val != "")
       {
	   btnValue_Click(sender,e);
       }
       else
       {
         val = txbErgebniss.Text;
         txbErgebniss.Clear();
       }
    }
  }
}
B
293 Beiträge seit 2008
vor 14 Jahren

Ich danke dir! Klappt wunderbar, was ich wollte!

Wenn ich nicht hier bin, findest du mich auf code-bude.net.

U
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 14 Jahren

Keine Ursache

U
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 13 Jahren

Neues Runtimeupdate mit zusätzlichen Sprachoptionen und erweiterbaren Scripttypen.
Im Packet enthalten:
*CS2 Runtime (update) *SSD Runtime (neu)

Die neue SSD Runtime (Short Script Definition) verzichtet komplett auf Methoden , Klassen und Namespaces , was es ermöglicht , die Funktionen untereinanderweg zu schreiben. Verfügbar sind aber weiterhin using-Direktiven.

Verbesserung und optimierung der RuntimeServices zu mehr Performance und weniger Speichergröße.

Installation:
*Downloaden des Projektes nach C:/ *Entpacken des Archives *Ausführen der Registry-Files *Ausführen der Testscripte

Viel spass