powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как корректно изменить границы массива, выкинув не нужный элемент?
5 сообщений из 5, страница 1 из 1
Как корректно изменить границы массива, выкинув не нужный элемент?
    #33210975
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим есть строковый массив str("text1", "text2", "text3", "text4"), индексы которого 0..3.
Можно ли изменить массив, выкинув, например, элемент text3, чтобы массив стал таким: str("text1", "text2", "text4") с индексами 0..2
...
Рейтинг: 0 / 0
Как корректно изменить границы массива, выкинув не нужный элемент?
    #33211123
абармот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если массив был объявлен как динамический, то можно менять его последнюю размерность. хелп на redim
...
Рейтинг: 0 / 0
Как корректно изменить границы массива, выкинув не нужный элемент?
    #33211168
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    Dim varItems() As Variant
    Dim varTemp As Variant
    
    varItems = Array("text1", "text2", "text3", "text4")
    
    varTemp = varItems( 3 )
    ReDim Preserve varItems( 2 )
    varItems( 2 ) = varTemp
...
Рейтинг: 0 / 0
Как корректно изменить границы массива, выкинув не нужный элемент?
    #33211276
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь2
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    Dim varItems() As Variant
    Dim varTemp As Variant
    
    varItems = Array("text1", "text2", "text3", "text4")
    
    varTemp = varItems( 3 )
    ReDim Preserve varItems( 2 )
    varItems( 2 ) = varTemp

Спасибо, Пользователь2! Это очень элегантное и простое решение. Я даже не думал что это будет так просто. Скока не читал справку про ReDim Preserve, так и не понял фишки.
Командой ReDim Preserve varItems(2) я изменяю размер массива на 1 элемент, отбрасывая последний элемент? Я правильно понял?
...
Рейтинг: 0 / 0
Как корректно изменить границы массива, выкинув не нужный элемент?
    #33211944
k-nikeReDim Preserve varItems(2) я изменяю размер массива на 1 элемент, отбрасывая последний элемент? Я правильно понял?
Да, правильно.

При помощи ReDim можно изменить размер динамического массива (если слово Preserve не указать, VB удалит все данные, содержащиеся в массиве, если же указать, VB сохранить все имеющиеся элементы массива).
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как корректно изменить границы массива, выкинув не нужный элемент?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]