Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi BassdllPlayer1.GetSongTimeInfo(stUp); ??? (https://www.delphipraxis.net/75984-bassdllplayer1-getsongtimeinfo-stup-%3B.html)

terra 28. Aug 2006 11:01


BassdllPlayer1.GetSongTimeInfo(stUp); ???
 
Hallöchen...

ich hätte da mal ein Problem.

Ich habe zumindest schonmal rausgefunden, wie die Funktion GetSongTimeInfo(); von der Komponente BasDllPlayer zugewiesen wird. Jetzt möchte ich die grade gespielte Zeit anzeigen lassen. Also "BassdllPlayer1.GetSongTimeInfo(stUp);". Jetzt habe ich mein Label, wo die Zeit angezeigt werden soll. Wie verbinde ich jetzt also beide Funktionen ???

Label3 := BassdllPlayer1.GetSongTimeInfo(stUp); geht nicht.

Könnt mir da bitte jemand helfen ???

Terra

Der_Unwissende 28. Aug 2006 14:31

Re: BassdllPlayer1.GetSongTimeInfo(stUp); ???
 
Hi und herzlich Willkommen in der DP :dp:

Die Funktion GetSongTimeInfo(stUp) liefert dir ein TBassSongInfo. Label3 ist nur die Referenz auf ein Label, die haben so also nicht viel mit einander gemeinsam (weswegen die Zuweisung scheitert).
An sich solltest du Label3 direkt nicht verändern. Unter dem Namen Label3 ist eigentlich nur die Adresse des Label gespeichert, änderst du hier etwas, würdest du nicht mehr auf das entsprechende Label zugreifen können. Das was du machen möchtest ist ein Zugriff auf die Eigenschaften des Labels. Welche Eigenschaften du hier ändern kannst siehst du in der Delphi Hilfe. Klick einfach auf das label und drück F1. Wenn du den angezeigten Text ändern willst heißt die gesuchte Eigenschaft Caption. Das findest du auch leich im Objektinspektor wieder. Dies ist der Kasten, der dir zur Designzeit alle Eigenschaften und Ereignisse anzeigt.
Eine Caption ist immer ein String (also eine Zeichenkette). Auch der ist kein TBassSongInfo, auch hier klappt die Zuweisung also nicht direkt.
Ein TBassSongInfo ist wie gesagt ein Record. Records setzen sich aus mehr als einem Datum zusammen. In diesem Fall findest du folgende Struktur:
Delphi-Quellcode:
TBassSongInfo = record
  asString:string;
  asInteger:integer;
end;
Wie du hier siehst, besteht das Record aus einem String und einem Integer. Gut, da du eh einen String möchtest, kannst du hier diesen direkt verwenden:

Delphi-Quellcode:
label3.Caption := BassdllPlayer1.GetSongTimeInfo(stUp).asString;
Das ganze ist jetzt schon alles. Der linke Teil sagt, dass du die Variable/Eigenschaft (das ist für dich transparent) Caption ändern möchtest. BassDllPlayer1.GetSongTimeInfor(stUp) liefert dir ein TBassSongInfo und hier nimmst du das Datum as String. Hier wird jetzt einer Eigenschaft die ein String ist auch ein String zugewiesen, alles super!

Gruß Der Unwissende


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 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