📄 usclass.~pas
字号:
unit UsClass;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, inifiles,shellapi;
type
TC=class
public
T:Tstrings;
constructor Create(Path:string);
function GetPath(value:integer):string ;
function GetPathValue(value:string):string ;
private
ini:Tinifile;
end;
TlistViewBox=Class
public
constructor Create(listview:Tlistview;imagelist:Timagelist;IniFile:string);
private
TV:Tlistview;
IM:Timagelist;{指针}
Ini:Tinifile;
T:Tstrings;
procedure LoadICO();
procedure Show();
end;
TExecute=class
public
Constructor Create(Gametitle,iniPath:string);
procedure Execute();
private
title:string;
ini,Load:Tinifile;
Sdir,Udir,Exeapp,PramStr,Regfile,BgImage,VD:string;
procedure Read();
procedure Save();
end;
implementation
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;
{ TC }
constructor TC.Create(Path: string);
begin
ini:=Tinifile.Create(Path);
T:=Tstringlist.Create;
ini.ReadSection('游戏分类',T);
end;
function TC.GetPath(value: integer): string;
var
s:string;
begin
s:=T.Strings[value];
Result:=ini.ReadString('游戏分类',s,'GameIniPath');
end;
function TC.GetPathValue(value: string): string;
begin
Result:=ini.ReadString('游戏分类',value,'GameIniPath');
end;
{ TlistViewBox }
constructor TlistViewBox.Create(listview: Tlistview;
imagelist: Timagelist; IniFile: string);
begin
TV:=listview;
IM:=imagelist;
TV.Clear;
IM.Clear;
Ini:=Tinifile.Create(IniFile);
T:=Tstringlist.Create;
ini.ReadSections(T);
LoadICO;
Show;
end;
procedure TlistViewBox.LoadICO;
var
I,Co:integer;
ExeFile:string;
begin
Co:=T.Count;
for i:=0 to Co-1 do
begin
ExeFile:=ini.ReadString(T.Strings[i],'Udir','\');
ExeFile:=ExeFile+'\'+ini.ReadString(T.Strings[i],'Exeapp','.exe');
IM.AddIcon(loadIcon(ExeFile));
end;
end;
procedure TlistViewBox.Show;
var
I,Co:integer;
ExeFile:string;
Column:TlistItem;
begin
TV.LargeImages:=IM;
Co:=T.Count;
for i:=0 to Co-1 do
begin
Column:=TV.Items.Add;
Column.ImageIndex:=i;
Column.Caption:=T.Strings[i];
end;
end;
{ TExecute }
constructor TExecute.Create(Gametitle, iniPath: string);
begin
ini:=Tinifile.Create(iniPath);
title:=Gametitle;
Read;
Save;
end;
procedure TExecute.Execute;
begin
{}
end;
procedure TExecute.Read;
begin
Sdir:=ini.ReadString(title,'Sdir','');
Udir:=ini.ReadString(title,'Udir','');
Exeapp:=ini.ReadString(title,'Exeapp','');
PramStr:=ini.ReadString(title,'PramStr','');
Regfile:=ini.ReadString(title,'Regfile','');
BgImage:=ini.ReadString(title,'BgImage','没有图片');
VD:=ini.ReadString(title,'VD','Yes');
end;
procedure TExecute.Save;
begin
Load:=Tinifile.Create('.\Load.ini');
ini.WriteString('Game','Sdir',Sdir);
ini.WriteString('Game','Udir',Udir);
ini.WriteString('Game','Exeapp',Exeapp);
ini.WriteString('Game','PramStr',PramStr);
ini.WriteString('Game','Regfile',Regfile);
ini.WriteString('Game','BgImage',BgImage);
ini.WriteString('Game','VD',VD);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -