FPPS4/third_party_gui/frofpp4/unit1.pas

176 lines
3.5 KiB
Plaintext

unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Menus, ExtCtrls,
ComCtrls, Buttons, StdCtrls, ButtonPanel, Grids, Unit2,Unit3, process, INIFiles,
FileUtil;
type
{ TForm1 }
TForm1 = class(TForm)
ImageList1: TImageList;
Panel1: TPanel;
Process1: TProcess;
StatusBar1: TStatusBar;
StringGrid1: TStringGrid;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Page1BeforeShow(ASender: TObject; ANewPage: TPage;
ANewIndex: Integer);
procedure SpeedButton1Click(Sender: TObject);
procedure StringGrid1DblClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure GetAllFiles(Path, ExtMask: String; List: TStrings;SubFolder: Boolean);
procedure ToolButton3Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
emup: String;
gamep: String;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Page1BeforeShow(ASender: TObject; ANewPage: TPage;
ANewIndex: Integer);
begin
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Close();
end;
procedure TForm1.StringGrid1DblClick(Sender: TObject);
var
row : integer;
AProcess: TProcess;
befehl,bf: String;
pfademu: String;
begin
row := StringGrid1.Row;
befehl := emup + '\fpPS4.exe';
//befehl := emup + '\game.bat';
AProcess := TProcess.Create(nil);
pfademu := '-e ' + gamep + '\' + StringGrid1.Cells[0,row] + '\eboot.bin';
bf := befehl + ' ' + pfademu;
chDir(emup);
AProcess.CommandLine := bf;
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AProcess.Free;
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
Form3.Parent := Form1;
Form3.Position:= poMainFormCenter;
Form3.Show;
end;
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
Form2.Parent := Form1;
Form2.Position:= poMainFormCenter;
Form2.Show;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Close();
end;
procedure TForm1.FormCreate(Sender: TObject);
Var
INI : TINIFile;
Dirs : Array[0..127] of pchar;
m,n,l,I,Count : longint;
NewDir,temp,tempo,home : String;
sl,sg : TStringList;
begin
home := GetCurrentDir;
home := home + '\Frofpp4.ini';
INI := TIniFile.Create(home);
sl := TStringList.Create;
sg := TStringList.Create;
emup := INI.ReadString('PFAD', 'path', '');
gamep := INI.ReadString('PFAD', 'path1', '');
try
GetAllFiles(gamep,'*',sl,true);
finally
end;
n := 0;
sg.Sorted:= true;
for I:=0 to sl.Count-1 do begin
NewDir := sl[i];
l := Length(gamep);
temp := Copy(NewDir,l+2,Length(NewDir)-l);
m := Pos('\',temp);
if m <> 0 then
begin
temp := Copy(temp,0,m-1);
sg.Add(temp);
end;
end;
StringGrid1.Clear;
StringGrid1.RowCount:=sg.Count;
for I := 0 to sg.Count - 1 do
StringGrid1.Cells[0, I] := sg[I];
sl.free;
sg.free;
end;
procedure TForm1.GetAllFiles(Path, ExtMask: String; List: TStrings;
SubFolder: Boolean);
var
i: Integer;
begin
with TStringList.Create do
try
CommaText := ExtMask;
for i := 0 to Count - 1 do
FindAllFiles(List, Path, '*' + Strings[i], SubFolder);
finally
Free
end;
end;
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
Close;
end;
end.