📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, ToolWin, Menus, ImgList,inifiles,shellapi,
StdCtrls, XPMan;
type
TForm1 = class(TForm)
ImageList1: TImageList;
ImageList2: TImageList;
LV1: TListView;
TabC1: TTabControl;
ListBox1: TListBox;
Button1: TButton;
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure LoadPM();
procedure LoadGameName(setfile:string);
procedure CALLClick(Sender: TObject);
procedure LV1DblClick(Sender: TObject);
procedure TabC1Change(Sender: TObject);
procedure LV1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
nowGameClass:string='.\网络游戏.ini';
allPosition:integer;
Dir:string;
Title:string='游戏更新菜单 VD调用版';
implementation
{$R *.dfm}
procedure TForm1.LoadPM();
var
Mainfile:Tinifile;
mainclass:Tstrings;
i:integer;
classs:array of Tmenuitem;
begin
Mainfile:=Tinifile.Create(Dir+'\游戏分类.ini');
mainclass:=Tstringlist.Create;
Mainfile.ReadSections(mainclass);
Mainfile.Free;
tabc1.Tabs.Assign(mainclass);
{setlength(classs,mainclass.Count);
for i:=0 to mainclass.Count-1 do
begin
classs[i]:=TMenuitem.Create(form1);
classs[i].Caption:=mainclass.Strings[i];
classs[i].Visible:=true;
Classs[i].OnClick:=CALLClick;
PM1.Items.Add(classs[i]);
end;}
end;
function loadIcon(fileexe:string):Ticon;
var
icon:Ticon;
begin
icon:=Ticon.Create;
if fileExists(fileexe) then
icon.Handle:=Extracticon(0,pchar(fileexe),0)
else
icon.Handle:=Extracticon(0,pchar(application.ExeName),0);
Result:=icon;
end;
procedure TForm1.LoadGameName(setfile:string);
var
icon:Ticon;
gamefile:Tinifile;
Gamename,Gameadd:Tstrings;
I:integer;
nowGame:TListItem;
begin
gameFile:=Tinifile.Create(setfile);
Gamename:=Tstringlist.Create;
Gameadd:=Tstringlist.Create;
imagelist1.Clear;
Gamename.Clear;
Gameadd.Clear;
Gamefile.ReadSections(gamename);
for i:=0 to gamename.Count-1 do
begin
Gameadd.Add(gamefile.ReadString(gamename.Strings[i],'Udir','XXXXX')+'\'+gamefile.ReadString(gamename.Strings[i],'Exeapp','XXXXX'));
icon:=Ticon.Create;
icon:=loadIcon(Gameadd.Strings[i]);
imagelist1.AddIcon(icon);
icon.Free;
nowgame:=LV1.Items.Add;
nowGame.ImageIndex:=i;
nowgame.Caption:=gamename.Strings[i];
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Caption:=Title;
Dir:=ExtractFilePath(Application.ExeName);
ShellExecute(0,'Open',pchar(Dir+'\cmd.bat'),'',Pchar(Dir),1);//执行自定义命令
LoadPM();
LoadGameName(nowGameClass);
end;
procedure TForm1.CALLClick(Sender: TObject);
var
classs:string;
ini:Tinifile;
game:string;
begin
{ classs:=TMenuitem(sender).Caption;
ini:=Tinifile.Create(Dir+'\游戏分类.ini');
game:=ini.ReadString(classs,'配置文件','XXXXX');
LV1.Clear;
nowGameClass:=game;
LoadGameName(nowGameClass);
ini.Free;}
end;
procedure TForm1.LV1DblClick(Sender: TObject);
var
nowchoice:string;
ini,Load:Tinifile;
sdir,udir,Exefile,PramStr,regfile,VD:string;
begin
if lv1.ItemIndex=-1 then exit;
nowchoice:=LV1.Selected.Caption;
ini:=Tinifile.Create(nowGameClass);
sdir:=ini.ReadString(nowchoice,'sdir','XXXXXX');
udir:=ini.ReadString(nowchoice,'udir','XXXXXX');
Exefile:=ini.ReadString(nowchoice,'Exeapp','XXXXXX');
PramStr:=ini.ReadString(nowchoice,'PramStr','XXXXXX');
regfile:=ini.ReadString(nowchoice,'regfile','XXXXXX');
VD:=ini.ReadString(nowchoice,'VD','Yes');
FreeAndNil(ini);
Load:=Tinifile.Create(Dir+'\Load.ini');
Load.WriteString('Game','Udir',udir);
Load.WriteString('Game','Sdir',Sdir);
Load.WriteString('Game','Exefile',Exefile);
Load.WriteString('Game','regfile',regfile);
Load.WriteString('Game','VD',VD);
FreeAndNil(Load);
ShellExecute(Form1.Handle,'Open',pchar(Dir+'Load.exe'),'',Pchar(Dir),1);
end;
procedure TForm1.TabC1Change(Sender: TObject);
var
classs:string;
ini:Tinifile;
game:string;
nowindex:integer;
begin
nowindex:=tabc1.TabIndex;
classs:=tabc1.Tabs.Strings[nowindex];
ini:=Tinifile.Create(Dir+'\游戏分类.ini');
game:=ini.ReadString(classs,'配置文件','XXXXX');
LV1.Clear;
nowGameClass:=game;
LoadGameName(nowGameClass);
FreeAndNil(ini);
end;
procedure TForm1.LV1Click(Sender: TObject);
var
nowchoice:string;
ini,Load:Tinifile;
sdir,udir,Exefile,PramStr,regfile,VD:string;
begin
if lv1.ItemIndex=-1 then
begin
listbox1.Visible:=false;
exit;
end;
nowchoice:=LV1.Selected.Caption;
ini:=Tinifile.Create(nowGameClass);
sdir:=ini.ReadString(nowchoice,'sdir','XXXXXX');
udir:=ini.ReadString(nowchoice,'udir','XXXXXX');
Exefile:=ini.ReadString(nowchoice,'Exeapp','XXXXXX');
PramStr:=ini.ReadString(nowchoice,'PramStr','XXXXXX');
regfile:=ini.ReadString(nowchoice,'regfile','XXXXXX');
VD:=ini.ReadString(nowchoice,'VD','Yes');
FreeAndNil(ini);
listbox1.Left:=lv1.Items.Item[lv1.ItemIndex].Left+36;
listbox1.Top:=lv1.Items.Item[lv1.ItemIndex].Top+36+tabc1.Height;
listbox1.Items.Strings[4]:='LoaclDir:'+udir;
listbox1.Items.Strings[5]:='SourceDir:'+sdir;
listbox1.Items.Strings[6]:='ExeFile:'+Exefile;
listbox1.Items.Strings[7]:='LoadVD:'+VD;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if listbox1.Visible then listbox1.Visible:=false else listbox1.Visible:=true;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
button1.Left:=form1.Width-button1.Width-10;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -