AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein ItemIndex bleibt immer gleich, lösung?
Thema durchsuchen
Ansicht
Themen-Optionen

ItemIndex bleibt immer gleich, lösung?

Ein Thema von mimi · begonnen am 21. Aug 2005 · letzter Beitrag vom 21. Aug 2005
 
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

ItemIndex bleibt immer gleich, lösung?

  Alt 21. Aug 2005, 11:43
Hallo,
habe ein komisches problem was ich einfach nicht lösen kann, seit wochen befasse ich mich jetzt schon damit. Kommme aber leider immer noch nicht weiter.
Hier ist der qullcode denn ich bis jetzt geschrieben habe:
(nur das notwendigste,wegen der übersicht)
Delphi-Quellcode:
{
  Erstellungs Datum : 31.07.2005
  updatet          : 21.08.2005
}

procedure TPlayliste_PLY.SetIndex(Index:Integer);
function isOk(Index:Integer):Boolean;
var
  ok:Boolean;
  str:String;
  i:Integer;
begin
  ok:=False;
  with Playliste do begin
    if M = ColorPlaying then begin
      if ColorIsStr <> 'then begin
        str:=GetValue(index,VC);
        for i:=1 to NumToken(ColorIsStr,';') do begin
          if (str <> 'clNone') and (GetToken(ColorIsStr,';',i) = str) then begin
            ok:=True;
            Break;
          end;
        end;
      end
      else
        ok:=True;
    end
    else begin
      if m <> NonePlaying then begin
        if (m = isPlaying ) and (Pos('*',Strings[index]) > 0) then ok:=True; // Schon gespielt ?
        if (m = NoPlaying ) and (Pos('*',Strings[index]) =0) then ok:=True; // Noch nicht gespielt
      end
      else
        ok:=True;
    end;
  end;
  result:=ok;
end;

var
  r,m1:Integer;
begin
  r:=-1;

 if index = 1 then begin // Weiter
    r:=PlayIndex;
    repeat
      if r+1 <= Playliste.Count-1 then
        r:=r+1
      else
        r:=0;
    until isOK(r) = True;
  end;
  
  if Assigned(onChangeItem) then onChangeItem(r,index)
end;
// und anwenden tue ich es so:

procedure TForm1.ChangeItemIndex(Index,m1:Integer);
begin
  ListBox1.Selected[ListBox1.ItemIndex]:=False;
  ListBox1.Selected[Index]:=True;
  MusicListe.PlayIndex:=index;
end;
das problem ist: Ich habe eine playliste wo der erste eintrag übersprungen werden muss.
Wenn ich jetzt r+1 nehme ist der index immer einen eintrag zuweit d.h. ich habe hier eine liste:


1. Eintrag
2. Eintrag*
3. Eintrag
4. Eintrag*
5. Eintrag
und nun wenn ich nur die hörbaren abspielen möchte(hier *) ist er z.b. bei dem 3. item anstat dem 2. Item was letztendlich auch klar ist nur ich weiß nicht wie ich es lösen kann. ich habe versucht es mit -1 zuversuch nacher aber das bringt ja auch nichts.
ich kann ja nicht erst r+1 und dann wieder -1 nehmen....

Ich weiß leider keine lösung mehr
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz