Witam. Mam problem w postaci zapisywania do pliku, a mianowicie chodzi o to, że program polega na tym, iż wgrywamy piosenkę i możemy z niej "wyciąć" interesujący nas fragment i zapisać do odrębnego pliku. Jednak tutaj pojawia się mój problem. Nie wiem jak zapisać ten wycięty fragment piosenki do pliku? Tutaj jest cały kod:
unit knif;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, MPlayer, ExtCtrls, Math;
type
TForm1 = class(TForm)
prezentacja: TEdit;
PLAY: TButton;
STOP: TButton;
PAUSE: TButton;
OPEN: TButton;
SAVE: TButton;
CLIPINFORMATION: TGroupBox;
beginposition: TEdit;
endposition: TEdit;
lenght: TEdit;
SS: TButton;
SE: TButton;
TrackBar1: TTrackBar;
CURRENTTIME: TGroupBox;
currenttim: TEdit;
OpenDialog1: TOpenDialog;
muza: TMediaPlayer;
Label1: TLabel;
Timer1: TTimer;
SaveDialog1: TSaveDialog;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure OPENClick(Sender: TObject);
procedure PLAYClick(Sender: TObject);
procedure STOPClick(Sender: TObject);
procedure PAUSEClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure muzaClick(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
procedure SAVEClick(Sender: TObject);
procedure SSClick(Sender: TObject);
procedure SEClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure CLIPINFORMATIONClick(Sender: TObject);
procedure beginpositionChange(Sender: TObject);
procedure endpositionChange(Sender: TObject);
procedure Label2Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure Label4Click(Sender: TObject);
procedure lenghtChange(Sender: TObject);
procedure CURRENTTIMEClick(Sender: TObject);
procedure currenttimChange(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure prezentacjaChange(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x :real;
y : real;
koniec : real;
poczatek : real;
z : string;
implementation
{$R *.dfm}
procedure TForm1.OPENClick(Sender: TObject);
begin
try
if Opendialog1.Execute then begin
PLAY.Enabled := true;
STOP.Enabled := true;
PAUSE.Enabled := true;
end;
except
end;
end;
procedure TForm1.PLAYClick(Sender: TObject);
begin
muza.FileName := OpenDialog1.FileName;
muza.open;
TrackBar1.Max := muza.Length;
muza.play;
SS.Enabled := true;
SE.Enabled := true;
end;
procedure TForm1.STOPClick(Sender: TObject);
begin
muza.FileName := OpenDialog1.FileName;
muza.open;
TrackBar1.Max := muza.Length;
muza.Stop;
end;
procedure TForm1.PAUSEClick(Sender: TObject);
begin
muza.FileName := OpenDialog1.FileName;
muza.open;
TrackBar1.Max := muza.Length;
muza.Pause;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
PLAY.Enabled := false;
STOP.Enabled := false;
PAUSE.Enabled := false;
SS.Enabled := false;
SE.Enabled := false;
SAVE.Enabled := false;
end;
procedure TForm1.muzaClick(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
muza.FileName := OpenDialog1.FileName;
muza.open;
end;
procedure TForm1.SAVEClick(Sender: TObject);
begin
x := koniec-poczatek;
z := FloatToStr(x);
SaveDialog1.FileName := 'alarm.mp3';
SaveDialog1.execute;
end;
procedure TForm1.SSClick(Sender: TObject);
begin
poczatek := muza.Position/1000;
Label2.Caption := FloatToStr(RoundTo(poczatek,0));
if StrToFloat(Label4.Caption) > 0 then SAVE.Enabled := true;
end;
procedure TForm1.SEClick(Sender: TObject);
begin
koniec := muza.Position/1000;
Label3.Caption := FloatToStr(RoundTo(koniec,0));
Label4.Caption := FloatToStr(RoundTo(koniec-poczatek,0));
if StrToFloat(Label4.Caption) > 0 then SAVE.Enabled := true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
y := muza.Position/1000;
TrackBar1.Position := muza.Position;
Label1.Caption := FloatToStr(RoundTo(y,0));
end;
procedure TForm1.CLIPINFORMATIONClick(Sender: TObject);
begin
end;
procedure TForm1.beginpositionChange(Sender: TObject);
begin
end;
procedure TForm1.endpositionChange(Sender: TObject);
begin
end;
procedure TForm1.Label2Click(Sender: TObject);
begin
end;
procedure TForm1.Label3Click(Sender: TObject);
begin
end;
procedure TForm1.Label4Click(Sender: TObject);
begin
end;
procedure TForm1.lenghtChange(Sender: TObject);
begin
end;
procedure TForm1.CURRENTTIMEClick(Sender: TObject);
begin
end;
procedure TForm1.currenttimChange(Sender: TObject);
begin
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
end;
procedure TForm1.prezentacjaChange(Sender: TObject);
begin
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
end;
end.