Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von kuppi
Thema: Serielle Schnittstelle - DataReceivedEvent ( Daten richtig einlesen und Parsen )
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Janiiix3,

ich habe einen Arduino von dem ich Daten via comport empfange.
Ich send keine Binärdaten sondern Strings, das ist zwar nicht so kompakt aber problemloser.
Als Endmarke habe ich CR der LF oder beides.
Die Endmarke kannst Du in einer Eigenschaft der Comportklasse angeben.
Die Daten lese ich mit der .Readline() Methode der Comportklasse (ist blockiered) in einem eigenen Thread ein.
Anschließend werden die Strings in eine SyncQueue (von Herbivore hier aus dem Forum) abgelegt.
Diese Strings werden dann im Hauptthread oder einem anderen geparst.
Wenn Du Einfluss auf das Protokoll hast wäre das eine Möglichkeit.

Gruß Jürgen

Thema: Serielle Schnittstelle - DataReceivedEvent ( Daten richtig einlesen und Parsen )
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Janiiix3,

wie erkennst Du den den Anfang deines Datenblocks?
Die ersten beiden bytes sollen die Chars '+' und '-' sein, aber die sind ja dezimal 43 und 45.
Und diese Werte können auch in deinen anderen empfangenen bytes vorkommen.
Wäre zwar Zufall, aber ist nicht ausgeschlossen dass 43 und 45 nebeneinander auftauchen.

Gruß Jürgen

Thema: RS232-USB Adapter and XP-Maschine anschliessen
Am im Forum: Rund um die Programmierung

Hallo Jesfreric,

letzten endes ist nur die Frage:

Wird deine Virtual Machine den USB Comport so zur Verfügung stellen dass deine DOS SW sie verwenden kann?
Wenn deine DOS SW nicht HW nah auf den Comport zugreift könnte es klappen.
Ansonsten sehe ich nicht wie Du mit C# da etwas ausrichten willst.

Gruß Jürgen

Thema: RS232-USB Adapter and XP-Maschine anschliessen
Am im Forum: Rund um die Programmierung

Hallo Jesfreric,

ich hoffe ich habe dein Ziel richtig verstanden.

Du hast eine SW die unter MS-DOS läuft und via RS232 (Onboard Ports) dein Photometer ansteuert und von diesem Daten empfängt.
Die Daten werden dann visualisiert, gespeichert, gedruckt etc.

