![]() |
Anzahl der Panels auf Form aus Textdatei und....
Guten Abend...
Wie kann ich die Anzahl der Panels auf einer Form aus einer Textdatei bestimmen. noch dazu die einzelnen Panels mit einem bestimmten Sound (Wave) hinterlegen und hintereinander abspielen? Wäre für jeden Tip dankbar. Horst |
Re: Anzahl der Panels auf Form aus Textdatei und....
Auch einen schönen guten Abend.
Im Moment verstehe ich nicht ganz, was du machen möchtest. :( Könntest du uns vielleicht ein paar mehr infos geben, dann bin ich sicher, kann dir wer helfen. Man liest sich, Stanlay :hi: |
Re: Anzahl der Panels auf Form aus Textdatei und....
nochmal bitte :shock:
|
Re: Anzahl der Panels auf Form aus Textdatei und....
HI...
Z.B. Ich hoffe ich kann es nun besser erklären. ich habe z.b. eine Textdatei (oder ini) in dieser Datei steht z.b. Panel1,a.wav;Panel2,b.wav,Panel3,a.wav Panel1,c.wav;Panel2,d.wav,Panel3,c.wav usw... Wenn ich auf der Form einen Button klicke, dann soll die erste Zeile aus der Datei gelesen werden und die Panels (und die dahinterliegenen Sounds) in meine Form eingebunden werden, und alles Sounds hintereinander abgespielt werden. Ohje, ich hoffe es versteht mich jetzt jemand ;) |
Re: Anzahl der Panels auf Form aus Textdatei und....
hi horst,
such mal nach TIniFile und ReadSection bzw. ReadSectionValues. dann noch ![]() mfG mirage228 |
Re: Anzahl der Panels auf Form aus Textdatei und....
Zitat:
Delphi-Quellcode:
und dann noch etwas mit pos und dynamischen arrays rumspielen.(Komponenten dynamisch erzeugen usw.)
var
Datei : TextFile; Zeile,Inhaltstring : string; [...] if OpenDialog.Execute then begin AssignFile (Datei,OpenDialog.Filename); reset(Datei); while not eof(Datei) do begin Readln(Datei, Zeile); Inhaltstring := Inhaltstring + Zeile; end; CloseFile(Datei); //Inhaltstring irgendwie anzeigen So ganz leicht wird das aber nicht. Was willst du den machen vieleicht giebt es eine einfachere Lösung. |
Re: Anzahl der Panels auf Form aus Textdatei und....
Zu dem "Zuordnen einer Wave Datei" könntest du zum Beispiel beim dynamischen Erstelln des jeweiligen Panels die Eigenschaft "Tag" auf einen bestimmten Wert setzen.
Also z.B. a.wav = 1, b.wav = 2 c.wav = 3 usw... Das mit dem Abspielen....hmmm...bin mir nicht sicher, wie das mit dem hintereinander abspielen geht, man müsste ja warten, bis die eine Datei fertig is. Wenns dir nix ausmacht, könntest du vielleicht den Zweck deines Progs verraten, dann kommt man vielleicht leichter auf ne Lösung. (Eigentlich nur, für was das mit dem Abspielen gut sein soll, wann das Abspielen anfangen soll etc. (Keine Betriebsgeheimnisse :wink:)) Man liest sich, Stanlay :hi: |
Re: Anzahl der Panels auf Form aus Textdatei und....
Hallo...
die panels sollen töne darstellen. es sind zwei reihen panels in je einer groupbox zu sehen. eine reihe mit den panels stimmt mit den tonfolge/höhe überein. die andere nicht. wenn der user dann die richtige groupbox anklick kann mit button die nächsten panels(übung) geladen werden. so ungefähr soll das aussehen: ![]() |
Re: Anzahl der Panels auf Form aus Textdatei und....
Du willst also quasi so eine Art "Musik Prüfsoftware" schreiben, wo man die Panels einer Tonfolge zuordnen kann.
Hmmm...also das beste (meiner Meinung nach) wäre ja: 1. Die Panels erzeugen und, wie schon vorher erwähnt, für jeden Ton, dem entsprechenden Panel einen anderen Tag zuweisen. 2. Mit FindComponent und einer For Schleife alle Panels durchgehen 3. In dieser Schleife dann die Wave Dateien wiedergeben. (evt. mit einer TMediaplayer Komponente, ich glaube, da kann man auch evt. eine art Playlist angeben, dann wäre das Problem nicht, dass man warten muss, bis die vorige Datei zu ende gespielt ist (?)). Man liest sich, Stanlay :hi: |
Re: Anzahl der Panels auf Form aus Textdatei und....
Genau...
nur wie mache ich das mit dem dynamischen erzeugen der Komponenten aus der ini datei, auch mit den Musikdateien?
Delphi-Quellcode:
Procedure TForm1.Panelmachen;
var APanel: TPanel; Begin Anz := Pos(','stringausini)+1; ??? for I := 1 to Anz APanel:=TPanel.Create(self); APanel.Parent:=self; APanel.Caption:=''; APanel.Visible:=True; End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 Uhr. |
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 by Thomas Breitkreuz