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

Перезаписать соответствующие на несоответствующие и вывести на экран только матрицу 3 х 3
...
Рейтинг: 0 / 0
15.01.2009, 15:57
    #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
15.01.2009, 16:47
    #35759752
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки массива и уменьшить его размер
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удалить строки массива и уменьшить его размер / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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