AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

randomize

Ein Thema von sunrise · begonnen am 24. Okt 2008 · letzter Beitrag vom 24. Okt 2008
Antwort Antwort
sunrise

Registriert seit: 20. Jan 2008
15 Beiträge
 
Delphi 6 Enterprise
 
#1

randomize

  Alt 24. Okt 2008, 18:37
Hallo

Kleine frage zu randomize. ich habe hier diese Mediaplayer procedur die eine resource datei abspielt
Delphi-Quellcode:
procedure test;
   var
 rStream: TResourceStream;
 fStream: TFileStream;
 fname: string;
 begin

 fname := ExtractFileDir(Paramstr(0))+'test1.mp3';
 rStream := TResourceStream.Create(hInstance, 'test1', RT_RCDATA) ;
 try
  fStream := TFileStream.Create(fname, fmCreate) ;
  try
   fStream.CopyFrom(rStream, 0) ;
  finally
   fStream.Free;
  end;
 finally
  rStream.Free;
 end;

 MediaPlayer1.Close;
 MediaPlayer1.FileName:=fname;
 MediaPlayer1.Open;
 MediaPlayer1.Play;

     end;
Dazu habe ich 16 Resourcen ,jede resource ist eine kleine Audio datei. Wie kann ich nun via Randomize die prozedur umschreiben das jedesmal eine andere resource datei abgespielt wird?
Stehe gerade echt auf dem schlauch. Hoffe jemand von euch kann mir weiterhelfen...

[edit=SirThornberry]Code-Tags durch Delphi-Tags ersetzt - nächstes mal bitte die richtigen Tags verwenden - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

Re: randomize

  Alt 24. Okt 2008, 18:47
Hallo,

meinst Du sowas?
fname := ExtractFileDir(Paramstr(0))+'test' + IntToStr(Random(15) + 1) + '.mp3';
  Mit Zitat antworten Zitat
sunrise

Registriert seit: 20. Jan 2008
15 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: randomize

  Alt 24. Okt 2008, 18:54
Hallo

danke für deine antwort.hm... eigentlich auch nicht schlecht.Aber dein code würde davon ausgehen das sich alle audio dateien in dem ordner befinden. Ich habe sie als resourcen im projekt.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

Re: randomize

  Alt 24. Okt 2008, 18:57
Schön, dann eben so:
rStream := TResourceStream.Create(hInstance, 'test' + IntToStr(Randomize(15) + 1), RT_RCDATA); Und wofür ist fName in Deinem Quelltext?
  Mit Zitat antworten Zitat
Benutzerbild von MSSSSM
MSSSSM

Registriert seit: 18. Apr 2008
223 Beiträge
 
Delphi 7 Professional
 
#5

Re: randomize

  Alt 24. Okt 2008, 19:12
Der will das wohl temporäer entpacken.
Marius
  Mit Zitat antworten Zitat
sunrise

Registriert seit: 20. Jan 2008
15 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: randomize

  Alt 24. Okt 2008, 19:19
jap, fname steht für filename.
Ich bekomme bei deinem Code einen Error "nahpets". Delphi6: too many actual parameters.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

Re: randomize

  Alt 24. Okt 2008, 19:24
Sorry muss random und nicht randomize heißen.

Aber wenn Du die Recource entpackst, solltet Du nur einen Zufall einbauen:

Delphi-Quellcode:
Var
  sZufall : string;

begin
...
  sZufall := 'test' + IntToStr(Random(15) + 1);
  rStream := TResourceStream.Create(hInstance, sZufall, RT_RCDATA) ;
  fname := ExtractFileDir(Paramstr(0))+sZufall + '.mp3';
...
  Mit Zitat antworten Zitat
sunrise

Registriert seit: 20. Jan 2008
15 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: randomize

  Alt 24. Okt 2008, 19:54
Vielen dank...

Ich verstehe das nicht, warum bekomme ich nun error,s von wegen , res. not found....
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: randomize

  Alt 24. Okt 2008, 20:33
Groß- und Kleinschreibung beachtet?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:30 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