Du willst ein neues Program schreiben (C#) das unter Windows läuft, einen USB-Comport Adapter verwendet und eine vergleichbare Funktionalität bietet.

Oder habe ich das falsch verstanden?

Gruß Jürgen

Thema: RS232-USB Adapter and XP-Maschine anschliessen
Am im Forum: Rund um die Programmierung

Hallo Jesfreric,

der Treiber für den Comport kümmert sich darum das die Pegelwechsel in Bytes umgesetzt werden, Du mußt halt nur die richtige Baudrate Parität etc. einstellen.
Und dann kannst Du die Bytes relativ problemlos in C# einlesen.
Du brauchst dann auf jeden fall eine Dokumentation wie der Datenstrom zu interpretieren ist.
Das scheint ja ein Photometer zu sein, da werden dann möglicherweise XY Daten Intensität/Wellenlänge kommen.
Wenn in der Doku ein Beispielprogram, in QBasic, GW-Basic oder so, vorhanden ist kann das auch sehr hilfreich sein.

Gruß Jürgen

Thema: RS232-USB Adapter and XP-Maschine anschliessen
Am im Forum: Rund um die Programmierung

Hallo Jesfreric,

wenn dokumentiert ist wie das Gerät anzusprechen ist (Befehlssyntax, CR oder LF als Abschluss etc.) kann man das gut mit einem Terminalprogram testen (HTerm z.B.).
Ich habe für uns auch schon etliche C# Programme für Laborgeräte geschrieben, wenn eine vernünftige Dokumentation da ist haut das meistens hin.
Problematisch ist es mitunter wenn der Comport in der alten SW direkt über die HW-Register angesprochen wird (Die gibt es bei den USB Adaptern natürlich nicht).
Um welches Gerät handelt es sich denn?

Gruß Jürgen

Thema: C# WinForms Thermometer programmieren
Am im Forum: Grundlagen von C#

Hallo Thomas_TK,

ein Arduino-Uno und DS18B20 Sensoren sind dazu gut geeignet.
Ich benutze das für meine Heizungssteuerung.
Der Arduino bindet via USB ein Comport ein, der kann dann von C# verwendet werden.

Gruß

kuppi

Thema: Checkbox unter Windows 8.1
Am im Forum: GUI: WPF und XAML

Hallo MrSparkle,

vielen Dank für die schnelle Antwort.
Du hast recht, Google hätte meine erste Anlaufstelle sein sollen.

Gruss kuppi

Thema: Checkbox unter Windows 8.1
Am im Forum: GUI: WPF und XAML

Hallo zusammen,

mir ist eine eigenwillige Darstellung der Checkbox unter Windows 8.1 aufgefallen.
Wenn FlowDirection="RightToLeft" eingestellt ist (die Box mit dem Haken ist rechts) wird
der Haken gespiegelt dargestellt.
Bei "LeftToRight" sieht alles normal aus.
Unter Windows 7 gibt es da keine Probleme.
Entwicklungsumgebung Visualstudio Comunityedition, bei der Expressversion ist es aber auch so.
Habt ihr das schon beobachtet, gibt es ein workaround?

Gruss kuppi

Thema: Von XAML auf c# zugreifen
Am im Forum: GUI: WPF und XAML

Hallo Coffeebean,

vielen Dank für deine Antwort.

Die Klasse vm_ruehrerIKA enthält die Properties (Drehmoment, Drehzahl etc.).
Und die Zuweisung der instanz ruehrer an base.DataContext macht die Properties für das Databinding auch verfügbar, wpf durchsucht ja wohl die DataContexts.
Die Frage ist nur, wird das bei Commandbinding auch funktionieren?
(Natürlich nur wenn ich die Commands vorher in der vm_ruehrerIKA Klasse implementiert habe).
Aber werden die Commands auch im DataContext gesucht?

Gruß kuppi

Thema: Von XAML auf c# zugreifen
Am im Forum: GUI: WPF und XAML

Hallo zusammen,

leider komme ich bei meinen ersten wpf-Schritten schon ins straucheln.

Bei der Datenbindung an ein Label mache ich folgendes:

Content="{Binding Drehmoment, Mode=OneWay}"

und in der Codebehind wird

vm_ruehrerIKA ruehrer = (vm_ruehrerIKA)GUIobj.Get_vmObject(5, 2);

public MainWindow()
{
InitializeComponent();
base.DataContext = ruehrer;


}

das object ruehrer an den DataContext des Window zugewiesen.

Das klappt auch alles sehr gut.
Jetzt möchte ich in vm_ruehrerIKA noch einige Commands einbauen und die an Buttons binden.

Gibt es eine möglichkeit von XAML auf die instanz ruhrer zuzugreifen, z.b. bei Databinding so:

Content="{Binding ruehrer.Drehmoment, Mode=OneWay}"

Das funktioniert leider nicht.

Wie kann ich also auf die Eigenschaften und Commands einer objectinstanz zugreifen?

Thema: Textbox Datenbinding editieren
Am im Forum: GUI: Windows-Forms

Hallo,

hier ist mal ein Stück Quellcode:

hier werden die Aufrufe aus dem nicht GUI Thread in die Queue gelegt.

protected virtual void NotifyPropertyChanged(string propname)
        {
            if (PropertyChanged == null) return;
            PropertyChangedEventHandler handler = PropertyChanged;
            Action action = () => handler(this, new PropertyChangedEventArgs(propname));
            GUIobj.GUIpropChange.Enqueue(action); // SyncQueue
            // diese Queue wird dann vom GUI-Thread geleert.
        }


Und hier wird im GUI-Thread die Queue geleert.

private void tmr_msg_Tick(object sender, EventArgs e)
        {
            tmr_msg.Enabled = false;
            if (GUIobj.GUIpropChange.Count > 0) GUIobj.GUIpropChange.Dequeue()();
            tmr_msg.Enabled = true;
        }

Und so lege ich die Bindings an:

private void Form1_Shown(object sender, EventArgs e)
        {
            ruehrer = (vm_ruehrerIKA)GUIobj.Get_vmObject(5, 2);
            label1.DataBindings.Add("Text", ruehrer, "Drehzahl");
            label2.DataBindings.Add("Text", ruehrer, "Drehmoment", true, DataSourceUpdateMode.Never, null, "#0.0");
            textBox1.DataBindings.Add("Text", ruehrer, "Solldrehzahl", false, DataSourceUpdateMode.OnValidation, null);
        }


Gruß Jürgen

Thema: Textbox Datenbinding editieren
Am im Forum: GUI: Windows-Forms

Hallo,

sorry wenn ich mich da unklar ausgedrückt haben sollte.

es ist tatsächlich so, dass ich die objekteigenschaften von einem anderen Thread gesetzt werden, und dementsprechend auch das PropertyChange Ereignis.
Aber ich lege diese Aufrufe als Action in eine "SyncQueue, (Herbivore sei Dank!), und leere die über einen Timer im GUI.
Ich habe mal gelesen dass es reichen würde wenn eine PropertyChange aufgerufen wird, das alle gebundenen Controls aktualisiert werden.

Beispiel:

Drehzahl ändert sich, PropertyChange für Drehzahl wird aufgerufen, aber alle 3 Bindungen Drehzahl, Drehmoment und Solldrehzahl werden aktualisiert.

In der Praxis sieht das so aus:

in der Textbox steht 275 als aktuelle Solldrehzahl, es kommen im Label laufend Drehzahlen von 274 bis 276 an, in dem anderen Label die Werte fürs Drehmoment.
Jetzt "geh ich in die Textbox", und will auf 325 ändern.
Ich habe z.B. gerade angefangen den Textboxinhalt von rechts (Backspace) abzuräumen, da wird wieder das Label mit einer neuen Drehzahl aktualisiert und sofort erscheint auch in der Textbox der ursprüngliche Wert von 275 (die Solldrehzal aus dem Quellobjekt).

Ich hoffe es ist jetzt etwas klarer.

Thema: Textbox Datenbinding editieren
Am im Forum: GUI: Windows-Forms

Hallo zusammen,

ich habe ein (kleines?) Problem mit Datenbindung an einer Textbox.

Folgendes habe ich gemacht: (Ansteuerung eines Rührers)

ein Object mit 3 Int Eigenschaften Drehzahl, Drehmoment, Solldrehzahl ist an
2 Labels (Drehzahl und Drehmoment) und eine Textbox (Solldrehzahl) gebunden.
Die Events werden über NotifyChange aufgerufen, funktioniert einwandfrei, die Werte werden alle angezeigt.

Jetzt das Problem:

Es kommen laufen neue Werte (bis auf Solldrehzahl) an (ca. 2-3 /sek.), wenn ich dann versuche die Solldrehzahl zu ändern (editieren der Textbox) wird sowie z.B. ein neuer Drehzahlwert im Label erschein der ursprüngliche Wert der Solldrehzahl wieder in der Textbox angezeigt.
Wenn kein Update von Drehzahl/Drehmoment erfolgt kann ich die Solldrehzahl editieren.

Lässt sich diese verhalten ändern, der Solldrehzahl Int im Objekt hat sich ja nicht geändert, das Event wird auch nicht aufgerufen.

Ich hoffe auf euch.

Gruß Jürgen

Thema: Konstruieren und Ansteuern von Schaltungen
Am im Forum: Rund um die Programmierung

Hallo Lassi,

mit C# geht das durchaus.
Ich benutze es für meine Heizungssteuerung. Allerdings läuft das heute mangels anderer Schnittstellen über USB.
Von Vellemann gibt es z.B. ein USB Board, mit Openkollektor Ausgängen, 8bit AD-Wandler und Zählerbaustein. Dazu eine passende DLL.
Läuft bei mir unter Win7 32 einwandfrei.

Gruß

Jürgen

Thema: Konzept für regelmäßige Kommunikation mit USB Gerät, Master/Slave-Stil
Am im Forum: Rund um die Programmierung

Hallo sth_Weird,

ich habe für meine Heizungssteuerung auch einige USB Geräte im Einsatz.
Die müssen teils auch in sehr kurzen Intervallen abgefragt werden, da auch Impulse von Wasseruhren oder Stromzähler gezählt werden.
Ich habe das mit einer Klasse gelöst die einen Thread für das jeweilige Gerät startet.
Änderungen gebe ich dann an eine "threadsichere Queue", herbivore sei nochmals Dank gesagt dafür, weiter. Diese Queue wird dann vom Hauptprogram über einen Timer ausgelesen und ausgewertet.

Gruß

kuppi

Thema: DLLImport, DLLnotfound Error
Am im Forum: Rund um die Programmierung

Vielen Dank euch allen,

die Lösung hat mir "Dependency Walker" gebracht, da fehlte noch eine andere DLL.
Das mit dem Backslash fürt zu "Nicht erkannte Escapesequenz" Fehler.
Mal sehen was der nächste Stolperstein bringt.

Gruß kuppi

Thema: DLLImport, DLLnotfound Error
Am im Forum: Rund um die Programmierung

Hallo C# Profis,

leider habe ich ein Problem eine DLL einzubinden.

hier mal kurz ausschnittsweise der Code:

using System.Runtime.InteropServices;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        [DllImport("C:/Dokumente und Einstellungen/ockua/Dateien Lokal/Visual Studio 2008/Projects/Dosinotest/Dosinotest/bin/Release/MetrohmOEMInterface.dll")]

        public static extern bool InitMetrohmOEMInterface();

        [DllImport("C:/Dokumente und Einstellungen/ockua/Dateien Lokal/Visual Studio 2008/Projects/Dosinotest/Dosinotest/bin/Release/MetrohmOEMInterface.dll")]

        public static extern long GetNumberOfDevices();

        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = GetNumberOfDevices().ToString();
        } 

