unit Unit1;
interface
uses
ShellApi, Registry, ActiveX, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, MPlayer, sBitBtn, StdCtrls, sButton, sSkinProvider, sSkinManager,
ExtCtrls, sScrollBar, sLabel, sAlphaListBox, Gauges, ComCtrls, IBCtrls,
TabNotBk, DBCtrls, OleServer, AccessXP, Menus, Grids,
DirOutln, mmsystem, CommCtrl, ShlObj, sPanel, sCheckBox, sGauge, ImgList;
type
TForm1 = class(TForm)
sSkinManager1: TsSkinManager;
sSkinProvider1: TsSkinProvider;
sButton1: TsButton;
sButton2: TsButton;
sButton3: TsButton;
sButton4: TsButton;
sBitBtn1: TsBitBtn;
OpenDialog1: TOpenDialog;
MediaPlayer1: TMediaPlayer;
tr: TsScrollBar;
Timer1: TTimer;
sLabel1: TsLabel;
sLabel2: TsLabel;
ListBox1: TsListBox;
ListBox2: TsListBox;
sButton5: TsButton;
OpenDialog2: TOpenDialog;
tr2: TsScrollBar;
sLabel3: TsLabel;
sLabel4: TsLabel;
Timer2: TTimer;
sButton8: TsButton;
MainMenu1: TMainMenu;
Ayarlar1: TMenuItem;
MP3Se1: TMenuItem;
Oynat1: TMenuItem;
Duraklar1: TMenuItem;
Durdur1: TMenuItem;
Kapat1: TMenuItem;
ListeyeMP3Al1: TMenuItem;
Hakknda1: TMenuItem;
SkinSe1: TMenuItem;
Skinler1: TMenuItem;
MaviGzellik1: TMenuItem;
McOS1: TMenuItem;
sButton9: TsButton;
sLabel6: TsLabel;
sLabel7: TsLabel;
sLabel8: TsLabel;
Koyu1: TMenuItem;
Vsta1: TMenuItem;
sPanel1: TsPanel;
OpenDialog3: TOpenDialog;
rep: TsButton;
Timer4: TTimer;
norep: TsButton;
sLabel9: TsLabel;
pp: TTimer;
p6: TProgressBar;
p5: TProgressBar;
p4: TProgressBar;
p3: TProgressBar;
p2: TProgressBar;
p1: TProgressBar;
p9: TProgressBar;
p8: TProgressBar;
p7: TProgressBar;
pp2: TTimer;
dd: TTimer;
Mavi1: TMenuItem;
Buz1: TMenuItem;
Elegant1: TMenuItem;
DoalSkin41: TMenuItem;
NextAlphaSkin1: TMenuItem;
YeilDizayn1: TMenuItem;
sButton10: TsButton;
Label4: TsLabel;
sLabel10: TsLabel;
sLabel11: TsLabel;
Label2: TsLabel;
Label3: TsLabel;
listrep: TTimer;
sButton11: TsButton;
sButton12: TsButton;
Yardm1: TMenuItem;
KsayolTular1: TMenuItem;
sButton13: TsButton;
sButton14: TsButton;
Timer3: TTimer;
sButton15: TsButton;
SaveDialog1: TSaveDialog;
SaveDialog2: TSaveDialog;
asd: TTimer;
Timer5: TTimer;
Timer6: TTimer;
denet: TTimer;
Timer8: TTimer;
sLabel5: TsLabel;
sLabel12: TsLabel;
sButton7: TsBitBtn;
sButton6: TsBitBtn;
MiniOynatcyaGe1: TMenuItem;
procedure sButton1Click(Sender: TObject);
procedure sBitBtn1Click(Sender: TObject);
procedure sButton3Click(Sender: TObject);
procedure sButton2Click(Sender: TObject);
procedure sButton4Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure trChange(Sender: TObject);
procedure sButton5Click(Sender: TObject);
procedure ListBox2DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure tr2Change(Sender: TObject);
procedure sButton8Click(Sender: TObject);
procedure MP3Se1Click(Sender: TObject);
procedure Oynat1Click(Sender: TObject);
procedure Duraklar1Click(Sender: TObject);
procedure Durdur1Click(Sender: TObject);
procedure ListeyeMP3Al1Click(Sender: TObject);
procedure Kapat1Click(Sender: TObject);
procedure ListBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Hakknda1Click(Sender: TObject);
procedure sButton9Click(Sender: TObject);
procedure MaviGzellik1Click(Sender: TObject);
procedure McOS1Click(Sender: TObject);
procedure Koyu1Click(Sender: TObject);
procedure Vsta1Click(Sender: TObject);
procedure repClick(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure FindFiles(StartDir, FileMask: string);
procedure norepClick(Sender: TObject);
procedure ppTimer(Sender: TObject);
procedure pp2Timer(Sender: TObject);
procedure ddTimer(Sender: TObject);
procedure Mavi1Click(Sender: TObject);
procedure Buz1Click(Sender: TObject);
procedure Elegant1Click(Sender: TObject);
procedure DoalSkin41Click(Sender: TObject);
procedure NextAlphaSkin1Click(Sender: TObject);
procedure YeilDizayn1Click(Sender: TObject);
procedure WMDROPFILES(var TheMessage: TWMDROPFILES);
message WM_DROPFILES;
procedure sButton10Click(Sender: TObject);
procedure listrepTimer(Sender: TObject);
procedure sButton11Click(Sender: TObject);
procedure sButton12Click(Sender: TObject);
procedure KsayolTular1Click(Sender: TObject);
procedure sButton13Click(Sender: TObject);
procedure sButton14Click(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure sLabel6Click(Sender: TObject);
procedure sLabel7Click(Sender: TObject);
procedure sLabel8Click(Sender: TObject);
procedure sButton15Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure asdTimer(Sender: TObject);
procedure Timer6Timer(Sender: TObject);
procedure Timer5Timer(Sender: TObject);
procedure denetTimer(Sender: TObject);
procedure Timer8Timer(Sender: TObject);
procedure SimgeDurumunaKlt1Click(Sender: TObject);
procedure sSkinManager1AfterChange(Sender: TObject);
procedure AppException(Sender: TObject; E: Exception);
procedure sLabel5Click(Sender: TObject);
procedure sLabel12Click(Sender: TObject);
procedure sButton6Click(Sender: TObject);
procedure sButton7Click(Sender: TObject);
procedure ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure ListBox2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure ListBox2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ListBox2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ListBox2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure MiniOynatcyaGe1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
il,i:integer;
liste:TStringList;
ii: integer;
a,Calinan: String;
secili: boolean;
s:string;
r:real;
IsScrolled: boolean;
const
MCI_SETAUDIO = $0873;
MCI_DGV_SETAUDIO_VOLUME = $4002;
MCI_DGV_SETAUDIO_ITEM = $00800000;
MCI_DGV_SETAUDIO_VALUE = $01000000;
MCI_DGV_STATUS_VOLUME = $4019;
X:Integer=0;
ColorCount = 16; //Renk sayısı
//Aşağıda renk adları
Colors: array [0..ColorCount-1] of TColor = (
clBlack, clMaroon, clGreen, clOlive, clNavy, clPurple, clTeal, clGray,
clSilver, clRed, clLime, clYellow, clBlue, clFuchsia, clAqua, clWhite);
type
MCI_DGV_SETAUDIO_PARMS = record
dwCallback: DWORD;
dwItem: DWORD;
dwValue: DWORD;
dwOver: DWORD;
lpstrAlgorithm: PChar;
lpstrQuality: PChar;
end;
type
MCI_STATUS_PARMS = record
dwCallback: DWORD;
dwReturn: DWORD;
dwItem: DWORD;
dwTrack: DWORD;
end;
implementation
uses Unit2, Unit3, Unit4, Unit6;
{$R *.dfm}
procedure TForm1.AppException(Sender: TObject; E: Exception);
begin
NoErrMsg:=(True);
Application.ShowException(E);
MESSAGEBOX(HANDLE,PCHAR('Bilinmeyen Hata Oluştu Data Dosyaların zarar görmemesi için Program Kapatıldı.'),'Programda Dosya Koruması Var Üzgünüm',MB_ICONERROR);
Application.Terminate;
end;
procedure TForm1.WMDROPFILES(var TheMessage: TWMDROPFILES);
var
a:string;
FileName : array[0..MAX_PATH] of char;
begin
Listbox1.clear;
Listbox2.clear;
// Sürüklenen Dosyanın ismini,yolunu al
DragQueryFile(TheMessage.Drop, 0, FileName, 300);
ListBox1.Items.Add((filename));
for i := 0 to listBox1.Items.Count-1 do
begin
ListBox2.Items.Add(ExtractFileName(listBox1.Items.Strings[i]));
end;
end;
function GetDirectorySize(const ADirectory: string): Integer;
var
Dir: TSearchRec;
Ret: integer;
Path: string;
begin
Result := 0;
Path := ExtractFilePath(ADirectory);
Ret := Sysutils.FindFirst(ADirectory, faAnyFile, Dir);
if Ret <> NO_ERROR then
exit;
try
while ret=NO_ERROR do
begin
inc(Result, Dir.Size);
if (Dir.Attr in [faDirectory]) and (Dir.Name[1] <> '.') then
Inc(Result, GetDirectorySize(Path + Dir.Name + '\*.*'));
Ret := Sysutils.FindNext(Dir);
end;
finally
Sysutils.FindClose(Dir);
end;
end;
function GetAppPath: string;
begin
Result := ExtractFilePath(Application.ExeName);
if Result[Length(Result)] <> '\data\liste.cmpls' then
Result := Result + '\data\data2.data';
end;
function GetAppPath3: string;
begin
Result := ExtractFilePath(Application.ExeName);
if Result[Length(Result)] <> '\data\' then
Result := Result + '\data\';
end;
function GetAppPath4: string;
begin
Result := ExtractFilePath(Application.ExeName);
if Result[Length(Result)] <> '\data\skin.data' then
Result := Result + '\data\skin.data';
end;
function GetAppPath2: string;
begin
Result := ExtractFilePath(Application.ExeName);
if Result[Length(Result)] <> '\data\liste_.cmpls' then
Result := Result + '\data\data1._data';
end;
function GetAppPath5: string;
begin
Result := ExtractFilePath(Application.ExeName);
if Result[Length(Result)] <> '\data\' then
Result := Result + '\data\';
end;
//Function to get wave volume
function getwavevolume:byte;
var
Volume: DWord;
MyWaveOutCaps: TWaveOutCaps;
vol:real;
s:string;
begin
if WaveOutGetDevCaps(WAVE_MAPPER,@MyWaveOutCaps,sizeof(MyWaveOutCaps))=MMSYSERR_NOERROR then
//Just make sure your wave device is not error,you can get wave volume without use WaveOutGetDevCaps
begin
WaveOutGetVolume(WAVE_MAPPER, @Volume);//Main code to get wave volume
vol:=(Volume div 65537 div 257);
s:=floattostr(int(vol));
getwavevolume:=strtoint(s);
end;
end;
function randomNumber(LBound, HBound: Integer):Integer;
begin
randomize;
Result := LBound + random(HBound - LBound + 1);
end;
//Function to set wave volume
function setwavevolume(volume:DWord):Dword;
var vol:integer;
MyWaveOutCaps: TWaveOutCaps;
begin
vol:=(volume)*65537*257;
if WaveOutGetDevCaps(WAVE_MAPPER,@MyWaveOutCaps,sizeof(MyWaveOutCaps))=MMSYSERR_NOERROR then
//Just make sure your wave device is not error,you can set wave volume without use WaveOutGetDevCaps
begin
WaveOutSetVolume(WAVE_MAPPER, MakeLong(vol, vol));//Main code to set wave volume
end;
end;
function MilliSecondsToString(MilliSeconds: integer): string;
var i1, i2: integer;
begin
i1:=(MilliSeconds div 1000) div 60;
i2:=(MilliSeconds div 1000)-(i1*60);
Result:=FormatFloat('00',i1)+':'+FormatFloat('00',i2);
end;
//ses açma kapama
procedure SetMediaAudioOff(DeviceID : word);
var
SetParm : TMCI_SET_PARMS;
begin
SetParm.dwAudio := MCI_SET_AUDIO_ALL;
mciSendCommand(DeviceID,
MCI_SET,
MCI_SET_AUDIO or MCI_SET_OFF,
Longint(@SetParm));
end;
//ses kapama
Procedure SetMediaAudioOn(DeviceID : word);
var
SetParm : TMCI_SET_PARMS;
begin
SetParm.dwAudio := MCI_SET_AUDIO_ALL;
mciSendCommand(DeviceID,
MCI_SET,
MCI_SET_AUDIO or MCI_SET_ON,
Longint(@SetParm));
end;
////ses kartı kontrol
Function IsSoundCardInstalled(): Boolean;
Begin
Result:=(waveOutGetNumDevs>0);
end;
procedure TForm1.FindFiles(StartDir, FileMask: string);
var
sayi:Word;
i:integer;
SR: TSearchRec;
DirList: TStringList;
IsFound: Boolean;
begin
if StartDir[length(StartDir)] <> '\' then
StartDir := StartDir + '\';
IsFound :=
FindFirst(StartDir+FileMask, faAnyFile-faDirectory, SR) = 0;
while IsFound do begin
// ListBox2.Items.Add(listBox1.Items.Strings[i]);
listbox1.items.Add(StartDir + SR.Name);
ListBox2.Items.Add(SR.Name);
IsFound := FindNext(SR) = 0;
end;
FindClose(SR);
DirList := TStringList.Create;
IsFound := FindFirst(StartDir+'*.*', faAnyFile, SR) = 0;
while IsFound do begin
if ((SR.Attr and faDirectory) <> 0) and
(SR.Name[1] <> '.') then
DirList.Add(StartDir + SR.Name);
IsFound := FindNext(SR) = 0;
end;
FindClose(SR);
for i := 0 to DirList.Count-1 do
FindFiles(DirList[i], FileMask);
DirList.Free;
end;
procedure TForm1.sButton1Click(Sender: TObject);
begin
////////////////////////////////////////////////////
if OpenDialog1.Execute then
begin
MediaPlayer1.Close;
MediaPlayer1.FileName:=OpenDialog1.FileName;
MediaPlayer1.Open;
sButton3.Visible:=(False);
sButton2.Visible:=(True);
sButton2.Enabled:=(True);
sButton4.Enabled:=(True);
Oynat1.Enabled:=(True);
Duraklar1.Enabled:=(True);
Durdur1.Enabled:=(True);
end;
//////////////////////////////////////////////////
end;
procedure TForm1.sBitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.sButton3Click(Sender: TObject);
begin
MediaPlayer1.Pause;
sButton3.Visible:=(False);
sButton2.Visible:=(True);
pp.Enabled:=(false);
denet.Enabled:=(false);
end;
procedure TForm1.sButton2Click(Sender: TObject);
begin
MediaPlayer1.Play;
sButton3.Visible:=(True);
sButton2.Visible:=(False);
tr.Enabled:=(True);
tr.Max := MediaPlayer1.Length;
timer1.Enabled:=(True);
rep.Enabled:=(True);
pp.Enabled:=(True);
pp2.Enabled:=(True);
dd.Enabled:=(True);
if opendialog1.FileName = '' Then begin
slabel2.Caption:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
application.Title:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
asd.Enabled:=(True);
denet.Enabled:=(True);
end else begin
slabel2.Caption:=ExtractFileName(opendialog1.FileName)+' - ';
application.Title:=ExtractFileName(opendialog1.FileName)+' - ';
asd.Enabled:=(True);
denet.Enabled:=(True);
end;
end;
procedure TForm1.sButton4Click(Sender: TObject);
begin
MediaPlayer1.Stop;
MediaPlayer1.Close;
sButton3.Visible:=(False);
MediaPlayer1.Open;
sButton2.Visible:=(True);
pp.Enabled:=(false);
denet.Enabled:=(false);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
tr.OnChange := nil;
tr.Position := MediaPlayer1.Position;
tr.OnChange := trChange;
label3.Caption:=MilliSecondsToString(Mediaplayer1.Length);
label4.Caption:=MilliSecondsToString(mediaplayer1.Length-mediaplayer1.Position);
Label2.Caption:=MilliSecondsToString(mediaplayer1.position);
end;
procedure TForm1.trChange(Sender: TObject);
begin
pp.Enabled:=(false);
mediaplayer1.Pause;
mediaplayer1.Position:=tr.Position;
mediaplayer1.Play;
pp.Enabled:=(True);
end;
procedure TForm1.sButton5Click(Sender: TObject);
var BI:TBrowseInfo;
Buf:PChar;
Dir,Root:PItemIDList;
Alloc:IMalloc;
begin
SHGetMalloc(Alloc);
Buf:=Alloc.Alloc(Max_Path);
// Bu satir aranacak dizinleri sinirlar.
SHGetSpecialFolderLocation(Handle,CSIDL_PROGRAMS,Root);
with BI do
begin
hwndOwner:=Form1.Handle;
pidlRoot:=nil; // Eger Nil olursa, bütün dizinler
// görüntülenir.
pszDisplayName:=Buf;
lpszTitle:=' Istediginiz dizini seciniz';
ulFlags:=0;
lpfn:=nil;
end;
try
Dir:=SHBrowseForFolder(BI);
if Dir<>Nil then
begin
SHGetPathFromIDList(Dir,Buf); // Istenen dizinin tam adi
slabel1.Visible:=(True);
slabel2.Visible:=(True);
//listbox2.clear;
//listbox1.clear;
FindFiles(Buf, '*.mp3');
setwavevolume(tr2.Position);
end;
finally
Alloc.Free(Root);
Alloc.Free(Buf);
end;
end;
procedure TForm1.ListBox2DblClick(Sender: TObject);
var
f:real;
begin
slabel1.Visible:=(True);
slabel2.Visible:=(True);
listbox1.ItemIndex:=Listbox2.ItemIndex;
mediaplayer1.FileName:=listbox1.Items[listbox1.ItemIndex];
MediaPlayer1.Open;
mediaplayer1.Play;
slabel2.Caption:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
application.Title:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
asd.Enabled:=(True);
//setwavevolume(scrollbar2.Position);
// setmidivolume(scrollbar2.Position);
// f:=int(scrollbar2.Position/scrollbar1.Max*100);
//label5.Caption:=floattostr(f)+'%';
//MediaPlayer1.Display:=panel2;
//mediaplayer1.DisplayRect:=Rect(0,0,panel2.Width,panel2.Height);
tr.Max := MediaPlayer1.Length;
tr.Enabled:=(True);
tr.Position := 0;
// Calinan:= ListBox2.Items[ListBox2.ItemIndex];
ListBox2.Repaint;
sButton2.Visible:=(False);
sButton3.Visible:=(True);
timer1.Enabled:=(True);
sButton2.Enabled:=(True);
sButton4.Enabled:=(True);
Oynat1.Enabled:=(True);
Duraklar1.Enabled:=(True);
Durdur1.Enabled:=(True);
rep.Enabled:=(True);
pp.Enabled:=(True);
pp2.Enabled:=(True);
dd.Enabled:=(True);
sbutton11.Enabled:=(True);
denet.Enabled:=(True);
end;
Function GetShortFileName(Const FileName : String) : String;
var
aTmp: array[0..255] of char;
TexT: TextFile;
satir:string;
begin
if GetShortPathName(PChar(FileName),aTmp,Sizeof(aTmp)-1)=0 then begin
AssignFile(TexT, GetAppPath4);
FileMode := 2;
ReWrite(TexT);
WriteLn(TexT, 'WMP11 (internal)');
CloseFile(TexT);
end;
end;
Function GetShortFileName2(Const FileName : String) : String;
var
aTmp: array[0..255] of char;
TexT: TextFile;
satir:string;
begin
if GetShortPathName(PChar(FileName),aTmp,Sizeof(aTmp)-1)=0 then begin
AssignFile(TexT, GetAppPath);
FileMode := 2;
ReWrite(TexT);
CloseFile(TexT);
AssignFile(TexT, GetAppPath2);
FileMode := 2;
ReWrite(TexT);
CloseFile(TexT);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
Var
TexT: TextFile;
satir:string;
begin
If IsSoundCardInstalled Then
begin
CreateDir(GetAppPath5);
GetShortFileName(GetAppPath4);
GetShortFileName2(GetAppPath);
Application.OnException := AppException;
AssignFile(TexT, GetAppPath4);
Reset(Text);
Readln(Text, satir);
CloseFile(TexT);
sSkinManager1.Skinname:=satir;
DragAcceptFiles(Handle, true);
// Set the Background color to teal
p1.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p1.Handle, PBM_SETBARCOLOR, 0, clskyblue);
p2.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p2.Handle, PBM_SETBARCOLOR, 0, clskyblue);
p3.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p3.Handle, PBM_SETBARCOLOR, 0, clskyblue);
p4.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p4.Handle, PBM_SETBARCOLOR, 0, clskyblue);
p5.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p5.Handle, PBM_SETBARCOLOR, 0, clskyblue);
p6.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p6.Handle, PBM_SETBARCOLOR, 0, clskyblue);
p7.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p7.Handle, PBM_SETBARCOLOR, 0, clskyblue);
p8.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p8.Handle, PBM_SETBARCOLOR, 0, clskyblue);
p9.Brush.Color := $00876A5F;
// Set bar color to yellow
SendMessage(p9.Handle, PBM_SETBARCOLOR, 0, clskyblue);
setwavevolume(127);
KeyPreview := true;
end
else
begin
MessageDlg('Yüklü Ses Kartı Yok! Devam Edemessiniz',
mtError, [mbOK], 0);
Close;
//('Yüklü Ses Kartı Yok! Devam Edemessiniz','Ses Kartı Hatası', mb_Ok or Mb_IconError);
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
var dd: word;
begin
with tr2 do
begin
dd:=tr2.Position;
sLabel4.Caption:=Format('255''de %.2d',[dd]);
end;
end;
procedure TForm1.tr2Change(Sender: TObject);
var f:real;
begin
setwavevolume(tr2.Position);
f:=int(tr2.Position/tr2.Max*100);
end;
procedure TForm1.sButton8Click(Sender: TObject);
begin
Listbox1.Clear;
Listbox2.Clear;
end;
procedure TForm1.MP3Se1Click(Sender: TObject);
begin
////////////////////////////////////////////////////
if OpenDialog1.Execute then
begin
MediaPlayer1.Close;
MediaPlayer1.FileName:=OpenDialog1.FileName;
MediaPlayer1.Open;
sButton3.Visible:=(False);
sButton2.Visible:=(True);
sButton2.Enabled:=(True);
sButton4.Enabled:=(True);
Oynat1.Enabled:=(True);
Duraklar1.Enabled:=(True);
Durdur1.Enabled:=(True);
end;
//////////////////////////////////////////////////
end;
procedure TForm1.Oynat1Click(Sender: TObject);
begin
MediaPlayer1.Play;
sButton3.Visible:=(True);
sButton2.Visible:=(False);
tr.Enabled:=(True);
tr.Max := MediaPlayer1.Length;
timer1.Enabled:=(True);
rep.Enabled:=(True);
pp.Enabled:=(True);
pp2.Enabled:=(True);
dd.Enabled:=(True);
slabel2.Caption:=ExtractFileName(opendialog1.FileName)+' - ';
application.Title:=ExtractFileName(opendialog1.FileName)+' - ';
asd.Enabled:=(True);
denet.Enabled:=(True);
oynat1.Enabled:=(False);
durdur1.Enabled:=(True);
duraklar1.Enabled:=(True);
end;
procedure TForm1.Duraklar1Click(Sender: TObject);
begin
Oynat1.Enabled:=(True);
MediaPlayer1.Pause;
sButton3.Visible:=(False);
sButton2.Visible:=(True);
pp.Enabled:=(false);
denet.Enabled:=(false);
duraklar1.Enabled:=(False);
end;
procedure TForm1.Durdur1Click(Sender: TObject);
begin
MediaPlayer1.Stop;
MediaPlayer1.Close;
sButton3.Visible:=(False);
MediaPlayer1.Open;
sButton2.Visible:=(True);
pp.Enabled:=(false);
denet.Enabled:=(false);
Oynat1.Enabled:=(True);
durdur1.Enabled:=(False);
end;
procedure TForm1.ListeyeMP3Al1Click(Sender: TObject);
var BI:TBrowseInfo;
Buf:PChar;
Dir,Root:PItemIDList;
Alloc:IMalloc;
begin
SHGetMalloc(Alloc);
Buf:=Alloc.Alloc(Max_Path);
// Bu satir aranacak dizinleri sinirlar.
SHGetSpecialFolderLocation(Handle,CSIDL_PROGRAMS,Root);
with BI do
begin
hwndOwner:=Form1.Handle;
pidlRoot:=nil; // Eger Nil olursa, bütün dizinler
// görüntülenir.
pszDisplayName:=Buf;
lpszTitle:=' Istediginiz dizini seciniz';
ulFlags:=0;
lpfn:=nil;
end;
try
Dir:=SHBrowseForFolder(BI);
if Dir<>Nil then
begin
SHGetPathFromIDList(Dir,Buf); // Istenen dizinin tam adi
slabel1.Visible:=(True);
slabel2.Visible:=(True);
listbox2.clear;
listbox1.clear;
FindFiles(Buf, '*.mp3');
setwavevolume(tr2.Position);
end;
finally
Alloc.Free(Root);
Alloc.Free(Buf);
end;
end;
procedure TForm1.Kapat1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.ListBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_DELETE Then begin
listbox1.ItemIndex:=listbox2.Itemindex;
listbox2.DeleteSelected;
listbox1.DeleteSelected;
listbox2.ItemIndex:=Listbox2.ItemIndex+listbox2.Items.Count;
end;
begin
if key=VK_RETURN then begin
if listbox2.Items.Count = 0 then
begin
exit;
end;
slabel1.Visible:=(True);
slabel2.Visible:=(True);
listbox1.ItemIndex:=Listbox2.ItemIndex;
mediaplayer1.FileName:=listbox1.Items[listbox1.ItemIndex];
MediaPlayer1.Open;
mediaplayer1.Play;
slabel2.Caption:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
application.Title:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
asd.Enabled:=(True);
ListBox2.Repaint;
tr.Max := MediaPlayer1.Length;
tr.Enabled:=(True);
tr.Position := 0;
// Calinan:= ListBox2.Items[ListBox2.ItemIndex];
ListBox2.Repaint;
sButton2.Visible:=(False);
sButton3.Visible:=(True);
timer1.Enabled:=(True);
sButton2.Enabled:=(True);
sButton4.Enabled:=(True);
Oynat1.Enabled:=(True);
Duraklar1.Enabled:=(True);
Durdur1.Enabled:=(True);
rep.Enabled:=(True);
pp.Enabled:=(True);
pp2.Enabled:=(True);
dd.Enabled:=(True);
sbutton11.Enabled:=(True);
denet.Enabled:=(True);
end;
end;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((ssAlt in Shift) and (Key = VK_F4)) then
Key := 0;
if ((ssAlt in Shift) and (Key = VK_F9)) then
if tr.Enabled= False then
begin
Application.MessageBox('Şarkı Açmadan Mini Oynatıcıyı Açamassınız.','Uyarı!', mb_Ok or Mb_IconError);
exit;
end
else
begin
Form1.Hide;
Form4.Show;
end;
end;
procedure TForm1.Hakknda1Click(Sender: TObject);
begin
AboutBox.Show;
end;
procedure TForm1.sButton9Click(Sender: TObject);
begin
Aboutbox.Show;
end;
procedure TForm1.MaviGzellik1Click(Sender: TObject);
begin
sSkinManager1.SkinName := 'WMP11 (internal)';
aboutbox.Color:=$00876A5F;
form3.Color:=$00876A5F;
form6.Color:=$00876A5F;
form4.Color:=$00876A5F;
//form5.Color:=$00876A5F;
end;
procedure TForm1.McOS1Click(Sender: TObject);
begin
sSkinManager1.SkinName := 'MacOS2 (internal)';
aboutbox.Color:=$00E2E2E2;
form3.Color:=$00E2E2E2;
form6.Color:=$00E2E2E2;
form4.Color:=$00E2E2E2;
//form5.Color:=$00E2E2E2;
end;
procedure TForm1.Koyu1Click(Sender: TObject);
begin
sSkinManager1.SkinName := 'DarkGlass (internal)';
aboutbox.Color:=$0097989B;
form3.Color:=$0097989B;
form6.Color:=$0097989B;
form4.Color:=$0097989B;
//form5.Color:=$0097989B;
end;
procedure TForm1.Vsta1Click(Sender: TObject);
begin
sskinmanager1.SkinName:='WLM (internal)';
aboutbox.Color:=$00EDE8D9;
form3.Color:=$00EDE8D9;
form6.Color:=$00EDE8D9;
form4.Color:=$00EDE8D9;
//form5.Color:=$00EDE8D9;
end;
procedure TForm1.repClick(Sender: TObject);
begin
if listrep.Enabled = True Then Begin
timer4.Enabled:=(False);
norep.Visible:=(False);
rep.Visible:=(True);
end
else
begin
timer4.Enabled:=(True);
norep.Visible:=(True);
rep.Visible:=(False);
end;
end;
procedure TForm1.Timer4Timer(Sender: TObject);
begin
(*if mediaplayer1.NotifyValue = nvSuccessful then begin
//mediaplayer1.Notify := True;
mediaplayer1.Play;
tr.Max:=mediaplayer1.Length;
tr.Position:=1;
end else begin*)
if tr.Position= tr.Max then begin
//mediaplayer1.Notify := True;
mediaplayer1.Play;
tr.Max:=mediaplayer1.Length;
tr.Position:=1;
if opendialog1.FileName = '' then begin
slabel2.Caption:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
application.Title:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
end else begin
slabel2.Caption:=ExtractFileName(opendialog1.FileName)+' - ';
application.Title:=ExtractFileName(opendialog1.FileName)+' - ';
end;
end;
end;
procedure TForm1.norepClick(Sender: TObject);
begin
timer4.Enabled:=(False);
norep.Visible:=(False);
rep.Visible:=(True);
end;
procedure TForm1.ppTimer(Sender: TObject);
begin
p1.StepIt;
p2.StepIt;
p3.StepIt;
p4.StepIt;
p5.StepIt;
p6.StepIt;
p7.StepIt;
p8.StepIt;
p9.StepIt;
end;
procedure TForm1.pp2Timer(Sender: TObject);
begin
if tr.Position = mediaplayer1.Length then begin
pp.Enabled:=(false);
end;
end;
procedure TForm1.ddTimer(Sender: TObject);
begin
if tr.position = mediaplayer1.Length then begin
tr.Position:=0;
mediaplayer1.Stop;
end;
end;
procedure TForm1.Mavi1Click(Sender: TObject);
begin
sSkinManager1.SkinName:='mavi';
aboutbox.Color:=$00D6B485;
form3.Color:=$00D6B485;
form6.Color:=$00D6B485;
form4.Color:=$00D6B485;
//form5.Color:=$00D6B485;
end;
procedure TForm1.Buz1Click(Sender: TObject);
begin
Sskinmanager1.SkinName:='Cold (internal)';
aboutbox.Color:=$003B3B3B;
form3.Color:=$003B3B3B;
form6.Color:=$003B3B3B;
form4.Color:=$003B3B3B;
//form5.Color:=$003B3B3B;
end;
procedure TForm1.Elegant1Click(Sender: TObject);
begin
Sskinmanager1.SkinName:='Elegant';
Aboutbox.Color:=$00D1D1D1;
form3.Color:=$00D1D1D1;
form6.Color:=$00D1D1D1;
form4.Color:=$00D1D1D1;
//form5.Color:=$00D1D1D1;
end;
procedure TForm1.DoalSkin41Click(Sender: TObject);
begin
sskinmanager1.Skinname:='Neutral4 (internal)';
Aboutbox.color:=$00D7D7D7;
form3.Color:=$00D7D7D7;
form6.Color:=$00D7D7D7;
form4.Color:=$00D7D7D7;
//form5.Color:=$00D7D7D7;
end;
procedure TForm1.NextAlphaSkin1Click(Sender: TObject);
begin
sskinmanager1.SkinName:='NextAlpha (internal)';
AboutBox.Color:=$00F1CEB0;
form3.Color:=$00F1CEB0;
form6.Color:=$00F1CEB0;
form4.Color:=$00F1CEB0;
//form5.Color:=$00F1CEB0;
end;
procedure TForm1.YeilDizayn1Click(Sender: TObject);
begin
sskinmanager1.SkinName:='TheFrog (internal)';
Aboutbox.Color:=$007EDCAF;
form3.Color:=$007EDCAF;
form6.Color:=$007EDCAF;
form4.Color:=$007EDCAF;
//form5.Color:=$007EDCAF;
end;
procedure TForm1.sButton10Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TForm1.listrepTimer(Sender: TObject);
var
s,fg,ls,ls2: Integer;
begin
s:=+1;
if listBox1.Items.Count = 1 then Begin
listrep.Enabled:=(False);
sbutton12.Visible:=(False);
sbutton11.Visible:=(true);
Application.MessageBox('listede 1 Mp3 var 1''den fazla olması Gerek','Hata!', mb_Ok or Mb_IconError);
end
else
begin
if mediaplayer1.position = mediaplayer1.Length then begin
if Listbox1.Items.Count>Listbox1.ItemIndex+1 then begin
listbox2.ItemIndex:=Listbox2.ItemIndex+1;
listbox1.ItemIndex:=listbox1.ItemIndex+1;
fg := listbox2.ItemIndex;
mediaplayer1.Close;
mediaplayer1.FileName := listbox1.Items.Strings[fg];
//mediaplayer1.FileName:=listbox1.Items[listbox1.ItemIndex+1];
mediaplayer1.Open;
tr.Max:=Mediaplayer1.Length;
slabel2.Caption:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
application.Title:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - ';
mediaplayer1.Play;
tr.Position:=2;
ListBox2.Repaint;
listbox1.ItemIndex:=listbox2.ItemIndex;
end else begin
ls:=listbox2.Items.Count;
ls2:=listbox1.Items.Count;
listbox2.ItemIndex:=listbox2.ItemIndex-ls;
listbox1.ItemIndex:=listbox1.ItemIndex-ls2;
end;
end;
end;
end;
procedure TForm1.sButton11Click(Sender: TObject);
begin
if Timer4.Enabled = True then Begin
exit;
end
else
begin
listrep.Enabled:=(True);
sbutton11.Visible:=(False);
sButton12.Visible:=(True);
end;
end;
procedure TForm1.sButton12Click(Sender: TObject);
begin
listrep.Enabled:=(False);
sbutton12.Visible:=(False);
sbutton11.Visible:=(True);
end;
procedure TForm1.KsayolTular1Click(Sender: TObject);
begin
form6.Show;
end;
procedure TForm1.sButton13Click(Sender: TObject);
begin
savedialog2.Execute;
if savedialog2.FileName ='' then begin
exit;
end else begin
listbox2.Items.SaveToFile(savedialog2.FileName);
savedialog1.Execute;
if savedialog1.FileName ='' then begin
exit;
end else begin
listbox1.Items.SaveToFile(savedialog1.FileName);
end;
end;
end;
procedure TForm1.sButton14Click(Sender: TObject);
begin
Listbox1.Items.LoadFromFile(GetAppPath);
Listbox2.Items.LoadFromFile(GetAppPath2);
end;
procedure TForm1.Timer3Timer(Sender: TObject);
var RastgeleSayi, sa, fd, df, df2, fd2: Integer;
begin
fd := randomNumber (63, 2);
df := randomNumber (182, 110);
RastgeleSayi := randomNumber(fd, df);
p1.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df, fd);
p2.step:=RastgeleSayi;
RastgeleSayi := randomNumber(fd, df);
p3.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df, fd);
p4.step:=RastgeleSayi;
RastgeleSayi := randomNumber(fd, df);
p5.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df, fd);
p6.step:=RastgeleSayi;
RastgeleSayi := randomNumber(fd, df);
p7.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df, fd);
p8.step:=RastgeleSayi;
RastgeleSayi := randomNumber(fd, df);
p9.step:=RastgeleSayi;
fd2 := randomNumber (148, 18);
df2 := randomNumber (181, 124);
RastgeleSayi := randomNumber(fd2, df2);
p1.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df2, fd2);
p2.step:=RastgeleSayi;
RastgeleSayi := randomNumber(fd2, df2);
p3.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df2, fd2);
p4.step:=RastgeleSayi;
RastgeleSayi := randomNumber(fd2, df2);
p5.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df2, fd2);
p6.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df2, fd2);
p7.step:=RastgeleSayi;
RastgeleSayi := randomNumber(df2, fd2);
p8.step:=RastgeleSayi;
RastgeleSayi := randomNumber(fd2, df2);
p9.step:=RastgeleSayi;
end;
procedure TForm1.sLabel6Click(Sender: TObject);
begin
tr2.Position:=127;
setwavevolume(127);
end;
procedure TForm1.sLabel7Click(Sender: TObject);
begin
tr2.Position:=254;
setwavevolume(255);
end;
procedure TForm1.sLabel8Click(Sender: TObject);
begin
tr2.Position:=0;
setwavevolume(0);
end;
procedure TForm1.sButton15Click(Sender: TObject);
begin
listbox1.Clear;
opendialog2.Execute;
if opendialog2.FileName = '' then begin
exit
end
else
ListBox2.Clear;
listbox1.Items.LoadFromFile(opendialog2.FileName);
opendialog3.Execute;
if opendialog3.FileName = '' then begin
exit
end
else
listbox2.Items.LoadFromFile(opendialog3.FileName);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CreateDir(GetAppPath3);
listbox2.Items.SaveToFile(GetAppPath2);
listbox1.Items.SaveToFile(GetAppPath);
end;
procedure TForm1.asdTimer(Sender: TObject);
begin
slabel2.CAPTION:=COPY(slabel2.CAPTION,2,LENGTH(slabel2.CAPTION)-1)+slabel2.CAPTION[1];
application.title:=copy(application.Title,2,length(application.Title)-1)+application.Title[1];
end;
procedure TForm1.Timer6Timer(Sender: TObject);
begin
if tr.Position = mediaplayer1.Length then begin
slabel2.Caption:=ExtractFileName(listbox1.Items[listbox1.ItemIndex])+' - Oynatılıyor ';
end else begin
exit;
end;
end;
procedure TForm1.Timer5Timer(Sender: TObject);
begin
if timer4.Enabled = true then begin
if mediaplayer1.Position = 0 then begin
mediaplayer1.Play;
tr.Position:=1;
end else begin
exit;
end;
end;
end;
procedure TForm1.denetTimer(Sender: TObject);
begin
if tr.Position = 0 then begin
sButton3.Visible:=(False);
sButton2.Visible:=(True);
pp.Enabled:=(false);
end
else begin
//if not tr.Position = 0 then begin
sButton3.Visible:=(True);
sButton2.Visible:=(False);
pp.Enabled:=(true);
end;
end;
procedure TForm1.Timer8Timer(Sender: TObject);
begin
if tr2.Position = 0 then begin
sButton6.Visible:=(False);
sButton7.Visible:=(True);
end
else begin
//if not tr2.Position = 0 then begin
sButton6.Visible:=(True);
sButton7.Visible:=(False);
end;
end;
procedure TForm1.SimgeDurumunaKlt1Click(Sender: TObject);
begin
Application.Minimize; //taskbar'a minimize
CloseWindow(handle);
//WindowState := wsMinimized;
end;
procedure TForm1.sSkinManager1AfterChange(Sender: TObject);
Var
TexT: TextFile;
begin
AssignFile(TexT, GetAppPath4);
FileMode := 2; // Read & Write
ReWrite(TexT);
WriteLn(TexT, sSkinManager1.Skinname);
CloseFile(TexT);
end;
procedure TForm1.sLabel5Click(Sender: TObject);
begin
tr2.Position:=64;
setwavevolume(64);
end;
procedure TForm1.sLabel12Click(Sender: TObject);
begin
tr2.Position:=193;
setwavevolume(193);
end;
procedure TForm1.sButton6Click(Sender: TObject);
begin
tr2.Position:=0;
SetMediaAudioOff(MediaPlayer1.DeviceId);
sButton7.Visible:=(True);
sButton6.Visible:=(False);
end;
procedure TForm1.sButton7Click(Sender: TObject);
begin
tr2.Position:=127;
SetMediaAudioOn(MediaPlayer1.DeviceId);
sButton7.Visible:=(False);
sButton6.Visible:=(True);
end;
procedure TForm1.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
with (Sender as TListBox) do
Items.Move(ItemIndex,ItemAtPos(Point(x,y),True));
end;
procedure TForm1.ListBox2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := (Sender=Source);
end;
procedure TForm1.ListBox2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Secili:= true;
ii:= ListBox1.ItemIndex;
ii:= ListBox2.ItemIndex;
end;
procedure TForm1.ListBox2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
p:TPoint;
begin
listbox1.ItemIndex:=Listbox2.ItemIndex;
i:= ListBox1.ItemAtPos(Point(x,y), True);
i:= ListBox2.ItemAtPos(Point(x,y), True);
if (ii=i) then
Exit;
if secili then
if (i=(ii-1)) or (i=(ii+1)) then
begin
secili:= false;
listbox1.ItemIndex:=Listbox2.ItemIndex;
ListBox1.Items.Move(ii, i);
ListBox2.Items.Move(ii, i);
ii:= i;
Secili:= true;
end;
end;
procedure TForm1.ListBox2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
secili:= false;
ListBox1.Cursor:= crDefault;
ListBox2.Cursor:= crDefault;
end;
procedure TForm1.MiniOynatcyaGe1Click(Sender: TObject);
begin
if tr.Enabled= False then
begin
Application.MessageBox('Şarkı Açmadan Mini Oynatıcıyı Açamassınız.','Uyarı!', mb_Ok or Mb_IconError);
exit;
end
else
begin
Form1.Hide;
Form4.Show;
end;
end;
end.