Announcement

Collapse
No announcement yet.

mehrdimensionale array (x,n) dynamisch mit Struktur

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

  • mehrdimensionale array (x,n) dynamisch mit Struktur

    Hallo,

    möchte gerne ein mehrdimensionale array dynamisch mit Struktur erstellen

    Structure Termine
    Dim DatumVon As Date
    Dim DatumBis As Date
    End Structure

    TermineArray(x,y) as Termine

    Die Erweiterung mit ReDim Preserve TermineArray(10,10) geht nicht.
    Hat jemand eine Lösüng für diese Problematik ?

    Mfg
    Entwickler

  • #2
    Warum nimmst Du nicht einfach sowas:

    [highlight=c#]
    List<List<Termin>> termine = new List<List<Termin>>();
    [/highlight]

    In VB.Net dann so:

    Code:
    Dim termine As New List(Of List(Of Termin))()
    Übrigens solltest Du die Struktur nicht TerminE sondern Termin nennen, weil es ja nur einer ist.

    Ich hätte nur eine kleine Frage für was Du das brauchst. Ich bin mir fast sicher dass man das auch schöner designen kann Was ist das Problem dahinter?

    Comment


    • #3
      hallo,

      erst mal danke für die Antwort, werde ich ausprobieren.

      Ziel der ganzen Aufgabe ist ein Termin-Gant kein Kalender sondern ein Gant.
      Also Horizontal die Zeitackse und Vertickal die Personen.

      Wie unten im Beispiel aus einem ähnlichen Gant





      Also der Datensatz ist wie Folgt aufgebaut und soll im Gant eingetragen werden.

      ID , DatumVon , DatumBis , TerminText , PersonID , TerminFarbe .......

      Es können zur gleichen Zeit zur einer Person Termine vorhanden sein und diese sollen auf der Ansicht nicht übereinander liegen siehe Bild Gant oben.
      Desweiteren kann ein Termin über mehrere Tage gehen und soll dann optisch aber die gleiche Balkenhöhe haben über mehrere Tage.

      Darum habe ich mich entschieden die Termine in so eine Matrix (x,y)+Struktur einzutragen um Sie danach in den Gant einzutragen.

      Hoffe konnte erklären was ich versuche ;-) für vorschläge oder verbesserungen bin ich immer offen.

      Mfg
      Entwickler

      Comment


      • #4
        Es sit sinnvoll mit Klassen zu arbeiten und weniger mit Strukturen. Diese dann - wie von fanderlf vorgeschlagen - in Listen zu verwalten
        Christian

        Comment


        • #5
          Warum machst Du denn dann nicht sowas?

          [highlight=vbnet]
          Public Class Person
          Public Property Termine() As List(Of Termin)
          End Class
          [/highlight]

          Und dazu hast Du dann eine Liste von Personen. List<List<Termin>> finde ich nicht sehr gut verständlich. List<Person> finde ich allerdings sehr gut verständlich. Und jede Person hat dann nochmal eine eigenen Liste von Terminen.

          Sorry wenn das vbnet net ganz korrekt ist muss da immer nen Translator bemühen. Bin sonst nur in C# unterwegs.

          Comment


          • #6
            Und jede Person hat dann nochmal eine eigenen Liste von Terminen.
            Wobei Termin natürlich eine Klasse ist und kein Struct. Personen können ja an den gleichen Terminen teilnehmen. Dann sollten sie natürlich auch die selbe Termin Instanz in ihrer Liste halten sonst wird das nachhalten ausgesprochen schwierig.

            Comment


            • #7
              Ändern der Größe mit Preserve. Mit Preserve können Sie nur die Größe der letzten Dimension ändern. Für alle anderen Dimensionen muss dieselbe Grenze wie im vorhandenen Array angegeben werden.
              Versuche es mal mit zwei Redim-Anweisung, statt mit einer Anweisung.

              Comment

              Working...
              X