main.pas
来自「销售帐目管理」· PAS 代码 · 共 658 行 · 第 1/2 页
PAS
658 行
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, SUIStatusBar, ExtCtrls, SUIForm, Menus, SUIMainMenu,
ActnList, ToolWin, SUIToolBar, ImgList, SUIButton, jpeg, SUIImagePanel,
PicShow, SUIPopupMenu, StrUtils, MMSystem, iComponent, iVCLComponent,
iCustomComponent, iPositionComponent, iProgressComponent, iLedBar, SUIDlg,
FileCtrl, StdCtrls, SUIThemes, IniFiles, ComObj, ExtDlgs ;
type
TFrmMain = class(TForm)
actlst1: TActionList;
actUseLogin: TAction;
actZmLocate: TAction;
actUseLogOut: TAction;
actExitSys: TAction;
actXsdw: TAction;
actZmdj: TAction;
actDevice: TAction;
actUserMgr: TAction;
actSysSet: TAction;
actSongMgr: TAction;
actDataBak: TAction;
actHelp: TAction;
actAbout: TAction;
actCalculator: TAction;
actCalendar: TAction;
actNotePad: TAction;
il1: TImageList;
suiSongMenu: TsuiPopupMenu;
dlgOpen1: TOpenDialog;
tmr1: TTimer;
actPhotoSet: TAction;
suiInterfaceMenu1: TsuiPopupMenu;
Pop_Interface1: TMenuItem;
Pop_Interface2: TMenuItem;
Pop_Interface3: TMenuItem;
Pop_Interface4: TMenuItem;
Pop_Interface5: TMenuItem;
tmr3: TTimer;
actPhoteBook: TAction;
actXxsf: TAction;
suiMainMenu1: TsuiMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
pnlMedia: TPanel;
pnlMediaDis: TPanel;
pnl1: TPanel;
pnl3: TPanel;
BtnMediaEject: TsuiImageButton;
BtnMediaNext: TsuiImageButton;
BtnMediaPlay: TsuiImageButton;
BtnMediaPause: TsuiImageButton;
BtnMediaStop: TsuiImageButton;
BtnMediaPrior: TsuiImageButton;
pnlMediaTime: TPanel;
pnlSongName: TPanel;
suiImagePanel1: TsuiImagePanel;
suiForm1: TsuiForm;
clbr1: TCoolBar;
suiToolBar1: TsuiToolBar;
btn1: TToolButton;
suiImagePanel2: TsuiImagePanel;
suiStatusBar1: TsuiStatusBar;
btn2: TToolButton;
btn3: TToolButton;
btn4: TToolButton;
btn5: TToolButton;
btn6: TToolButton;
btn7: TToolButton;
btn8: TToolButton;
btn9: TToolButton;
btn10: TToolButton;
btn11: TToolButton;
btn12: TToolButton;
btn13: TToolButton;
btn14: TToolButton;
btn15: TToolButton;
btn16: TToolButton;
btn17: TToolButton;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
suiMessageDialog1: TsuiMessageDialog;
btn18: TToolButton;
btn19: TToolButton;
dlgSave1: TSaveDialog;
iLedBar1: TiLedBar;
dlgOpenPic1: TOpenPictureDialog;
procedure FormShow(Sender: TObject);
procedure actExitSysExecute(Sender: TObject);
procedure BtnMediaPlayClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BtnMediaPauseClick(Sender: TObject);
procedure BtnMediaStopClick(Sender: TObject);
procedure pnlMediaTimeMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BtnMediaEjectClick(Sender: TObject);
procedure BtnMediaNextClick(Sender: TObject);
procedure BtnMediaPriorClick(Sender: TObject);
procedure tmr1Timer(Sender: TObject);
procedure iLedBar1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure actPhotoSetExecute(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Pop_Interface1Click(Sender: TObject);
procedure Pop_Interface2Click(Sender: TObject);
procedure Pop_Interface3Click(Sender: TObject);
procedure Pop_Interface4Click(Sender: TObject);
procedure Pop_Interface5Click(Sender: TObject);
procedure tmr3Timer(Sender: TObject);
procedure actSysSetExecute(Sender: TObject);
procedure actPhoteBookExecute(Sender: TObject);
procedure actDeviceExecute(Sender: TObject);
procedure actXxsfExecute(Sender: TObject);
procedure actXsdwExecute(Sender: TObject);
procedure actZmdjExecute(Sender: TObject);
procedure actZmLocateExecute(Sender: TObject);
procedure actUserMgrExecute(Sender: TObject);
procedure actUseLoginExecute(Sender: TObject);
procedure actUseLogOutExecute(Sender: TObject);
procedure actDataBakExecute(Sender: TObject);
procedure actAboutExecute(Sender: TObject);
procedure suiImagePanel2DblClick(Sender: TObject);
private
procedure MakeSongMenu(Sender: TObject);//构造歌曲菜单
procedure OnSongMenuSel(Sender : TObject);//歌曲选择事件
public
end;
var
FrmMain: TFrmMain;
implementation
uses PubUnit, PicSet, ScreenSafe, DateCn, SysSet, Spxx, Sjdw, Dwxx, Zmdj,
ZmLocate, yhgl, Login, DataModule, About;
{$R *.dfm}
procedure TFrmMain.OnSongMenuSel(Sender : TObject);//歌曲选择事件
var Index,i,Count : Integer ;
begin
Index := (Sender as TMenuItem).MenuIndex ;
P_SongIndex := Index ;
BtnMediaPlay.OnClick(Self);
end;
procedure TFrmMain.MakeSongMenu(Sender: TObject);//构造歌曲菜单
var MenuItem : TMenuItem ;
i : Integer ;
begin
suiSongMenu.Items.Clear ;//清除菜单
//有歌曲导入
for i := Low(Pub_SongListArr) to High(Pub_SongListArr) do
begin
MenuItem := TMenuItem.Create(Self);
MenuItem.Caption := Pub_SongListArr[i].SongName ;
MenuItem.MenuIndex := i ;
MenuItem.OnClick := OnSongMenuSel ;
suiSongMenu.Items.Add(MenuItem);
end;
end;
//========主窗口显示
procedure TFrmMain.FormShow(Sender: TObject);
var i : Integer ;
begin
{构造歌曲播放菜单}
if Length(Pub_SongListArr) > 0 then
begin
MakeSongMenu(Self);//构造菜单
P_SongName := Pub_SongListArr[P_SongIndex].SongName ;
P_SongFile := Pub_SongListArr[P_SongIndex].FileName ;
suiSongMenu.Items[P_SongIndex].Checked := True ;
BtnMediaPlay.Enabled := True ;
BtnMediaNext.Enabled := True ;
BtnMediaPrior.Enabled := True ;
if AutoPlayMp3 then BtnMediaPlay.OnClick(Self);//自动播放MP3
end;
end;
//========退出系统
procedure TFrmMain.actExitSysExecute(Sender: TObject);
begin
Close();
end;
//========主串口创建
procedure TFrmMain.FormCreate(Sender: TObject);
var i,Count : Integer ;
begin
iLedBar1.Left := 0 ;
iLedBar1.Top := 0 ;
iLedBar1.Height := pnlMediaTime.Height ;
iLedBar1.Width := pnlMediaTime.Width ;
//==========设置功能是否可用
{添加新型提示窗口}
Count := ComponentCount ;
for i := 0 to Count - 1 do begin
if (Components[i] is TAction) then
begin
if (((Components[i] as TAction).Caption <> '用户注册') and
((Components[i] as TAction).Caption <> '退出系统') and
((Components[i] as TAction).Caption <> '我的相册') and
((Components[i] as TAction).Caption <> '系统说明')) then
(Components[i] as TAction).Enabled := false;
end;
end;
{改变界面}
if FileExists(P_PicFileName) then
suiImagePanel2.Picture.LoadFromFile(P_PicFileName);
ChangeInterface(Self,suiForm1);
Pop_Interface1.Checked := P_Interface = Ord(BlueGlass) ;
Pop_Interface2.Checked := P_Interface = Ord(DeepBlue);
Pop_Interface3.Checked := P_Interface = Ord(Protein) ;
Pop_Interface4.Checked := P_Interface = Ord(MacOS) ;
Pop_Interface5.Checked := P_Interface = Ord(WinXP) ;
suiForm1.Caption := P_AppName ;
suiImagePanel1.Caption := P_AppName ;
{mp3初始化}
LoadSongList();//导入歌曲列表
//初始化MP3播放
pvInitMp3(hInstance, pnlMediaDis.Handle, pnlMediaDis.Width, pnlMediaDis.Height, 32);
end;
//========主窗口释放
procedure TFrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
BorderIcons := BorderIcons + [biMaximize];//防止程序退出后会在任务栏中留下一个任务空格
WriteIni ;
pvFreeMp3 ;//释放MP3播放资源
end;
//==========窗口退出
procedure TFrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
with suiMessageDialog1 do
begin
Caption := suiForm1.Caption ;
Button1Caption := '是';
Button2Caption := '否';
ButtonCount := 2 ;
Button1ModalResult := mrYes ;
Button2ModalResult := mrNo ;
IconType := suiHelp ;
Text := '是否退出销售帐目管理?';
if ShowModal = MrNo then CanClose := False ;
end;
end;
//========MP3播放
procedure TFrmMain.BtnMediaPlayClick(Sender: TObject);
var i,Count : integer ;//歌曲播放侦数
begin
if ((P_SongIndex < Low(Pub_SongListArr)) and
(P_SongIndex > High(Pub_SongListArr))) then Exit ;
P_SongName := Pub_SongListArr[P_SongIndex].SongName ;
P_SongFile := Pub_songListArr[P_SongIndex].FileName ;
pvStopMp3;
pvGetMp3Info(pchar(P_SongFile), @SongFreq, @SongTimelong);
pvPlayMp3(PChar(P_SongFile));
pnlSongName.Caption := P_SongName ;
PlayStatus := MP3PLAY ;//切换播放状态
PlayTimeLong := 0 ;//已经播放时间
iLedBar1.PositionMax := SongTimeLong ;
iLedBar1.PositionMin := PlayTimeLong ;
tmr1.Enabled := True ;
Count := suiSongMenu.Items.Count ;
for i := 0 to Count - 1 do suiSongMenu.Items[i].Checked := False ;
suiSongMenu.Items[P_SongIndex].Checked := True ;
BtnMediaPause.Enabled := True ;
BtnMediaStop.Enabled := True ;
end;
//========暂停Mp3播放
procedure TFrmMain.BtnMediaPauseClick(Sender: TObject);
begin
case PlayStatus of
MP3PLAY :
begin
pvPauseMp3 ;//暂停MP3播放
PlayStatus := MP3PAUSE ; //切换状态
BtnMediaPause.Hint := '恢复播放';
end;
MP3PAUSE :
begin
pvResumeMp3 ;
PlayStatus := MP3PLAY ; //切换状态到播放
BtnMediaPause.Hint := '暂停播放';
end;
end;
end;
//========停止MP3播放
procedure TFrmMain.BtnMediaStopClick(Sender: TObject);
begin
pvStopMp3 ;//停止MP3播放
PlayStatus := MP3STOP ;
iLedBar1.Position := 0 ;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?