Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

ABER

wenn ich das ganze programm laufen lassen will:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Meine_Jahresarbeit_V0._2;

namespace Meine_Jahresarbeit_V0._
{
    public partial class Form1 : Form
    {
        public Form1()
        {
        case1:
            CParallelPort.Output(888, 0);
            int inp = CParallelPort.Input(889);

            if (inp < 127)
                goto case2;
            else if (inp > 127)
                goto case3;
            else
                goto case1;

        case2:
            if (inp < 127)
                textBox1.Text = "Alarm";
            else if (inp > 94)
                textBox1.Text = "ROT";
            else if (inp > 62)
                textBox1.Text = "WEISS";
            else if (inp > 30)
                textBox1.Text = "ROT-WEISS";
            else
                goto case1;

        case3:
            if (inp > 127)
                textBox1.Text = "Alarm";
            else if (inp < 192)
                textBox1.Text = "WEISS-GRÜN";
            else if (inp < 224)
                textBox1.Text = "GRÜN-ROT";
            else if (inp < 256)
                textBox1.Text = "GRÜN";
            else
                goto case1;

        }
    }
}

...
dann bleibt er einfach hängen

was kann ich tun?

ich habe den fehler gefunden,
weiß aber nicht, wie ich ihn beheben kann.

er kommt mit den ports nicht klar und kommt (F11) nicht über else hinaus.
er fängt dann immer wieder bei CParallelPort an.
wie kann ich den port auf z.b. 378 und 379 ändern?

danke 

sorry und noch was, weil du ja so viel weißt:

er lädt die form1.cs nicht wirklich. er startet zwar die form1.cs aber es ist nichts drin (habe vorher text reingesetzt und die größe verändert)

ich hoffe du kannst mir noch mal helfen :)
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
er kommt mit den ports nicht klar und kommt (F11) nicht über else hinaus.
er fängt dann immer wieder bei CParallelPort an.
wie kann ich den port auf z.b. 378 und 379 ändern?
Das verstehe ich jetzt nicht so ganz. Was geht da schief?
Die Port-Adressen kannst du benutzen, wie du willst; so wie du es vorher auch gemacht hast.

beim ports-ändern

 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hmm, wahrscheinlich funktioniert der DLL-Import durch den statischen Zugriff nicht. Probiers mal so:
Klasse CParallelPort

namespace Meine_Jahresarbeit_V0._2
{
    public class CParallelPort
    {
        public CParallelPort() {}

        [DllImport("inpout32.dll", EntryPoint = "Out32")]
        private static extern void Output(int adress, int value);
        [DllImport("inpout32.dll", EntryPoint = "Inp32")]
        private static extern int Input(int adress);

        public int getInput( int adress ) {
            return Input( adress );
        }
        public void setOutput( int adress, int value ) {
            Output( adress, value );
        }
    }
}
Und in deinem Form dann so:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Meine_Jahresarbeit_V0._2;

namespace Meine_Jahresarbeit_V0._
{
    public partial class Form1 : Form
    {
        CParallelPort port = new CParallelPort();
        public Form1()
        {
        case1:
            port.setOutput( 888, 0 );
            int inp = port.getInput( 889 );
            if (inp < 127)
                goto case2;
            else if (inp > 127)
                goto case3;
            else
                goto case1;

jetzt scheint es schon eher zu klappen.
er sagt jetzt nur, dass er irgendein problem mit textBox1.Text = "Alarm";
hat.
wie könnte ich das auf andere weise ausgeben

danke

halt, ich glaube, dass das irgendetwas mit der leeren form1.cs zu tun hat und er das einfach nicht findet:

Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Wie sieht denn der Rest von deinem Form aus? Gibts nen Grund, warum du die Implementierung aufgeteilt hast?
Ich vermute mal, dass da sowas wie eine Initialisierung der ganzen Sachen in deinem Form fehlt. Also dass da bevor du
textBox1.Text = "Alarm";
schreibst, die Textbox erstmal angelegt wird
textBox1 = new TextBox();
Kann mich aber auch täuschen, hab von solchen Sachen nicht so die Ahnung.


« java buchJava: Rar Datei »
 

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

Fremdwörter? Erklärungen im Lexikon!
Formatieren
  Das Formatieren einer Festplatte, HDD oder SSD bereitet das Laufwerk auf neue Daten vor. Dazu werden sämtliche alten Daten gelöscht, damit die...

Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...

Haarstrich
Der Begriff Haarstrich stammt aus dem Bereich der Typographie. Bei Schriften, wie zum Beispiel der Antiquaschrift mit unterschiedlichen Strichstärken, wird zwischen ...