bei button1_Click werde ich mit folgender Meldung erfreut:
Zitat
Die DLL "C:/Dokumente und Einstellungen/ockua/Dateien Lokal/Visual Studio 2008/Projects/Dosinotest/Dosinotest/bin/Release/MetrohmOEMInterface.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.

Die DLL ist definitiv im bin Verzeichnis, ebenso auch in System32.

Es wäre toll wenn einer von euch was hilfreiches wüsste.

Gruß kuppi

Thema: UDP Anfängerfrage
Am im Forum: Netzwerktechnologien

vielen Dank für eure Antworten,

in die MSDN Dokus habe ich auch schon reingeschaut, ich werde wohl auch den mühsamen Weg gehen müssen und mich lagsam an das Thema ranarbeiten.
Dann kann ich sicher auch konkretere Fragen stellen.

Das Delphi Prog für die RS232 Geräte und damit auch das UDP Protokoll sind von mir, das Delphi Prog will ich momentan auch noch nicht ändern, sonst würde ich mir ja eine zusätzliche RS232 .Net C# Baustelle aufmachen, das hebe ich mir für später auf.

Aber die eigentliche Versuchssteuerung lauft halt auf anderen Rechnern, die woanders stehen und an denen keine Geräte via RS232 angeschlossen sind. Diese Benutzerschnittstellen zu den Laborgeräten sind ebenfals in Delphi erstellt (von mir) und komunizieren mit den Geräte-PCs via UDP.
Und diese Programme (Benutzerschnittstelle) wollte ich durch .Net C# Programme ersetzen.

