AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Undeklarierter Bezeichner (MediaPlayer)
Thema durchsuchen
Ansicht
Themen-Optionen

Undeklarierter Bezeichner (MediaPlayer)

Offene Frage von "haentschman"
Ein Thema von Sveni795 · begonnen am 19. Mär 2017 · letzter Beitrag vom 19. Mär 2017
Antwort Antwort
Seite 3 von 3     123   
a.def
(Gast)

n/a Beiträge
 
#21

AW: Undeklarierter Bezeichner (MediaPlayer)

  Alt 19. Mär 2017, 16:26
Fehler "Zu viele Parameter"
Das heißt dann wohl, dass playSound() keine Parameter annehmen kann, weil nichts dafür deklariert wurde.
  Mit Zitat antworten Zitat
Sveni795

Registriert seit: 19. Mär 2017
6 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#22

AW: Undeklarierter Bezeichner (MediaPlayer)

  Alt 19. Mär 2017, 16:34
Fehler "Zu viele Parameter"
Jetzt wird es anstrengend...

Poste doch mal den Sourcecode und nicht immer nur eine Zeile... Da können wir auch nix sehen!
Code:
unit TabbedTemplate;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  System.Variants,
  FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.TabControl,
  FMX.StdCtrls, FMX.Gestures, FMX.Controls.Presentation, FMX.Media;

type
  TTabbedForm = class(TForm)
    HeaderToolBar: TToolBar;
    ToolBarLabel: TLabel;
    TabControl1: TTabControl;
    TabItem1: TTabItem;
    TabItem2: TTabItem;
    TabItem3: TTabItem;
    TabItem4: TTabItem;
    GestureManager1: TGestureManager;
    Button1: TButton;
    MediaPlayer1: TMediaPlayer;
    procedure FormCreate(Sender: TObject);
    procedure FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo;
      var Handled: Boolean);
    procedure Button1Click(Sender: TObject);
   procedure PlaySound;

  private
    { Private declarations }
  public
    { Public declarations }
  end;


const
  conSoundAlter = 'C:\Users\Sven\Documents\Embarcadero\Studio\Projekte\Soundbord\Sounds\xx.mp3';

var
  TabbedForm: TTabbedForm;





implementation

{$R *.fmx}

procedure TTabbedForm.FormCreate(Sender: TObject);
begin
  { This defines the default active tab at runtime }
  TabControl1.ActiveTab := TabItem1;
end;

procedure TTabbedForm.FormGesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
{$IFDEF ANDROID}
  case EventInfo.GestureID of
    sgiLeft:
      begin
        if TabControl1.ActiveTab <> TabControl1.Tabs[TabControl1.TabCount - 1]
        then
          TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex + 1];
        Handled := True;
      end;

    sgiRight:
      begin
        if TabControl1.ActiveTab <> TabControl1.Tabs[0] then
          TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex - 1];
        Handled := True;
      end;
  end;
{$ENDIF}
end;




procedure TTabbedForm.Button1Click(Sender: TObject);
begin
  TTabbedForm.playSound(conSoundAlter);
end;

procedure TTabbedForm.playSound(DataLink);
 begin
  MediaPlayer1.FileName := DataLink;
  MediaPlayer1.Play;
 end;


end.
Hier mal der ganze Code.

