powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удалить строки массива и уменьшить его размер
6 сообщений из 6, страница 1 из 1
Удалить строки массива и уменьшить его размер
    #35759173
32sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть массив с данными. Необходимо удалить строки и уменьшить размер массива если в поле а есть 0
а б в 122000222000000517
Необходим результат:
а б в 122222517
...
Рейтинг: 0 / 0
Удалить строки массива и уменьшить его размер
    #35759385
SomeNeeder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
копай redim preserve
...
Рейтинг: 0 / 0
Удалить строки массива и уменьшить его размер
    #35759403
32sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SomeNeederкопай redim preserve
Это изменение размера массива.
А как убрать несоответствующие строки?
...
Рейтинг: 0 / 0
Удалить строки массива и уменьшить его размер
    #35759427
birk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
32sasha,

Перезаписать соответствующие на несоответствующие и вывести на экран только матрицу 3 х 3
...
Рейтинг: 0 / 0
Удалить строки массива и уменьшить его размер
    #35759552
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема ReDim Preserve в том, что можно изменить границу только последнего измерения.

Конечно, можно сделать так.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Private Type typ
    a As Integer
    b As Integer
    c As Integer
End Type

Private Sub Command1_Click()
    Dim avarItems() As typ
    Dim intI As Integer
    Dim intTemp As Integer
    
    ReDim avarItems( 1  To  3 )
    
    avarItems( 1 ).a =  1 
    avarItems( 1 ).b =  2 
    avarItems( 1 ).c =  2 
    avarItems( 2 ).a =  0 
    avarItems( 2 ).b =  0 
    avarItems( 2 ).c =  0 
    avarItems( 3 ).a =  1 
    avarItems( 3 ).b =  2 
    avarItems( 3 ).c =  2 
    
    intTemp =  0 
        
    For intI = LBound(avarItems) To UBound(avarItems)
        If avarItems(intI).a <>  0  Then
            intTemp = intTemp +  1 
            
            avarItems(intTemp).a = avarItems(intI).a
            avarItems(intTemp).b = avarItems(intI).b
            avarItems(intTemp).c = avarItems(intI).c
        End If
    Next intI
    
    ReDim Preserve avarItems( 1  To intTemp)
    
    Debug.Print UBound(avarItems)
    
    For intI = LBound(avarItems) To UBound(avarItems)
        Debug.Print avarItems(intI).a; avarItems(intI).b; avarItems(intI).c
    Next intI
End Sub
...
Рейтинг: 0 / 0
Удалить строки массива и уменьшить его размер
    #35759752
32sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удалить строки массива и уменьшить его размер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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