Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: problem z tablicą
gafek




Typ: neutral
Postów: 12
Zarejestrowany: Jul 2004
problem z tablicą

kod wygląda mniej więcej tak:

deklaruję typ i tablicę typów:

public type record
x as integer
y as integer
end type

public record_table() as record


i problem z tym ,że kiedy próbuję zapisać coś do niej w ten sposób:

record_table(1).x = 10
record_table(1).y = 20

otrzymuję błąd: Subscript out of range.

Problem występuje tylko wtedy ,kiedy zadeklaruję tablicę jako dynamiczną.Kiedy zadeklaruję:

public record_table(200) as record

wtedy wszystko jest ok.

co jest grane ?

Pozdr.

09-02-2005 14:30
Pokaż profil gafek  Wyślij email do gafek        1243236
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Musisz określic początkowy rozmiar tablicy chociaż niekoniecznie musi to być w momencie deklaracji tablicy

Może użyć czegoś takiego:

Redim record_table(1)

albo

Redim record_table(1 To 1)

albo

Redim Preserve record_table(1 To X)

gdzie X oznacza numer kolejnego elementu, który chcesz dodać.


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

09-02-2005 15:48
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003



record_table(1).x = 10
record_table(1).y = 20

otrzymuję błąd: Subscript out of range.



A czy używasz słowa kluczowego Option Base?
Option Base określa dolne ograniczenie indeksów tablicy. Jeśli tego słowa nie używasz dolnym ograniczeczniem jest 0 (zero).



Redim record_table(1 To 1)

albo

Redim Preserve record_table(1 To X)


Między jednym a drugim jest taka róznica, że pierwsze polecenie tworzy tak na prawdę kopię tablicy, kasując poprzednie wartości.
Drugie zwiększ rozmiar tablicy, zachowując dotychczasowe wartości.
Poczytaj w plikach pomocy.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

10-02-2005 19:13
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Wszystkich odpowiedzi: 2 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1