Autor Thema: Redim Preserve auf Mehrdimensionales Array?  (Gelesen 4916 mal)

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Redim Preserve auf Mehrdimensionales Array?
« am: 30.09.04 - 16:42:13 »
Hat das irgendeiner von euch schon einmal gemacht?

Irgendwie krieg ich das nicht hin. Bei
Redim Preserve Feldname(i,1) as string
meckert er schon beim Abspeichern das er einen Script Error findet und zwar sagt er "Wrong Number of Array subscripts"

Hab ich glatt vergessen, eine Suche im Notes.net  4+5 sowie 6 Forum fördert da nichts zielführendes zu Tage

Version: 6.5.1, Designer Client
« Letzte Änderung: 30.09.04 - 16:47:29 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Redim Preserve auf Mehrdimensionales Array?
« Antwort #1 am: 30.09.04 - 16:52:28 »
Was macht er, wenn Du statt i eine Integerzahl direkt reinschreibst (z.B. 5) ?

Nur so zum eingrenzen....
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: Redim Preserve auf Mehrdimensionales Array?
« Antwort #2 am: 30.09.04 - 16:54:19 »
Du kannst bei mehrdimensionalen Arrays nur die Obergrenze der letzten Dimension ändern.
Glaube ich.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Redim Preserve auf Mehrdimensionales Array?
« Antwort #3 am: 30.09.04 - 17:00:19 »
Du glaubst richtig, Thomas V.

Ich kann allerdings nicht nachvollziehen, dass der Compiler schon meckert - bei mir ergibt das erst einen run-time error.

Thomas S.: Was meinst Du eigentlich mit Feldname ?

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Redim Preserve auf Mehrdimensionales Array?
« Antwort #4 am: 30.09.04 - 17:00:52 »
Zitat
Arrays can have up to 8 dimensions. The first ReDim statement for an array sets the number of dimensions for the array. Subsequent ReDim statements for the array can change the upper and lower bounds for each dimension, but not the number of dimensions.
If Preserve is specified, you can change only the upper bound of the last array dimension. Attempting to change any other bound results in an error.

Das bestätigt die Aussage von Thomas V.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Redim Preserve auf Mehrdimensionales Array?
« Antwort #5 am: 30.09.04 - 17:18:02 »
@bernhard
Der interne Name des Arrays und warum er beim Coplien schon gemeckert hat kann ich jetzt auch nicht mehr nachvollziehen /*Wundert sich*/

@all
Nach ein wenig experimentieren:
Das hier geht nicht da fliegt er mit einem Subscript out of Range auf die Nase
Dim SplitFieldArray() As String
   
Dim i As Integer
Dim j As Integer
   
   
I = 50
Redim SplitfieldArray(i,1) As String
For i = 0 To 40
   splitfieldArray(i,0) = "feld_1 " + Cstr(i)
   splitfieldArray(i,1) = "feld_2 " + Cstr(i)
Next
Redim Preserve SplitfieldArray(i,1) As String

und zwar egal ob i größer oder kleiner oder sonst irgendwas ist.

Wohingegen das hier:
Dim SplitFieldArray() As String

Dim i As Integer
Dim j As Integer
   
I = 50
Redim SplitfieldArray(i,1) As String
For i = 0 To 40
   splitfieldArray(i,0) = "feld_1 " + Cstr(i)
   splitfieldArray(i,1) = "feld_2 " + Cstr(i)
Next
Redim Preserve SplitfieldArray(50,0) As String

Ohne Probleme rauf und runter funkioniert.

Also, Thomas hat recht, wenn man mit mehrdimensionalen Arrays arbeitet, dann kann man immer nur die letzte Dimension ändern, die allerdings rauf wie runter.

Das bedeutet dann fürs Programmieren, das man erst einmal die Anzahl der ersten Dimensionen eines Arrays ermitteln muss und anschließend das Array zweckbestimmt exakt dimensionieren sollte.

Thomas



« Letzte Änderung: 30.09.04 - 17:23:16 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Redim Preserve auf Mehrdimensionales Array?
« Antwort #6 am: 30.09.04 - 17:25:38 »
Naja, das steht ja auch genauso in der DesignerHelp (der Text ist sogar in R5 und R6 gleich) - siehe das Zitat von Matthias.

Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Redim Preserve auf Mehrdimensionales Array?
« Antwort #7 am: 30.09.04 - 17:30:32 »
Stimmt wer lesen kann ist klar im Vorteil.

Irgendwie war ich jetzt glaube ich auf eine andere Sprache geeicht. deswegen hab ich in der Online Hilfe erst garnicht nachgelesen. Jaja, die Basics.   ::)

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Redim Preserve auf Mehrdimensionales Array?
« Antwort #8 am: 30.09.04 - 17:33:26 »
Wenn sowas einem guten Programmierer (wie Dir) nicht mehr passiert, ist er tot.
Schlechten Porgrammierern wird das wohl auch noch nach dem Ableben passieren  ;D

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz