📄 umain.pas
字号:
unit UMain;
interface
uses
Windows, SysUtils, Variants, Classes, Controls, Forms,
Dialogs, ExtCtrls, SUIForm, ComCtrls, SUIImagePanel, SUIButton, StdCtrls,
SUIEdit,inifiles,SimpleTimer, SUIMemo, TaskBarIcon, IconHide,ShellApi,Registry,
MPlayer;
type
TForm1 = class(TForm)
MSNPop1: TsuiMSNPopForm;
suiForm1: TsuiForm;
Panel1: TsuiPanel;
DTPicker1: TDateTimePicker;
CekSubuh: TsuiCheckBox;
cekduhur: TsuiCheckBox;
CekAsar: TsuiCheckBox;
CekMagrib: TsuiCheckBox;
CekIsya: TsuiCheckBox;
DTPicker2: TDateTimePicker;
DTPicker3: TDateTimePicker;
DTPicker4: TDateTimePicker;
DTPicker5: TDateTimePicker;
suiPanel1: TsuiPanel;
suiPanel2: TsuiPanel;
DTTahajud: TDateTimePicker;
TahaCek: TsuiCheckBox;
DuhaCek: TsuiCheckBox;
DTDuha: TDateTimePicker;
Othertex1: TsuiEdit;
OtherDT1: TDateTimePicker;
OtherCek1: TsuiCheckBox;
Othertex2: TsuiEdit;
OtherCek2: TsuiCheckBox;
OtherDT2: TDateTimePicker;
suiPanel3: TsuiPanel;
suiMemo1: TsuiMemo;
TaskBarIcon1: TTaskBarIcon;
IconHide1: TIconHide;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton3: TsuiButton;
MediaPlayer1: TMediaPlayer;
Start: TsuiCheckBox;
suiButton4: TsuiButton;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TaskBarIcon1Up(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure suiButton1Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure StartClick(Sender: TObject);
procedure suiButton4Click(Sender: TObject);
private
ST:TSimpleTimer;
ST2:TSimpleTimer;
ST3:TSimpleTimer;
Procedure aksi(Sender:TObject);
Procedure solatSunat(Sender:TObject);
Procedure OtherJanji(Sender:TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
ini:TIniFile;
reg:TRegistry;
implementation
uses Ulist;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
locate:string;
begin
{untuk solat wajib}
ST:=TSimpleTimer.CreateEx(1000,aksi);
{untuk solat sunat}
ST2:=TSimpleTimer.CreateEx(1000,solatSunat);
{untuk janji lain}
ST3:=TSimpleTimer.CreateEx(1000,OtherJanji);
{set untuk lebar panel}
panel1.Height:=153;
suipanel1.Height:=161;
suipanel2.Height:=129;
{timer di aktivkan }
ST.Enabled:=true;
ST2.Enabled:=true;
St3.Enabled:=true;
{meletakkan ikon di systray, dengan komponen TaskBarIcon}
TaskBarIcon1.Visible:=true;
{untuk membaca waktu pada .ini file}
ini:=TiniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));
DTPicker1.Time:=ini.ReadTime('solat','subuh',time);
DTPicker2.Time:=ini.ReadTime('solat','duhur',time);
DTPicker3.Time:=ini.ReadTime('solat','asar',time);
DTPicker4.Time:=ini.ReadTime('solat','magrib',time);
DTPicker5.Time:=ini.ReadTime('solat','isya',time);
DTTahajud.Time:=ini.ReadTime('solat','tahajud',time);
DTDuha.Time:=ini.ReadTime('solat','duha',time);
OtherDT1.Time:=ini.ReadTime('janjilain','janji1',time);
OtherDT2.Time:=ini.ReadTime('janjilain','janji2',time);
Othertex1.Text:=ini.ReadString('janjilain','msg1','');
Othertex2.Text:=ini.ReadString('janjilain','msg2','');
{untuk mengaktifkan alert}
if ini.ReadBool('status','subuh',false)=true then
ceksubuh.Checked:=true;
if ini.ReadBool('status','duhur',false)=true then
cekduhur.Checked:=true;
if ini.ReadBool('status','asar',false)=true then
cekasar.Checked:=true;
if ini.ReadBool('status','magrib',false)=true then
cekmagrib.Checked:=true;
if ini.ReadBool('status','isya',false)=true then
cekisya.Checked:=true;
if ini.ReadBool('status','duha',false)=true then
duhacek.Checked:=true;
if ini.ReadBool('status','tahajud',false)=true then
tahacek.Checked:=true;
if ini.ReadBool('status','janji1',false)=true then
Othercek1.Checked:=true;
if ini.ReadBool('status','janji2',false)=true then
Othercek2.Checked:=true;
end;
procedure alert(title,msg:string);
var
d:string;
begin
GetDir(0,d);
Form1.MSNPop1.Title:=title;
Form1.MSNPop1.MessageText:=msg;
Form1.MediaPlayer1.FileName:=d+'\alert.wav';
Form1.MediaPlayer1.Open;
Form1.MediaPlayer1.Play;
Form1.MSNPop1.Popup;
end;
procedure TForm1.solatSunat(Sender:TObject);
begin
if duhacek.Checked=true then
if timetostr(DTduha.Time)=timetostr(now) then
begin
alert('solat duha g?','biar banyak project yang masuk ke kantong');
end;
if tahacek.Checked=true then
if timetostr(DTTahajud.Time)=timetostr(now) then
begin
alert('banyak dosa?', 'solat dulu, jangan tidur mulu');
end;
end;
Procedure TForm1.OtherJanji(Sender:TObject);
begin
if Othercek1.Checked=true then
if Othertex1.Text<>'' then
if timetostr(OtherDT1.Time)=timetostr(now) then
begin
alert(copy(Othertex1.Text,0,10),othertex1.Text);
end;
if othercek2.Checked=true then
if othertex2.Text<>'' then
if timetostr(OtherDT2.Time)=timetostr(now) then
begin
alert(copy(Othertex2.Text,0,10),othertex2.Text);
end;
end;
procedure TForm1.aksi(Sender:TObject);
begin
if ceksubuh.Checked=true then
if timetostr(DTPicker1.Time)=timetostr(now) then
begin
alert('solat subuh dulu','bangun, lebih baik solat daripada tidur');
end ;
if cekduhur.Checked then
if timetostr(DTPicker2.Time)=timetostr(now) then
begin
alert('solat dhuhur dulu','hentikan coding,solat dulu');
end;
if cekasar.Checked then
if timetostr(DTPicker3.Time)=timetostr(now) then
begin
alert('solat asar, dulu','mandinya ntar aja, OK');
end;
if cekmagrib.Checked then
if timetostr(DTPicker4.Time)=timetostr(now) then
begin
alert('magriban dulu, coy!','Srawung di masjid dulu');
end;
if cekisya.Checked then
if timetostr(DTPicker5.Time)=timetostr(now) then
begin
alert('solat isya dulu','sebelum tidur solat dulu');
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
panel1.Push;
suipanel1.Push;
suipanel2.Push;
suipanel3.Push;
end;
procedure TForm1.TaskBarIcon1Up(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Application.Restore;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ceksubuh.Checked=false then
ini.WriteBool('status','subuh',false)
else ini.WriteBool('status','subuh',true);
if cekduhur.Checked=false then
ini.WriteBool('status','duhur',false)
else ini.WriteBool('status','duhur',true);
if cekasar.Checked=false then
ini.WriteBool('status','asar',false)
else ini.WriteBool('status','asar',true);
if cekmagrib.Checked=false then
ini.WriteBool('status','magrib',false)
else ini.WriteBool('status','magrib',true);
if cekisya.Checked=false then
ini.WriteBool('status','isya',false)
else ini.WriteBool('status','isya',true);
if duhacek.Checked=false then
ini.WriteBool('status','duha',false)
else ini.WriteBool('status','duha',true);
if tahacek.Checked=false then
ini.WriteBool('status','tahajud',false)
else ini.WriteBool('status','tahajud',true);
end;
procedure TForm1.suiButton1Click(Sender: TObject);
begin
if tahacek.Checked=false then
ini.WriteBool('status','tahajud',false)
else
begin
ini.WriteBool('status','tahajud',true);
ini.WriteTime('solat','tahajud',DTTahajud.Time);
end;
if duhacek.Checked=false then
ini.WriteBool('status','duha',false)
else
begin
ini.WriteTime('solat','duha',DTDuha.Time);
ini.WriteBool('status','tahajud',true);
end;
suipanel1.Push;
end;
procedure TForm1.suiButton2Click(Sender: TObject);
begin
if ceksubuh.Checked=false then
ini.WriteBool('status','subuh',false)
else
begin
ini.WriteBool('status','subuh',true);
ini.WriteTime('solat','subuh',DTPicker1.Time);
end;
if cekduhur.Checked=false then
ini.WriteBool('status','duhur',false)
else
begin
ini.WriteBool('status','duhur',true);
ini.WriteTime('solat','duhur',DTPicker2.Time);
end;
if cekasar.Checked=false then
ini.WriteBool('status','asar',false)
else
begin
ini.WriteBool('status','asar',true);
ini.WriteTime('solat','asar',DTPicker3.Time);
end;
if cekmagrib.Checked=false then
ini.WriteBool('status','magrib',false)
else
begin
ini.WriteBool('status','magrib',true);
ini.WriteTime('solat','magrib',DTPicker4.Time);
end;
if cekisya.Checked=false then
ini.WriteBool('status','isya',false)
else
begin
ini.WriteBool('status','isya',true);
ini.WriteTime('solat','isya',DTPicker5.Time);
end;
panel1.Push;
end;
procedure TForm1.suiButton3Click(Sender: TObject);
begin
if othercek1.Checked=false then
ini.WriteBool('status','janji1',false)
else
begin
ini.WriteBool('status','janji1',true);
ini.WriteTime('janjilain','janji1',OtherDT1.Time);
ini.WriteString('janjilain','msg1',Othertex1.Text);
end;
if othercek2.Checked=false then
ini.WriteBool('status','janji2',false)
else
begin
ini.WriteBool('status','janji2',true);
ini.WriteTime('janjilain','janji2',OtherDT2.Time);
ini.WriteString('janjilain','msg2',Othertex2.Text);
end;
suipanel2.Push;
end;
procedure TForm1.StartClick(Sender: TObject);
var
locate:string;
begin
GetDir(0,Locate);
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
if start.Checked=true then
begin
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',true) then
begin
reg.WriteString('Simple Asisten',Application.ExeName);
reg.CloseKey; //tutup key
end;
reg.Free; //bebaskan instance reg.
end
else if start.Checked=false then
begin
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',true) then
begin
reg.DeleteValue('Simple Asisten');
reg.CloseKey;
end;
reg.Free;
end;
end;
procedure TForm1.suiButton4Click(Sender: TObject);
var
Form2:Tform2;
begin
Form2:=TForm2.Create(Application);
form2.show;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -