Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Wymiary tablic i _SoundOpen/Close


Rekomendowane odpowiedzi

Opublikowano

Witam

 

Mam następujący problem.

Zabrałem się za pisanie czegoś w typu keyboarda na komputer (dosyć rozbudowanego, jak rozwiążemy ten problem to pewnie w ciągu paru dni kod trafi na MPC :P)

 

I mam następujący problem

 

Otóż, do otwierania plików używam funkcji _SoundOpen z biblioteki Sound.au3

Do przetrzymania wszystkich danych z _SoundOpen używam tablicy (jednowymiarowej)

I teraz mój problem - Otóż nie wiem czy funkcja _SoundOpen tworzy dodatkowe wymiary tablicy. Przez co nie wiem, jak zastosować funkcję _SoundClose.

 

Próbowałem takiego czegoś:

 

While $i < $files[0] ;$files to tablica zwrócona przez _FileListToArray
$sounds[$i] = _SoundOpen($files[$i+1])
$i += 1
Wend

;i w funkcji zamykającej:

Func Wyjscie()
$i = 0
While $i <= $files[0]
_SoundClose($sounds[$i][0])
$i += 1
WEnd
Exit
EndFunc

 

Niestety, wywala mnie przy linijce z _SoundClose, tłumacząc że została przekroczona ilość indeksów w tablicy. Błąd wywala przy pierwszym przejściu pętli (sprawdziłem debugiem poprzez wstawienie msgboxa po _soundclose). Oryginał błędu:

Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
_SoundClose($sounds[$i][0])
_SoundClose(^ ERROR

 

Kiedy wywalę drugi wymiar z $sounds (czyli zamiast $sounds[$i][0] będzie $sounds[$i]) wszystko chodzi, tyle że $sounds[$i] według mojego myślenia powinna działać jak zwykła zmienna, i powinien zostać stworzony dodatkowy wymiar.

 

O co tutaj jest kaman? I czy ktoś mi może wytłumaczyć co zwaliłem?

jeśli trzeba - wrzucę cały kod z plikami

 

Z góry dzięki za pomoc.

 

EDIT: Rozwiązanie

Wyszło mi na to, że trzeba zrobić pętlę która będzie otwierała te dźwięki za pomocą zwykłej zmiennej, a następnie zapisywała tylko ID dźwięków do tablicy. Ta funkcja nie tworzy dodatkowego wymiaru, przez co otwieranie dźwięków przez tablicę jest niestety niemożliwe (albo o czymś nie wiem).

846331404756772371599.jpeg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...