Wie am besten Objekte miteinander verknüpfen?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Wie am besten Objekte miteinander verknüpfen?

    Moin, ich stehe gerade an ein Problem. Und zwar möchte ich, wie auf dem Bild, Objekte miteinander verknüpfen, also das es ein Objekt gibt mit verschiedenen ein und Ausgängen, diese möchte ich grafisch miteinander verknüpfen.

    Das Problem liegt jetzt nicht an den einund Ausgängen oder den Objekten an sich, das ist kein Problem. Mein Problem ist viel mehr wie ich diese grafisch bzw. Visuell miteinander verknüpfen kann bzw. Welches Verfahren gut ist. Ich dachte daran einfach ein picturebox Raster aufzubauen, allerdings wenn man dann von einer Rastergröße von 512x512 und mehr denkt, dann geht das schon sehr auf die Performance, also wäre das uneffizient.

    Dann dachte ich daran daß die Objekte halt ein pictureboxen dargestellt werden und mit Line Objekte verbunden werden, dies wäre am sinnvollsten denke ich, allerdings möchte ich das die Verbindungen nicht Kreuz und quer verbunden werden, also schräg, sondern wie im Raster verlaufen.

    Jemand eine Idee wie man dies realisieren kann?
    Bilder
    • Screenshot_20181119-054139.png

      107,75 kB, 1.080×2.160, 83 mal angesehen
    @SynapticOptics Was soll das ganze für einen Zweck haben?
    Solch Programme sind Dutzendware, stecken voller Mannjahre, kosten allerdings auch ein paar Pfennige.
    Wenn Dein Chef die Pfennige sparen will und Dich auf diese Spur setzt - Lass es sein, Du wirst nicht froh dabei. Dein Chef auch nicht.
    Und als Fingerübung ist das etwas zu kompliziert.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ist ja erst mal egal was ich damit vor habe, wieso die neugier? Das spielt ja hier erst mal keine Rolle.
    Und was meinst du mit kosten? Also die Softwares die ich nutze, beispiel LTSpice ist kostenlos und Droid Tesla(auf dem Bild) kostet ca. 15€. Also von teuer kann man hier jedenfalls nicht reden.

    Und es geht mir auch nicht um Fingerübung, ich programmiere in allen möglichen Sprachen seit 2005, es geht mir also nicht um "Fingerübungen", es geht mir nur darum wie man dies am einfachsten umsetzen kann ohne unnötig etwas zu programmieren wenn es auch einfache wege gibt.
    Du könntest ne Klasse mit ner fixed size PicBox machen, zzgl. noch in die Klasse eine List(Of Point) für die Koordinaten für Ein- und Ausgänge, und Drehwinkel (0°, 90°, 180°, 270°) und Umrechnung, wie sich die Ports bei Drehung ändern. Und in ner weiteren Klasse die Verdrahtung als Verbindungslinien zwischen den einzelnen Objekten im horizontalen/vertikalen Stil. Als naiver Anfang.

    SynapticOptics schrieb:

    Ist ja erst mal egal was ich damit vor habe, wieso die neugier? Das spielt ja hier erst mal keine Rolle.
    Neugier? Nee, sicherlich nicht. Eher um frühe Falschabbiegungen zu vermeiden, im Sinne von: »Wie hoch muss man steigen, bis Wasser gasförmig wird?« »Warum?« »Ich will Wasser zum Kochen bringen, um Kartoffeln zu machen.« »Bleib daheim und nimm nen Topf und ne Herdplatte.«
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @VaporiZed ;)
    @SynapticOptics Bei 15 Euro und einem Mindestlohn von über 8 Euro pro Stunde brauchst Du also weniger als eine Strunde, um das Problem zu lösen. :thumbsup:
    Das ganze ist dahingehend haarig, dass Du bei mehreren "Streets" und "Roads" hinreichend viele Möglichkeiten hast, um von A nach B zu kommen.
    Besonders lustig wird es, wenn sich eine "Street"-Straßenbahn eine "Road"-Straßenbahn kreuzt, da musst Du in die dritte Dimension gehen, um deren Kontakt zu verhindern, also eine Multi-Layer-Platine.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!