Gruß kuppi

Thema: UDP Anfängerfrage
Am im Forum: Netzwerktechnologien

Hallo C# Spezialisten,

der wechsel von Delphi nach C# ist doch nicht so einfach wie ich mir erhofft hatte.
Eventuell kann mir ja einer von euch aufs Pferd helfe.
Folgendes Problem liegt an.

zur Ansteuerung von Laborgeräten benutze ich RS232, übers Netzwerk schicke ich die Befehle via UDP dem Prog welches die Geräte via RS232 ansteuert und diese schickt mir dann ebenfalls via UDP Ergebnisse zurück (Temp. Druck usw.).
Um mich bei dem RS232 Prog anzumelden schicke ich unter anderm auch den Port von meinem localen Rechner zu dem die Ergebnisse geschickt werden.
Unter Delphi gabs eine einfache Komponente der ich beim erstellen den gewünschten Localport übergeben konnte.
Wie realisiere ich das am einfachsten in C#, bzw. .Net?

abwartende Grüße

kuppi

Thema: Integer in ByteArry ablegen und wieder einlesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

@all,

vielen Dank für die schnellen Antworten.
Das mit der BitConverter Klasse scheint für mich das richtige zu sein.
Das funktioniert ja auch in beiden Richtungen.

Gruß kuppi

