Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Заставить приложение загружать и проигрывать звуковой файл

Советы » Аудио » Заставить приложение загружать и проигрывать звуковой файл

  1. Для проигрывания звукового файла используйте непосредственно функцию sndPlaySound().
  2. Считывайте звуковой файл в память, затем для его проигрывания используйте sndPlaySound()
  3. Используйте sndPlaySound для непосредственного проигрывания звуковых файлов, расположенных в файлах ресурсов, прилинкованных к вашему приложению.
  4. Считывайте звуковой файл, располагаемый в файле ресурса, прилинкованному к вашему приложению, в память, и затем для его проигрывания используйте sndPlaySound().

Для построения проекта вам понадобиться:

  1. Создайте звуковой файл с именем 'hello.wav' в каталоге проекта.
  2. Создайте текстовый файл с именем 'snddata.rc' в каталоге проекта.
  3. Добавьте следующую строку к файлу 'snddata.rc': HELLO WAVE hello.wav
  4. В dos-сессии перейдите в ваш каталог приложения и скомпилируйте .rc-файл, используя компилятор ресурсов Borland (brcc32.exe): введите путь к brcc32.exe и передайте 'snddata.rc' в качестве параметра.

Пример:

bin rcc32 snddata.rc

Это создаст файл 'snddata.res', который Delphi слинкует с EXE-файлом вашего приложения.

Далее приведен необходимый вам код:

unit

PlaySnd1; interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type

TForm1 = class

(TForm) PlaySndFromFile: TButton; PlaySndFromMemory: TButton; PlaySndbyLoadRes: TButton; PlaySndFromRes: TButton; procedure

PlaySndFromFileClick(Sender: TObject); procedure

PlaySndFromMemoryClick(Sender: TObject); procedure

PlaySndFromResClick(Sender: TObject); procedure

PlaySndbyLoadResClick(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end

; var

Form1: TForm1; implementation

{$R *.DFM} {$R snddata.res} uses

MMSystem; procedure

TForm1.PlaySndFromFileClick(Sender: TObject); begin

sndPlaySound('hello.wav', SND_FILENAME or

SND_SYNC); end

; procedure

TForm1.PlaySndFromMemoryClick(Sender: TObject); var

f: file

; p: pointer; fs: integer; begin

AssignFile(f, 'hello.wav'); Reset(f, 1); fs := FileSize(f); GetMem(p, fs); BlockRead(f, p^, fs); CloseFile(f); sndPlaySound(p, SND_MEMORY or

SND_SYNC); FreeMem(p, fs); end

; procedure

TForm1.PlaySndFromResClick(Sender: TObject); begin

PlaySound('HELLO', hInstance, SND_RESOURCE or

SND_SYNC); end

; procedure

TForm1.PlaySndbyLoadResClick(Sender: TObject); var

h: THandle; p: pointer; begin

h := FindResource(hInstance, 'HELLO', 'WAVE'); h := LoadResource(hInstance, h); p := LockResource(h); sndPlaySound(p, SND_MEMORY or

SND_SYNC); UnLockResource(h); FreeResource(h); end

; end

.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com