Rozkaz ReDimInstrukcja służy do określania rozmiaru tablicy dynamicznej lub do ponownego przedefiniowania jej wymiarów.Składnia instrukcji ReDim ReDim [Preserve] Nazwa (Wymiary) [As Typ] [, Nazwa (Wymiary) [As Typ]]... Składnia rozkazu ReDim składa się z następujących części:
Można używać instrukcji ReDim wielokrotnie, do zmiany liczby elementów i wymiarów w tablicy. Nie można jednak zadeklarować tablicy z jednym typem danych, a później użyć instrukcji ReDim do zmiany na inny typ danych tablicy, chyba że tablica zawiera typ danych Variant. Jeżeli tablica zawiera dane typu Variant, typ danych elementów tablicy może być zmieniany przy pomocy wyrażenia As Typ, chyba że użyte zostało słowo Preserve, wtedy nie jest dozwolona zmiana typu danych. Jeżeli użyte zostało słowo Preserve, można zmienić tylko ostatni wymiar tablicy i nie można zmieniać liczby wymiarów tablicy. Na przykład, jeżeli tablica ma tylko jeden wymiar, można zmieniać jego rozmiar, gdyż jest to ostatni i jednocześnie jedyny wymiar. Jeżeli tablica ma dwa lub więcej wymiarów, można zmieniać rozmiar tylko ostatniego wymiaru i zachować zawartość tablicy. Przykład pokazuje jak można zwiększyć rozmiar ostatniego wymiaru tablicy dynamicznej bez kasowania jakiejkolwiek istniejącej danej zawartej w tablicy. ReDim X (10, 10, 10) . . . ReDim Preserve X (10, 10, 15) Gdy użyte jest słowo Preserve można zmieniać rozmiar tablicy tylko w górę, zmiana dolnej granicy spowoduje wystąpienie błędu. Jeżeli stworzona zostanie tablica mniejsza niż była, dane w usuniętych elementach zostaną stracone. Jeżeli tablica zostanie przypisana do procedury przez refernecję, nie można zmieniać jej wymiarów wewnątrz procedury. Gdy zmienne są incjowane, numeryczne zmienne są ustawiane na 0, łańcuchy zmiennej długości są ustawiane na łańcuch zerowej długości (""), łańcuchy stałej długości są wypełniane zerami. Zmienne Variant są ustawiane na Empty. Każdy element zmiennej typu zdefiniowanego przez użytkownika jest traktowany jakby był osobną zmienną. Zmienne referujące obiekt, muszą być przypisane do istniejącego obiektu przy użyciu instrukcji Set, zanim może być on użyty. Dopóki nie są one przypisane do obiektu, zadeklarowane zmienne obiektu mają wartość Nothing, która oznacza, że nie referują one żadnej konkretnej części obiektu. na górę strony... |