Geändert von Sveni795 (19. Mär 2017 um 16:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#23

AW: Undeklarierter Bezeichner (MediaPlayer)

  Alt 19. Mär 2017, 16:42
Ich korrigiere den mal durch. Moment... Benutze bitte den Delphi Helm Button statt dem Code Button. Da hat man auch den Delphi Style...

Tipps:
* Benutze einen CodeFormatter bist du einigermaßen sicher bist.
* Verwende sprechende Namen. In 2 Monaten weißt du nicht mehr was Label245 ist.
* Die Variablen/ Namen haben keine Längenbegrenzung. Deshalb gibt es keine Notwendigkeit für Abkürzungen.

Delphi-Quellcode:
unit TabbedTemplate;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  System.Variants,
  FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.TabControl,
  FMX.StdCtrls, FMX.Gestures, FMX.Controls.Presentation, FMX.Media;

const
  conSoundAlter = 'C:\Users\Sven\Documents\Embarcadero\Studio\Projekte\Soundbord\Sounds\xx.mp3';

type
  TTabbedForm = class(TForm)
    HeaderToolBar: TToolBar;
    ToolBarLabel: TLabel;
    TabControl1: TTabControl; // bitte bessere Namen...automatisch mit Namensveränderung über den OI
    TabItem1: TTabItem; // bitte bessere Namen...automatisch mit Namensveränderung über den OI
    TabItem2: TTabItem; // bitte bessere Namen...automatisch mit Namensveränderung über den OI
    TabItem3: TTabItem; // bitte bessere Namen...automatisch mit Namensveränderung über den OI
    TabItem4: TTabItem; // bitte bessere Namen...automatisch mit Namensveränderung über den OI
    GestureManager1: TGestureManager; // bitte bessere Namen...automatisch mit Namensveränderung über den OI
    Button1: TButton; // bitte bessere Namen...automatisch mit Namensveränderung über den OI
    MediaPlayer1: TMediaPlayer; // bitte bessere Namen...automatisch mit Namensveränderung über den OI
    procedure FormCreate(Sender: TObject);
    procedure FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean);
    procedure Button1Click(Sender: TObject); // bitte bessere Namen...automatisch mit Namensveränderung über den OI
  private
    procedure PlaySound(DataLink: string); // hier fehlt der Parameter mit Typ .... Sichtbarkeit private besser
  public
    { Public declarations }
  end;

var
  TabbedForm: TTabbedForm;

implementation

{$R *.fmx}

procedure TTabbedForm.FormCreate(Sender: TObject);
begin
  { This defines the default active tab at runtime }
  TabControl1.ActiveTab := TabItem1;
end;

procedure TTabbedForm.FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
{$IFDEF ANDROID}
  case EventInfo.GestureID of
    sgiLeft:
      begin
        if TabControl1.ActiveTab <> TabControl1.Tabs[TabControl1.TabCount - 1] then // then gehört in die gleiche Zeile
        begin // begin/end ... besser auch wenn es bei einzeiligen Anweisungen nicht nötig ist
          TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex + 1];
        end;
        Handled := True;
      end;

    sgiRight:
      begin
        if TabControl1.ActiveTab <> TabControl1.Tabs[0] then
        begin // begin/end ... besser auch wenn es bei einzeiligen Anweisungen nicht nötig ist
          TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex - 1];
        end;
        Handled := True;
      end;
  end;
{$ENDIF}
end;

procedure TTabbedForm.Button1Click(Sender: TObject);
begin
  playSound(conSoundAlter);
  // TTabbedForm.playSound ist ganz falsch! Du greifst nicht auf die Instanzvariable, das wäre "TabbedForm"", zu sondern auf die Klasse.
  // da die Sichtbarkeit nun private ist kannst du das "TabbedForm" auch weglassen
end;

procedure TTabbedForm.playSound(DataLink: string);
begin // verschoben
  MediaPlayer1.FileName := DataLink;
  MediaPlayer1.Play;
end;

end.

Geändert von haentschman (19. Mär 2017 um 17:09 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#24

AW: Undeklarierter Bezeichner (MediaPlayer)

  Alt 19. Mär 2017, 17:02
Delphi-Quellcode:
procedure PlaySound;
// und
procedure TTabbedForm.playSound(DataLink);
Ist doch klar, dass das nicht funktioniert.
  Mit Zitat antworten Zitat
Sveni795

Registriert seit: 19. Mär 2017
6 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#25

AW: Undeklarierter Bezeichner (MediaPlayer)

  Alt 19. Mär 2017, 17:16
Vielen lieben Dank an alle.
Ich weiß ich muss noch eine Menge lernen!...

Ganz liebe Grüße und nochmals Danke für die Geduld
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#26

AW: Undeklarierter Bezeichner (MediaPlayer)

  Alt 19. Mär 2017, 17:25

Bitteschön. So lange du deinen Beitrag zu lernen leistest, wirst du hier immer kompetente Hilfe finden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   

 

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 09:07 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