Autor Beitrag
Apo95
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 129

Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
BeitragVerfasst: So 15.04.12 22:13 
Hallo,

ich habe versucht, winwn Mediaplayer in Delphi 6 zu kritzeln, aber der Compiler gbt eine Fehlermeldung heraus, aus der ich nie und nimmer schlau werde. :-(

Hier ist der Quellcode :

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MPlayer, Menus, ComCtrls, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    MediaPlayer1: TMediaPlayer;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Neu1: TMenuItem;
    Wiedergabe1: TMenuItem;
    N1: TMenuItem;
    Beenden1: TMenuItem;
    Media1: TMenuItem;
    StartenWiedergabe1: TMenuItem;
    Pause1: TMenuItem;
    AbbruchWiedergabe1: TMenuItem;
    Zurck1: TMenuItem;
    Vorwrts1: TMenuItem;
    N6sPRINGEN1: TMenuItem;
    Ende1: TMenuItem;
    Anfang1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    RecordAufnahmestarten1: TMenuItem;
    Hilfe1: TMenuItem;
    Informationeneinblenden1: TMenuItem;
    ProgressBar1: TProgressBar;
    CheckBox1: TCheckBox;
    Timer1: TTimer;
    Panel1: TPanel;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Liste1: TMenuItem;
    Neu2: TMenuItem;
    Hinzufgen1: TMenuItem;
    AusListeentfernen1: TMenuItem;
    N4: TMenuItem;
    InDateisichern1: TMenuItem;
    Einlesen1: TMenuItem;
    ListBox1: TListBox;
    procedure Beenden1Click(Sender: TObject);
    procedure Informationeneinblenden1Click(Sender: TObject);
    procedure Einlesen1Click(Sender: TObject);
    procedure InDateisichern1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure StartenWiedergabe1Click(Sender: TObject);
    procedure AbbruchWiedergabe1Click(Sender: TObject);
    procedure Neu2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Song : Integer;
  
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Beenden1Click(Sender: TObject);
begin
        close;
end;

procedure TForm1.Informationeneinblenden1Click(Sender: TObject);
begin
        AboutBox.show;
end;

procedure TForm1.Einlesen1Click(Sender: TObject);
begin
        if Opendialog1.Execute then
        begin
        ListBox1.Items.add(OpenDialog1.FileName);
        
end;

procedure TForm1.InDateisichern1Click(Sender: TObject);
begin
        if SaveDialog1.Execute then
        begin
        ListBox1.Items.SaveToFile(SaveDialog1.FileName);
        end
        else
        Application.MessageBox('Die Wiedergabeliste konnte nicht erstellt werden. Bitte überprüfen sIe ihre Rechte un versuchen es erneut.','Sicherung fehlgeschlagen', mb_ICONSTOP or mb_OK);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
        Song :=0;
end;

procedure TForm1.StartenWiedergabe1Click(Sender: TObject);
begin
        MediaPlayer1.Open;
        ProgressBar1.Max := MediaPlayer1.Length;
        MediaPlayer1.FileName := ListBox1.Items[song];
        Timer1.Enabled :=true;
end;

procedure TForm1.AbbruchWiedergabe1Click(Sender: TObject);
begin
        MediaPLayer1.Close;
        ListBox1.Clear;
        Song :=0;
end;

procedure TForm1.Neu2Click(Sender: TObject);
begin
        if Application.MessageBox('Möchten Sie eine neue Wiedergabeliste anlegen? Sie sollten, sofern vorhnden, alle Änderungen sichern.','Neue Liste',mb_ICONWARNING or mb_YESNO)=IDYES
        then
        ListBox1.Items.Clear;
        MediaPlayer1.Close;
        Song :=0;
end;

end.


Die Fehlermeldung lautet: 'Anweisung erwartet, aber 'PROCEDURE' gefunden'.

Kann mir jemand weiterhelfen??

Ich brauche so schnell wie möglich Hilfe!!

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt

_________________
Lette-Verein MIA
SvenAbeln
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 334
Erhaltene Danke: 3



BeitragVerfasst: So 15.04.12 22:24 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Einlesen1Click(Sender: TObject);
begin
  if Opendialog1.Execute then
  begin
    ListBox1.Items.add(OpenDialog1.FileName);        
end;
Hier ist ein begin zu viel, oder ein end zu wenig.

So sollte es gehen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Einlesen1Click(Sender: TObject);
begin
  if Opendialog1.Execute then
    ListBox1.Items.add(OpenDialog1.FileName);        
end;
Apo95 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 129

Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
BeitragVerfasst: Mo 16.04.12 02:13 
Das funktioniert nicht. Die Kompilierung schlägt fehl; es wird eine Exception ausgelöst. Die Meldung lautet : 'Eception EMCIDevice Error bei EAMPLAYER.exe bei 005280. Kann keinen Gerätetyp aus der angegebenen Dateinamenserweiterung erkennen.'

Ich weiß nicht mehr weiter...

_________________
Lette-Verein MIA
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 16.04.12 06:20 
Wenn du eine .wav, .mid, .avi, .mpg oder .mov Datei auswählst, für die der TMediaPlayer ja z.B. gedacht ist, sollte das eigentlich gehen. :gruebel:
Was war denn das für eine Datei, also welcher Dateiname?

Hier findest du übrigens eine Liste der unterstützten Typen:
docwiki.embarcadero....ps_to_an_Application

Für andere Dateitypen bieten sich entweder das Windows Media Player Control an, das du in Delphi als Komponente importieren kannst, oder die BASS DLL.
Apo95 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 129

Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
BeitragVerfasst: Mo 16.04.12 16:35 
Vielen Dank für eure Antworten. Ich habe den Mediaplayer in das Format von Delphi 2009 konvertiert; hoffe, jetzt klappts...

:-)

_________________
Lette-Verein MIA
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.04.12 17:10 
Die Reihenfolge ist FALSCH:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.StartenWiedergabe1Click(Sender: TObject);
begin
        MediaPlayer1.Open;
        ProgressBar1.Max := MediaPlayer1.Length;
        MediaPlayer1.FileName := ListBox1.Items[song];
        Timer1.Enabled :=true;
end;


Richtig - erst File auswählen bzw. zuordnen, dann öffnen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.StartenWiedergabe1Click(Sender: TObject);
begin
        MediaPlayer1.FileName := ListBox1.Items[song];
        MediaPlayer1.Open;
        ProgressBar1.Max := MediaPlayer1.Length;
        Timer1.Enabled :=true;
end;