Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

ReDim Preserve endet mit Index außerhalb des gültigen Bereichs

Frage Entwicklung VB for Applications

Mitglied: ReiniX

ReiniX (Level 1) - Jetzt verbinden

24.01.2008, aktualisiert 17:02 Uhr, 11485 Aufrufe, 1 Kommentar

Hallo allerseits,

ich habe ein array:
dim temp()
redim preserve temp(2,0,0)

diesem kann ich wenn ich das recht verstanden habe so wie es ist 3 werte zuweisen:
temp(0,0,0)=wert1
temp(1,0,0)=wert2
temp(2,0,0)=wert3

nun möchte ich in meinem script das array vergrößern:
redim preserve temp(2,1,0)

meiner meinung nach sollte ich darin jetzt 6 werte speichern können:
temp(0,0,0)=wert1
temp(0,1,0)=wert2
temp(1,0,0)=wert3
temp(1,1,0)=wert4
temp(2,0,0)=wert5
temp(2,1,0)=wert6

das array vergrößert sich meiner meinung nach und verkleinert sicht nicht.
deswegen verstehe ich nicht warum mein script mit der Meldung "Index außerhalb des gültigen Bereichs" abbricht.

kann mir das jemand erklären oder hat eine lösung?

vielen dank!
Mitglied: Biber
24.01.2008 um 17:02 Uhr
Aus der script56.chm: [ReDim-Anweisung]
01.
Hinweise 
02.
Die ReDim-Anweisung dient zum Festlegen oder Ändern der Größe eines dynamischen Arrays, das bereits formal mit einer Private, Public oder Dim-Anweisung und einem leeren Klammernpaar (ohne Indizes für die Dimensionen) deklariert wurde. Sie können die ReDim-Anweisung mehrmals verwenden, um die Anzahl der Elemente und Dimensionen in einem Array zu ändern. 
03.
 
04.
Mit dem Schlüsselwort Preserve können Sie nur die Größe der letzten Arraydimension ändern, nicht aber die Anzahl der Dimensionen. Wenn das Array zum Beispiel nur eine Dimension hat, können Sie die Größe dieser Dimension ändern, weil es die letzte und einzige Dimension ist. Hat das Array jedoch mindestens zwei Dimensionen, können Sie lediglich die Größe der letzten Dimension ändern, wenn der Inhalt des Arrays erhalten bleiben soll.  
05.
 
06.
Das folgende Beispiel veranschaulicht, wie Sie die letzte Dimension eines dynamischen Arrays vergrößern können, ohne bereits bestehende Daten im Array zu löschen.  
07.
 
08.
ReDim X(10, 10, 10) 
09.
. . . 
10.
ReDim Preserve X(10, 10, 15) 
11.
Anmerkung   Wenn Sie ein Array verkleinern, gehen die Daten in den entfernten Elementen verloren. 
12.
Bei der Initialisierung von Variablen wird eine numerische Variable mit 0 und eine Zeichenfolgevariable mit einer Zeichenfolge der Länge Null ("") initialisiert. Einer Variablen, die auf ein Objekt verweist, muss ein vorhandenes Objekt mit der Set-Anweisung zugeordnet werden, bevor sie verwendet werden kann. Solange sie keinem Objekt zugewiesen ist, hat die deklarierte Objektvariable den Sonderwert Nothing.
--> "..Mit dem Schlüsselwort Preserve können Sie nur die Größe der letzten Arraydimension ändern"...
--> und nie nicht die Anzahl der Dimensionen.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Muss nach einer DHCP-Bereichs Änderung auch der DNS Server konfiguriert werden? (4)

Frage von AndreasOC zum Thema Windows Server ...

Exchange Server
Support für Exchange 2007 endet am 11. April 2017 (3)

Link von transocean zum Thema Exchange Server ...

Monitoring
Nagios Fehlermeldung IndexError: list index out of range (4)

Frage von itazubii zum Thema Monitoring ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(4)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...