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, 11229 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...