AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language StringList weiter reichen zur Eigentliche Klasse

StringList weiter reichen zur Eigentliche Klasse

Ein Thema von mimi · begonnen am 30. Okt 2007 · letzter Beitrag vom 2. Nov 2007
 
mimi

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

StringList weiter reichen zur Eigentliche Klasse

  Alt 30. Okt 2007, 17:43
Hallo,
ich möchte gerne wie im Titel schon beschrieben steht eine TStringList weiter reichen.

Am Anfang wird eine Variable aus der Haupt Klasse(TPlayListManger) mit einer ListBox1.Items
verbunden.

Jetzt Lade ich eine Datei und sie wird auch in der ListBox angezeigt.

Nun Möchte ich von einem Button Klick den Inhalt der Variable aus Klasse(TPlayListManger) anzeigen lassen.
Aber sie ist leer warum ?

Hier mal mein Soruce Code. Ich sehe einfach keinen Fehler. Oder verstehe ich das mit den Pointern falsch ?
Delphi-Quellcode:
TPlaylistenManger = class
    fOnAddPlayListe: TOnAddPlayliste;
    fOnGetPlayListeItem:TOnGetPlaylisteItem;
  private
    procedure InitPlaylist(const aFileName:String; var aPlayliste:TPlaylistBase);
  protected

  public
    _ext:string;
    FileName:String;
    PlayListItems:TStrings;
    OhneExt:Boolean;
    Playliste:TPlaylistBase;

    constructor Create;
    destructor Destroy;

....

procedure TPlaylistenManger.InitPlaylist(const aFileName: String;
  var aPlayliste: TPlaylistBase);
var
  ext:String;
begin
  ext:=UpperCase(ExtractFileExt(aFileName));
  if ext = '.M3Uthen aPlayliste:=TPlayListM3U.Create;
// if ext = 'PLS' then aPlayliste:=TPlayList.Create;
end;

// Hier lade ich eine M3U Datei
procedure TPlaylistenManger.LoadFromFile(const aFileName: String = '');
var
  i:integer;
begin
  InitPlaylist(ExtractFileName(aFileName),Playliste);

  Playliste.OhneExt:=OhneExt;
  Playliste.PlayListItems:=PlayListItems;
  Playliste.LoadFromFile(aFileName);

// PlayListItems.Assign(Playliste.PlayListItems);

  _ext:=Playliste.ext;

end;

procedure TPlayListM3U.LoadFromFile(const aFileName: String);
var
  tmp:TStrings;
  i,m:Integer;
  str:String;
  Item:TInfo;
begin
  tmp:=TStringList.Create;
  with tmp do begin
    LoadFromFile(aFileName); m:=0;
    if UpperCase(Strings[0]) = '#EXTM3Uthen begin
      m:=1;
      ext:='#EXTM3U';
    end
    else
      ext:='';
    
    i:=m;
    while i <= Count-1 do begin
      str:=strings[i]; Item:=TInfo.Create;

      if (str <> '') and (str[1] = '#') then begin
        Item.Kometar:=str;
        Item.FileName:=strings[i+1];
        if OhneExt then
          PlayListItems.AddObject(SplitStr(ExtractFileName(Item.FileName),'.'),Item)
        else
          PlayListItems.AddObject(ExtractFileName(Item.FileName),Item);

        inc(i,2);
      end
      else begin
        if (str <> '') and (str[1] <> '#') then begin
          Item.Kometar:='';
          Item.FileName:=strings[i];
          if OhneExt then
            PlayListItems.AddObject(SplitStr(ExtractFileName(Item.FileName),'.'),Item)
          else
            PlayListItems.AddObject(ExtractFileName(Item.FileName),Item);

          inc(i);
        end;
      end;
    end; // for i:=0
  end; // tmp
  tmp.free;
end;
Ich hoffe da steigt einer von euch durch. Im Prinzip ist das ein ganz einfacher Weg. Aber irgendwo in diesen Methoden muss ein Fehler sein.

... Vielen Dank schonmal für eure Hilfe ....

Edit00: In dieser Version, werden alle Daten angezeigt. Nur wenn ich in einem Button von From1 jetzt die alle Items anzeigen möchte, steht in der StringList:
PlayListeManger.PlayListItems.Text
nix drin.
obwohl PlayListeManger Global Definiert ist.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  PlayListeManger:=TPlaylistenManger.Create;
  PlayListeManger.PlayListItems:=ListBox1.Items;
  PlayListeManger.LoadFromFile('/media/hda7/Daten/music/entspannung.m3u');
// :=;

end;
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz