Forum
Tipps
News
Menu-Icon

C#: Code aus TextBox?

Hallo mal wieder!

Ich bin mal wieder etwas am programmieren und nun hat sich mir ein Problem in den Weg gestellt. Ich will nämlich ein kleines Programm entwickeln, mit dem man einfache, schon festgelegte Codeteile aufrufen, bearbeiten, schreiben und abarbeiten kann.

Das bedeutet im Klartext:

Ich würde gerne eine Textbox haben, in der man festgelegte Befehle aneinanderreihen (untereinander schreiben) und dann starten kann. In meinem Fall wären es "port.Out" "port.Input" , "System.Threading.Thread.Sleep(x)" und "if" , "else".

Das soll dann eben nach einem Klick auf einen Button wie ganz normaler Code abgearbeitet werden.

Hat da jemand eine Idee?

Danke.


Antworten zu C#: Code aus TextBox?:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ja genau, vielen Dank!

Aber wie kann ich das ganze in mein bestehendes Programm einfügen.
Ich brauche nur die BASIC EXECUTION.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Naja, ich würde die BasicExecution class so umschreiben, dass sie nicht selbst so eine Textbox malt, sondern im Konstruktor den Text aus deiner eigenen Box übergeben kriegt. Und dann musst du dir "nur" noch was einfallen lassen, wie du den aktuellen Zustand deines Programmes da rein und den geänderten wieder raus kriegst.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

O.K.











HILFE!

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Habe jetzt zuerst mal alles unnütze gelöscht.
Nun muss ich ja zuerst mal den "Anfangscode" so umschreiben, dass er mit meinem übereinstimmt (using blabla... usw.)

Die Form1 lösche ich DANN ja auch, weil ich ja schon einen "Startpunkt" habe.

O.K.

Wie kann ich den Code abfangen und dann eben durch einen Teil von meinem "ersetzen"?

Und kann ich dann einfach die Projektdateien in meinen Projektordner schieben und gut is?

Danke

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Wie du das in dein Projekt einbindest, weiß ich nicht. Hab keinen Plan, wei das in C# geht. Wahrscheinlich den Namespace mit Using einbinden oder so.
Dann machst du dir nen Konstruktor (einer ist ja schon da, mach nen zweiten oder ändere den):

private string lcCode;

public BasicExecution( string myCode ){
    this.lcCode = myCode;
}
Dann die button1_Click anpassen (du hast ja keinen Button mehr). Einfach umbenennen in z.B.
public void execute()
und die erste Zeile (string lcCode = this.txtCode.Text;) rausnehmen. Evtl. noch den Krams mit dem Error- und Resulthandling anpassen. Fertig. Das rufst du dann aus deinem Programm mit deinem Code auf:
BasicExecution be = new BasicExecution( mytextBox.Text );
be.execute();

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

OK

Ich hab nur keine Ahnung was ein Konstruktor ist und was ich mit dem machen soll.

Mein Programm sieht so aus:

0 Hauptfenster
-1 Start Button
-2 Optionen Button
-3 Schnell-Code Button <---


2 Optionsfenster
- Einstellmöglichkeiten

3 Schnell-Code Fenster
- Das ist dazugekommen. Der Code soll, wie der ganz normale Code (der über den Startbutton aufgerufen wird und in der Form1.cs liegt) mit den gleichen Klassen und über die Optionen geschleift, ausgeführt werden.

1 Start
- Hier wird der ganz normale Code aufgerufen und ausgeführt, der in der Form1.cs geschrieben wurde. Auch dieser soll über die Optionen geschleift werden.

Das hab ich schon und funktioniert auch:

Hauptfenster
Startbutton -> mit nachfolgenden Aktionen
Optionsfenster -> habe Probleme mit dem Übergeben von Variablen über mehrere Forms -> Hilfe
Schnell-Code Fenster -> läuft soweit ich hab nur keine Ahnung, wie ich den Code in die Form1.cs einfügen kann -> Hilfe

Ich kann dir auch mal mein Programm schicken, wenn du willst.
Vielen Dank dass du mir hilft. 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Das mit dem schicken wäre vielleicht kein schlechte Idee.
Was für nen Compiler verwendest du (Visual Studio etc)?
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Microsoft Visual C# 2008

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Da kannst du einfach eine neue Klasse erstellen (Rechtsklick auf das Projekt, Klasse hinzufügen oder so ähnlich; dann C# code auswählen). Du kriegst eine neue Datei, dort den geänderten Code aus BasicExecution.cs reinkopieren.
Lad dein Projekt am besten mal hoch (bei rapidshare etc.) und schick mir den Link (PM)...

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hab gerade mal ne Frage zu deinen Optionen. Da ist ja alles Bunt gemischt: Hex, Dez, +x
Außerdem hast du input- und output-Optionen, verwendest aber nur ein- und die selbe Adresse für beides. Da blicke ich nicht ganz durch. Was sollen die Optionen genau bewirken bzw. worauf sollen sie angewendet werden? Und was soll das +1/+2 bei den input-Optionen? Worauf +1/+2? In der getInput()-Funktion steht schon was von adress +1, hat das was damit zu tun?

« Letzte Änderung: 10.07.08, 13:32:55 von Lisaa »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Als das ganze soll ein Ausgabeprogramm für den Parallel Port werden.
Als Standardport soll 888 dienen. +1 ist dann standardmäßig der Eingangsport (889). Das Hex-Dingens ist nur für Notebooks, da es dort andere Portadressen gibt.
Das soll man dann pro Programmstart eben bei Bedarf einmal festlegen können. Dann soll sich das auf alle Ausgaben bzw. Eingaben auswirken.
Der eigentliche Code soll dann in einer speziellen FormXYZ.cs oder Ähnlichem geschrieben werden. Für schnelle Codeeingaben soll das Schnell-Code Fenster dienen. Die Eingaben daraus sollen eben auch wie der ganz normale Code aus der FormXYZ.cs mit allen Klassen usw. ausgeführt werden.

Grüße
Computerchamp

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

OK, war nur etwas verwirrt, aber ich glaube so wie du es beschrieben hast funktioniert es jetzt. 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo nochmal,

leider leuchten nach jeder Eingabe (0-255) nach dem refresh() -Teil alle Leuchten auf.
Am Parallel Port selbst konnte ich es wie gesagt leider noch nicht testen. Werde es aber im Laufe des nächsten Tages machen.

Grüße 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hmm, bei mir leuchtet da gar nichts. Hab den Parallelport aber auch deaktiviert (im Bios). Vielleicht sind die Input-Signale bei dir einfach constant high.
Sonst probier doch mal die andere ParallelPort-Implementierung, die hab ich auch zum Testen genutzt. Da sollte es dann funktionieren; das ist einfach nur ein Durchschleifen der Signale, d.h. was du am "Output" rausgibst, liegt am "Input" wieder an.


« Java: URL abfragenAbfragedauer »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...

Klickrate
Das Wort Klickrate gibt das Verhältnis vom Anklicken der Werbebanner zum Anklicken der Internetseite an auf der sich die Werbung befindet. An dieser Rate werden beis...