Thema: Integer in ByteArry ablegen und wieder einlesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo c# Spezialisten,

ich will per UDP Daten verschicken, und der UDPClient erwartet bei .Send ein ByteArray.
Das Struct das die Daten enthält sieht folgendermaßen aus:


[StructLayout(LayoutKind.Explicit)]
	public struct UDPdata
	{
	[FieldOffset(0)] public byte devTyp;
	[FieldOffset(1)] public byte devID;
	[FieldOffset(2)] public byte paramID;
	[FieldOffset(3)] public byte rw;
	[FieldOffset(4)] public int wert;
	}
die ersten 4 bytes kann ich natürlich einfach zuweisen z.b. arrayvar[0] = data.devTyp u.s.w.
wie bekomme ich aber den integer in das Array?
und wenn die Gegenseite geantwortet hat (Receive) wie bekomme ich die letzten 4 Bytes in den Integer?

Schon mal vielen Dank.

kuppi

Thema: Verwendung von this
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo C# Spezialisten,

this ist ja die Referenz auf das eigene Object, bei zuweisungen in der Klasse sieht man daher oft z.B this.Variable = 47.11;
Ist das mehr der übersicht wegen, oder bringt die verwendung von this irgendwelche Vor- oder Nachteile?
Zuweisung ohne this funktioniert ja auch.
Lange Rede, kurze Frage: Sollte man bei Zuweisungen this benutzen?

Vielen Dank schonmal.

mit freundlichem Gruß kuppi

Thema: Variable wird nicht aktualisiert.
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Leider ist es nicht so einfach,

die Procedure KWMessage wird aufgerufen, der else Zweig durchlaufen.
in aMsg.Value ist ein Wert der jeweils um 1 hochgezählt wird, wenn ich oldwatt davon abziehe müsste jeweils in der Ausgabe 1 erscheinen, ich sehe aber immer den weiter auflaufenden Wert.

kuppi

Thema: Variable wird nicht aktualisiert.
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo ihr C# Spezialisten,

ich hoffe ihr habt Geduld mit einem Delphi Umsteiger.
Die im Public Teil angelegten Variablen werden nicht aktualisiert.
Die oldTicks etc werden von einem anderen Wert abgezogen, aber sie haben scheinbar den wert 0, das gilt für alle oldxyz Variablen.
Wahrscheinlich sieht der Profi den Fehler auf einen Blick.

hoffnungsvolle Grüße von kuppi

hier der Code:

