Announcement

Collapse
No announcement yet.

VISUAL STUDIO 2022 C#. Konsolenanwedung in eine FORM-Anwendung umschreiben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VISUAL STUDIO 2022 C#. Konsolenanwedung in eine FORM-Anwendung umschreiben

    Hallo,
    kurze Vorstellung. Alter über 67. Im Lehrbetrieb tätig. Davor industriell ASM für MS6800, MS68332 und in C TMS320F28xxx mit dem Code-Composer-Studio programmiert.

    Was mache ich momentan:
    Hobbymäßig beschäftige ich mich mit VISUAL STUDIO 2022 C#.
    In diesem Zusammenhang habe ich das Prog. unter
    https://learn.microsoft.com/de-de/do...k-4.8#examples
    mit _Änderungen_ als Konsolenanwendung zum Laufen gebracht (C# .NET Framework 4.8).
    Änderungen sind:
    Das C#-Prog. sendet nach ENTER 11 Bytes (das11-te ist die Summe über die 10) an einen Controller. Der prüft die Checksumme und sendet O.K. zurück, sonst ERRO. Die Verbindung erfolgt über eine USB-Seriell-Adapter CP2102.

    Weiterhin habe ich das erste Beispiel, eine C# .NET FORM-Anwendung, aus dem Buch
    Einstieg_in_Csharp ISBN 978-3-8362-8838-5 (Bundle)
    zum Laufen gebracht

    Mein momentanes Problem:
    Ich schaffe es nicht, mit einer C# .NET FORM-Anwendung, also Fenster-Anwendung mit einem Sende-Button, das Konsolen-Anwendungsprogramm aus
    https://learn.microsoft.com/de-de/do...k-4.8#examples
    umzuschreiben.

    Es wäre schön, wenn ich ein paar Tipps erhalten würde, wie ich an das Problem rangehen kann.
    GOOGLE habe ich gefragt, aber da habe ich den Eindruck, dass ich mich Kreise drehe.
    Z.B. taucht im Konsolenprogramm der Begriff using System.Threading; auf. Ein Suchen im Netz gibt da keine für mich verständliche Erklärung usw. Und solange ich da keine Grundlegenden Kenntnisse habe, werde ich da nicht wirklich weiterkommen.

    Danke für Tipps.

    VG Max

    P.S.: Wer Interesse an dem Konsolen-Anwendungsprogramm unter WIN10 hat, dem schicke ich es gerne zu.


  • #2
    Auch hallo,

    man könnte iterativ vorgehen: Programm mit Windows Forms Anwendung anlegen (erstmal ohne Buttons sowie Felder für Ein- und Ausgaben). Danach die Programmteile, die sich mit der Datentransformation erfassen, an die passenden Stellen einfügen (Warn- oder Fehlermeldungen beachten und reparieren). Danach die UI mit Elementen zur Dateneingabe und -ausgabe (weiter)entwickeln. "System.Threading" und dessen Gebrauch dient zum asynchronen Betrieb (z.B. Ein- und Ausgaben).

    Folgender Form.CS-Code (einfache WinForms Anwendung ohne GUI-Elemente) lief mit Warnmeldungen (Variable definiert, aber nicht genutzt) und könnte zur Weiterentwicklung genutzt werden:

    using System;
    using System.Windows.Forms;
    using System.IO.Ports;
    using System.Threading;

    namespace WindowsFormsApp1
    {
    public partial class Form1 : Form
    {
    static bool _continue;
    static SerialPort _serialPort;
    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    string name;
    string message;
    StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;
    Thread readThread = new Thread(Read);
    }
    public static void Read()
    {
    while (_continue)
    {
    try
    {
    string message = _serialPort.ReadLine();
    // Console.WriteLine(message);
    }
    catch (TimeoutException) { }
    }
    }
    }
    }
    // und so weiter
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      Danke Marcus. Verstanden und auch schon teilweise umgesetzt. Es klappt.
      VG ....

      Comment

      Working...
      X