Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi AddObjekt problem (https://www.delphipraxis.net/39711-addobjekt-problem.html)

Red_Dragon 6. Feb 2005 20:46


AddObjekt problem
 
ich versuche grad eine playerlist zu erstellen aber kriege es einfach net hin dasdie datei geladen wird ist auch schwer wenn ich kein string nutzten darf :(

Wiedergabeliste.Items.AddObject('test.lied', Opendialog1);

hat jemand ne idee wie ich das anstellen soll?

Sprint 6. Feb 2005 20:56

Re: AddObjekt problem
 
Zitat:

Zitat von Red_Dragon
ist auch schwer wenn ich kein string nutzten darf

Irgendwo in deinem Programm muss schon der Dateiname als String vorliegen. Sonst geht es nicht.

Red_Dragon 6. Feb 2005 21:00

Re: AddObjekt problem
 
Zitat:

Zitat von Sprint
Zitat:

Zitat von Red_Dragon
ist auch schwer wenn ich kein string nutzten darf

Irgendwo in deinem Programm muss schon der Dateiname als String vorliegen. Sonst geht es nicht.

opendialog1.filename

aber das nützt mir ja nix ich kann ja keine strings nutzen bei addobjekt...

Sprint 6. Feb 2005 21:08

Re: AddObjekt problem
 
Dann nimmst du eine TStringList und speicherst dort den Dateinamen. Wenn du synchron in deine Wiedergabeliste und in die FileList addest, dann kannst du ja über ItemIndex zu greifen. Ansonsten merkst du dir die Postion von FileList.Add und trägst den bei Wiedergabeliste.AddObject('Mein Song', TObject(Position)) ein.

Muetze1 6. Feb 2005 21:46

Re: AddObjekt problem
 
Moin!

Oder du pfeifst auf ein wenig Speicheroverhead und legst dir ein kleines Objekt an, welches dann den Dateinamen enthält und z.B. ob es schon abgespielt wurde (z.B: für Shuffle), etc. Dann einfach dieses Objekt zu dem Eintrag hinzufügen.

MfG
Muetze1

Red_Dragon 16. Feb 2005 19:13

Re: AddObjekt problem
 
puh irgendwie krieg ich nix hin und verstehen tu ich das was ihr meint irgendwie nicht ganz *g*
ich versuche das jetzt schon seit 10 tagen aber irgendwie krieg ich einfach auf keine weise hin das das halbwegs so aussieht wie bei winamp...:(

Muetze1 16. Feb 2005 23:17

Re: AddObjekt problem
 
Moin!

Was ist deine Frage? Das Aussehen oder die Programmierung der ListBox o.ä. für die Playlist?

MfG
Muetze1

Red_Dragon 17. Feb 2005 06:12

Re: AddObjekt problem
 
Zitat:

Zitat von Muetze1
Was ist deine Frage? Das Aussehen oder die Programmierung der ListBox o.ä. für die Playlist?

die programmierung ...
mir ist einfach nicht begreifbar wie ich das mit den objekten regeln soll

Sprint 17. Feb 2005 07:02

Re: AddObjekt problem
 
Zitat:

Zitat von Red_Dragon
mir ist einfach nicht begreifbar wie ich das mit den objekten regeln soll

Der einfachste Weg ist wohl eine Dateiliste (TStringList) anzulegen. Dort fügst du dann den Dateinamen hinzu. In deiner visuellen Anzeige (z.B. TListBox) benutzt du AddObject und missbrauchst diese Funktion. Anstatt ein Objekt zu übergeben, gibt du die Position von deinem Dateinamen in der Dateiliste an. In der Praxis könnte das z.B. so aussehen:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
  private
    { Private-Deklarationen }
    FileList: TStringList;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  FileList := TStringList.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FileList.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Position: Integer;
begin
  if OpenDialog1.Execute then
  begin
    Position := FileList.Add(OpenDialog1.FileName);
    ListBox1.Items.AddObject(ExtractFileName(OpenDialog1.FileName), TObject(Position));
  end;
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
  ShowMessage(FileList.Strings[ListBox1.ItemIndex]);
end;

end.
In der ListBox steht nur der Dateiname, ohne den Pfad. Bei einem doppelklick auf die ListBox wird der vollständige Dateiname aus der Dateiliste ausgelesen und in einer MessageBox angezeigt.

Die andere Möglichkeit wäre die, die Muetze1 schon angesprochen hat.

phXql 17. Feb 2005 07:03

Re: AddObjekt problem
 
Delphi-Quellcode:
Wiedergabeliste.Items.add(OpenDialog1.Filename);


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr.
Seite 1 von 2  1 2      

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