namespace Heizung
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        PortBit aPortBit;
        ThreadStart myTS; 
        Thread portThread; 
        Queue aList;
        Queue MsgList;
        long oldTicks = 0;
        float oldWatt = 0;
        float watt = 0;
        long Ticks = 0;
        float wattjeStd = 0;

        private void init_HW()
        {
            aList = new Queue();
            MsgList = Queue.Synchronized(aList);

            aPortBit = new PortBit(530);
            aPortBit.MsgList = this.MsgList;
            aPortBit.Bits[0].ID = IDConst.idStromWP;
            aPortBit.Bits[0].Typ = MsgConst.KWMsg;
            aPortBit.Bits[0].Use = true;
            aPortBit.Bits[1].ID = IDConst.idStromHaus;
            aPortBit.Bits[1].Typ = MsgConst.KWMsg;
            aPortBit.Bits[1].Use = true;

            myTS = new ThreadStart(aPortBit.Threadloop);
            portThread = new Thread(myTS);
            portThread.Priority = ThreadPriority.Highest;
            
            
        }
        private void msgTimer_Tick(object sender, EventArgs e)
        {
            // die Nachrichten von der MsgList abholen
            HeizMsg aMsg;
            while (MsgList.Count > 0)
            {
                aMsg = (HeizMsg)MsgList.Dequeue(); // Msg holen, typcast von object nach heizmsg
                switch (aMsg.Typ)
                {
                    case MsgConst.KWMsg: KWMessage(aMsg); break;
                    case MsgConst.ADCMsg: ADCMessage(aMsg); break;
                }
            }
            
        }
        private void KWMessage(HeizMsg aMsg)
        { // hier die KW Messages verarbeiten
            switch (aMsg.ID)
            {
                case IDConst.idStromWP: ; break;
                case IDConst.idStromHaus:
                    if (oldTicks == 0)
                    {
                        oldTicks = aMsg.MsgDateTime.Ticks;
                        oldWatt = aMsg.Value;
                        ed_if1.Text = oldWatt.ToString("f2");
                    }
                    else
                    {
                        watt = aMsg.Value - oldWatt;
                        Ticks = aMsg.MsgDateTime.Ticks - oldTicks;
                        wattjeStd = watt /Ticks * 3600000;
                        oldWatt = watt;
                        oldTicks = Ticks;
                        tb_counts.Text = wattjeStd.ToString("f2");
                        tb_watt.Text = watt.ToString("f2");
                        tb_msec.Text = Ticks.ToString("f2");
                    }   
                    break;
            }

        }
        private void ADCMessage(HeizMsg aMsg)
        { // hier die ADC Messages verarbeiten
        }

        private void button1_Click(object sender, EventArgs e)
        {// porthread starten
            init_HW();
            portThread.Start();
            msgTimer.Enabled = true;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            aPortBit.Terminate();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Single zahl = 1.23455F;
            textBox1.Text = zahl.ToString("f4");
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        
        
    }
}

Thema: Eigene Komponente wie?
Am im Forum: GUI: Windows-Forms

Hallo herbivore,

im Grunde brauche ich nichts sichtbares zur Laufzeit, aber ich werd mal mit einem UserControl was üben, es kommt ja auch noch der Stolperstein der Einbindung in die Toolbox.
Ich hoffe ich muss nicht zu oft eure (deine) Geduld strapazieren.
Vielen Dank von kuppi

Thema: Eigene Komponente wie?
Am im Forum: GUI: Windows-Forms

Hallo an alle,

ich versuche momentan (leider erfolglos) ein Steuerelement zu erstellen das wie der Timer zur Laufzeit unsichtbar sein soll.
In der Hilfe erscheint mir Control schon fast was überqualifiziert, oder sollte man von Component ableiten.

Wie ist überhaupt die grundsätzliche Vorgehensweise (Visual #C Express 2005) damit man das neue "Steuerelement" in die Toolbox einarbeiten kann, *.cs Dateien mag die nicht?
Fragen über Fragen, ich hoffe ihr kennt einige Antworten.

m.f.G. kuppi

Thema: and verknüpfung
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Vielen Dank,

so einfach kann das Leben sein ....
Momentan keine Fehlermeldungen.

Jetzt werde ich erst mal einen Trockenlauf machen ob auch die richtigen Ergebnisse rauskommen.

m.f.G. kuppi

Thema: and verknüpfung
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo an alle,

der Fluch der guten Tat, hier kommt mein nächstes Problem.
(Für euch möglicherweise eher was zum schmunzel?)

folgendes funktioniert leider nicht:

aender = (18 && 16);

aender ist int, und im wirklichen Leben wären auch 18 und 16 int Variablen sein.
Das Ergebnis wäre vorzugsweise 16 (Bit 5 ist gesetzt).

Die Fehlermeldung sagt folgendes:

Fehler 1 Der Operator "&&" kann nicht auf Operanden vom Typ "int" und "int" angewendet werden.

Gibts dafür eine Lösung?

m.f.G. kuppi

Thema: Namensräume wie sichtbar?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Vielen Dank für die guten und schnellen Antworten,

wahr wohl schon zu einfach....
Aber ich hoffe ihr vergebt einem Umsteiger/Anfänger (Delphi -> #C).
Mit IOPort.IOread klappts auch ohne Fehlermeldung.
Die .dll habe ich aus der Quelle aus dem Bericht über den Parallelportzugriff hier im Forum. Die .dll fuktioniert natürlich auch mit anderen Adressen.

m.f.G. kuppi