I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
I mine programmer anvender jeg en RTF-fil til at indeholde information om programmet (til visning i programmets About-box). Denne linker jeg direkte ind i EXE filen, for (som du siger) at slippe for at \"slæbe\" rundt med en ekstern file.
Lav en .RC fil som evt, ser ud som flg.: <SNIP> resVersionHistory RT_RCDATA VersionHistory.rtf </SNIP>
Denne tilføjes til dit project, og fortæller at den eksterne fil (\"VersionHistory.rft\") skal tilføjes resourcen, som igen linkes ind i EXE filen. Nedenstående vises hvordan jeg loader denne RTF ind og viser den i programmets aboutbox (du skal sikkert gøre noget tilsvarende for afspille din WAV): <SNIP> var RS: TResourceStream; begin RS := TResourceStream.Create(HInstance, \'resVersionHistory\', \'RT_RCDATA\'); try RichEdit1.Lines.LoadFromStream(RS); finally RS.Free; end; end; </SNIP>
martinlind <<< kan du ikke uddybe det lidt ? Hvordan opretter man en resource ud fra en wave fil? Og hvordan får man en TMediaPlayer til at spille den ?
TMediaPlayer ser ikke ud til at have en LoadFromStream method ... Er der eventuelt nogen andre komponenter, der kan bruges til afspille wave filer i et Delphi program ?
procedure playwavestream(Stream : TMemoryStream); begin if Stream = nil then sndPlaySound(nil,SND_ASYNC) else sndPlaySound(Stream.Memory, (SND_ASYNC or SND_MEMORY)); end; </SNIP>
Og den her: <SNIP> You need a resource compiler (i. E. Resource Workshop ) and add an user-defined-resource WAVE. You can play the resource-file in your program using
var FindHandle, ResHandle: THandle; ResPtr: Pointer; begin FindHandle:=FindResource(HInstance, \'<Name of your Ressource>\', \'WAVE\'); if FindHandle<>0 then begin ResHandle:=LoadResource(HInstance, FindHandle); if ResHandle<>0 then begin ResPtr:=LockResource(ResHandle); if ResPtr<>Nil then SndPlaySound(PChar(ResPtr), snd_ASync or snd_Memory); UnlockResource(ResHandle); end; FreeResource(FindHandle); end; end; </SNIP>
pellelil <<< tak, det kører bare. Du ved vel tilfældigvis, hvordam man styrer lydstyrken fra et Delphi program ? Jeg kan styre waveOut, men ikke overordnet lydstyrke. Jeg kan heller ikke tjekke, om \"Mute\" er slået til eller ej.
slowaterz> Der bliver jeg dig svar skyldig da jeg endnu har til gode at \"rode med lyd\" under Delphi, men prøv at kigge her: http://www.torry.net/mixer.htm
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.