Autor Thema: Obere Schranke eines 2 dimensionales Array ?  (Gelesen 2332 mal)

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Obere Schranke eines 2 dimensionales Array ?
« am: 30.12.05 - 11:50:56 »
Hallo,

kann mir jemand sagen wie ich die obere Schranke eines 2-dim Array in LotusScript bekomme ?

Irgendwie mit Ubound.. aber ich bekomm das nicht hin.

Grüße,
Manuel

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Obere Schranke eines 2 dimensionales Array ?
« Antwort #1 am: 30.12.05 - 12:02:38 »

Ubound(Array, Dimension)
Gruß
Johnson

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Re: Obere Schranke eines 2 dimensionales Array ?
« Antwort #2 am: 30.12.05 - 12:42:15 »
Hallo nochmal,

Danke für die erste Antwort.

hab nun noch eine weitere Frage. Das 2-dim Array ist ein dynamisches Array. Nun möchte ich das Array erweitern. z.B.

Dim a() As String
Dim b() As String   

Redim  a( 0 , 1 )
Redim  b( 0 , 1)

...füllen

Redim  Preserve  a( 1 , 1 )   <------------- Subscript out of range
Redim  Preserve  b( 1 , 1)


Wieso bekomm ich da den Fehler  ?

Grüße,
Manuel

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Obere Schranke eines 2 dimensionales Array ?
« Antwort #3 am: 30.12.05 - 13:28:46 »
In LS und VB kannst du nur die letzte Dimension verändern.

Code
Redim  1( 0 , 1)
Redim  Preserve  1( 1 , 1)
.. verändert aber die erste.

Du müsstest jetzt eine Funktion bauen ("RedimArray") die als Parameter das Quellarray und die Obergrenzen der Dimensionen erwartet.
In der Funktion dimensionierst du ein Tmp-Array anhand der übergebenen Dimensionen, füllst das Tmp-Array mit den Daten des Quellarrays und gibst es zurück.
Gruß
Johnson

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Obere Schranke eines 2 dimensionales Array ?
« Antwort #4 am: 30.12.05 - 13:33:32 »
Oder:

Du drehst das Array einfach. Was bei einem zweidimensionalen Array noch nachvollziehbar ist. Also alle Daten, die du jetzt in der ersten Dimension stehen hast in die zweite einlesen/auslesen und umgekehrt.
Gruß
Johnson

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Obere Schranke eines 2 dimensionales Array ?
« Antwort #5 am: 30.12.05 - 15:05:34 »
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
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Obere Schranke eines 2 dimensionales Array ?
« Antwort #6 am: 30.12.05 - 16:15:08 »
oder Du arbeitest mit einem eigenen Typ.


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
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Obere Schranke eines 2 dimensionales Array ?
« Antwort #7 am: 30.12.05 - 16:54:13 »
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.
Gruß
Johnson

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz