Delphi7 - Zapisywanie i wczytywanie informacji o dwóch listach w jecnym pliku oraz rozróżnianie ich.

Odpowiedz Nowy wątek
2011-08-11 11:20
0

Witam.

Piszę sobie programik-prosty odtwarzacz muzyczny. Jednak jest on nieco retro, na wzór magnetofonów kasetowych i w związku z tym napotkałem mały albo i nawet duży jak dla mnie problem:

Mam dwie listy odtwarzania. Jedna lista to jakby strona A kasety a druga to analogicznie strona B. Przełączać się między listami można dzięki przyciskowi "obróć kasetę" (albo dwóm przyciskom "stronaA" "stronaB"), gdy nagranie jest zatrzymane.
Pierwsza sprawa to jak program ma odróżnić która strona kasety ma być obecnie odtwarzana - myślałem by zrobić zmienną "Side" i zadeklarować np jako Boolean (wtedy false to stronaA a true stronaB) ale co wtedy? wszędzie pisać warunki by wyszło coś takiego jak poniżej ??

 
If side=false then
  MediaPlayer1.FileName:=ListaA.Items[ListaA.ItemIndex];
else
  MediaPlayer1.FileName:=ListaB.Items[ListaB.ItemIndex];
 

Czy może istnieje jakieś bardziej przejrzyste rozwiązanie? (szczególnie dużo warunków trzeba by pisać przy sprawdzaniu pozycji taśmy)

Druga sprawa to zapis i odczyt zawartości kasety, czyli zawartości obu list.
Nie mogę napisać czegoś w tym stylu:

ListaA.Items.SaveToFile(SaveDialogList.FileName);
ListaB.Items.SaveToFile(SaveDialogList.FileName);
 

Wtedy najpierw zapisze się zawartość listy A ale później nadpisze ją listaB :/

Z góry dziękuję za pomoc, może nie zniechęcę się do programowania.

edytowany 1x, ostatnio: kolejorz, 2011-08-11 11:21

Pozostało 580 znaków

2011-08-11 13:37

Zrob sobie wskaznik na liste plikow do odtwarzania i przy przelaczaniu list/stron kasety podmieniaj zawartosc tego wskaznika. A mediaplayer niech zawsze gra elementy z listy wskazywanej przez ten wskaznik. A zapis zrob tak - polacz obie listy do jednej i zapisz ja do pliku ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0