Domino 9 und frühere Versionen > ND6: Entwicklung

Obere Schranke eines 2 dimensionales Array ?

<< < (2/2)

Tode:
oder Du arbeitest mit einem eigenen Typ.

Mir ging es oft so: ich erstellte ein Mehrdimensionales Array, und musste mir dann später mühsam wieder raussuchen, wofür jetzt schon wieder welche Dimension war.

Viele dieser Aufgaben (im zweidimensionalen Bereich) lassen sich durch eigene Typen ersetzen.

simples Beispiel:

Du willst Mitarbeiterdaten zwischenspeichern.
Dazu gehören Vorname, Nachname, Telefon.

Du nimmst ein 2-Dim. Array:

ma( 0 , 0 ) = "Tido"
ma( 0 , 1 ) = "Test"
ma( 0 , 2 ) = "123"
ma( 1 , 0 ) = "Trude"
ma( 1 , 1 ) = "Testerin"
ma( 1 , 2 ) = "0815"

oh oh: Dimensionen vertauscht, einen neuen Mitarbeiter können wir über Redim nicht mehr erfassen.

Mit einem eigenen Typ aber:
Type ma
  vorname as String
  nachname as String
  tel as String
End Type

Dim alleMA( ) as ma

ma(0).vorname = "Tido"
ma(0).nachname = "Test"

Redim preserve ma( 1 )
ma(1).vorname = "Trude"
ma(2).nachname = "Testerin"

ganz abgesehen von der Lesbarkeit des Codes erweiterst Du auch Deine Möglichkeiten sehr.

HTH
Tode

flaite:

--- Zitat von: Tode am 30.12.05 - 15:05:34 ---oder Du arbeitest mit einem eigenen Typ.


--- Ende Zitat ---

Sehe ich auch so.
Datenstrukturen wie List, Type oder Class sind eigentlich ziemlich einfach und können die Arbeit oft erleichtern. Die Designer Hilfe beschreibt das gut und da gibts auch immer Beispiele.
Wie Tode sagte: Ein Array aus Types. Für die 2. Dimension sorgt dann der Type selbst.

Gruß Axel

Johnson:
Prinzipell geb ich euch ja recht.
Nur ist die Verwendung in der Fragestellung nicht ganz ersichtlich.

Beispielsweise ein Excel-Report.
Mann baut ein zweidimensionales Array auf, das der Tabelle entspricht und klatscht das ganze Teil mit einmal rein.
Mit einen UDT, einer List oder Class kommt man da nicht weit. Und anderswo hab ich noch nie ein zweidimensionales Array gebraucht.

Aber klar das geht auch.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln