⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umain.pas

📁 This is source code for shedule time sholat for muslim
💻 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 + -